Установить layerMask
На этой странице объясняется, как правильно настроить layerMask, чтобы использовать его в вызовах API, которые используют серийное свойство layerMask.
Использовать серийное свойство layerMask
Самый простой способ установить маску слоя в Unity Editor это создать свойство, которое использует свойства Unity LayerMask класс. Если свойство public или использует SerializeField атрибут, Unity показывает в Inspector интерфейс, в котором можно выбрать, какие слои представляет эта маска слоёв.
using UnityEngine;
public class LayerMaskExample : MonoBehaviour
{
[SerializeField] private LayerMask layermask;
}
Преобразование из слоя
Если вы хотите преобразовать слой в маску слоя в скрипте во время выполнения, используйте бинарный оператор левостороннего смещения на левый сдвиг 1 по слою. Результатом является маска слоя, которая представляет один слой.
using UnityEngine;
public class LayerExample : MonoBehaviour
{
[SerializeField] private int layer = 10;
private int layerAsLayerMask;
private void Start()
{
layerAsLayerMask = (1 << layer);
}
}