このページでは、シリアライズされた layerMask プロパティを使用する API 呼び出しで使用できるように、レイヤーマスクを正しくを設定する方法を説明します。
Unity エディターでレイヤーマスクを設定する最も簡単な方法は、Unity の LayerMask クラスを使用するプロパティを作成することです。プロパティが public
である場合や SerializeField 属性を使用している場合は、Inspector にインターフェースが提供され、それを使用して、レイヤーマスクが表すレイヤーを選択することができます。
using UnityEngine;
public class LayerMaskExample : MonoBehaviour
{
[SerializeField] private LayerMask layermask;
}
ランタイムにスクリプトでレイヤーをレイヤーマスクに変換したい場合は、 2 項左シフト演算子 を使用して、レイヤーごとに 1
を左シフトしてください。その結果、単一のレイヤーを表すレイヤーマスクができあがります。
using UnityEngine;
public class LayerExample : MonoBehaviour
{
[SerializeField] private int layer = 10;
private int layerAsLayerMask;
private void Start()
{
layerAsLayerMask = (1 << layer);
}
}