API:Layers

From Kerbal Space Program Wiki
Revision as of 22:26, 3 February 2015 by Pizzaoverhead (talk | contribs) (Added info on game objects.)
Jump to: navigation, search

Layers are used to allow cameras and lights to act only on certain parts of the scene, or to have collisions or ray casts ignore certain objects. See the Unity Layers page for more details.

Layers in KSP

There are 32 layers available. Layers 0 to 7 are reserved by Unity.

  • 0: Default (Unity built-in)
  • 1: TransparentFX (Unity built-in)
  • 2: Ignore Raycast (Unity built-in)
  • 3:
  • 4: Water (Unity built-in)
  • 5: UI (Unity built-in)
  • 6:
  • 7:
  • 8: PartsList_Icons
  • 9: Atmosphere
  • 10: Scaled Scenery
  • 11: UI_Culled
  • 12: UI_Main
  • 13: UI_Mask
  • 14: Screens
  • 15: Local Scenery
  • 16: kerbals
  • 17: Editor_UI
  • 18: SkySphere
  • 19: Disconnected Parts
  • 20: Internal Space
  • 21: Part Triggers
  • 22: KerbalInstructors
  • 23: ScaledSpaceSun
  • 24: MapFX
  • 25: EzGUI_UI
  • 26: WheelCollidersIgnore
  • 27: WheelColliders
  • 28: TerrainColliders
  • 29:
  • 30:
  • 31: Vectors

Common Camera Configurations

External views

Used for EVA or flight, without any GUI elements (layers 0, 4, 9, 10, 15 18 and 23 enabled, all others disabled).

myExternalCamera.cullingMask = (1 << 0) | (1 << 4) | (1 << 9) | (1 << 10) | (1 << 15) | (1 << 18) | (1 << 23);

This sets the culling mask to 100001001000011000010001, or 8,685,073 in decimal. The culling mask can also be set in decimal:

myExternalCamera.cullingMask = 8685073;


IVA

Used for IVA views which can also see outside.

myInternalCamera.cullingMask = (1 << 0) | (1 << 4) | (1 << 9) | (1 << 10) | (1 << 15) | (1 << 16) | (1 << 18) | (1 << 20) | (1 << 23);


Game Objects

Game Objects can only have one layer. This layer is referred to numerically rather than in mask form. For example, to set an object to use the Local Scenery layer:

myGameObject.layer = 15;

Objects are visible in game when on layers 0 (Default), 15 (Local Scenery) and 19 (Disconnected Parts), and can also be visible on the camera plane on layers 12 (UI_Main) and 13 (UI_Mask). Only layer 0 displays mach and re-entry effects, so placing an object on layer 15 will disable these effects for that object.