GameObject.layer
Declaration
public int layer;Описание
Целое число, идентифицирующее слой, которому назначен GameObject.
Это стандартное целое число, которое идентифицирует слой, а не LayerMask. Вы можете использовать слои для выборочного рендеринга с камер или для игнорирования Raycasts. Unity генерирует 32 слоя, идентифицируемых стандартными целыми числами от 0 до 31, и резервирует некоторые слои для своих собственных систем. См. Создание функциональных слоев в Unity для списка предопределенных слоев и как создать свои собственные новые слои.
Чтобы конвертировать этот идентификатор layer в LayerMask, см. Установить layerMask. Чтобы получить string имя слоя из этого идентификатора layer, используйте LayerMask.LayerToName. См. Слои в Руководстве для полного руководства по использованию слоев.
// Put the GameObject in the ignore raycast layer (2)
using UnityEngine;
[ExecuteInEditMode] public class ExampleClass : MonoBehaviour { void Awake() { //gameObject.layer uses only integers, but we can turn a layer name into a layer integer using LayerMask.NameToLayer() int LayerIgnoreRaycast = LayerMask.NameToLayer("Ignore Raycast"); gameObject.layer = LayerIgnoreRaycast; Debug.Log("Current layer: " + gameObject.layer); } }
Дополнительные ресурсы: LayerMask