本页介绍如何正确设置层级遮罩,以便您可以在使用序列化层级遮罩属性的 API 调用中使用它。
在 Unity 编辑器中设置层级遮罩的最简单方法是创建一个使用 Unity 的 LayerMask 类的属性。如果该属性是 public
或使用 SerializeField 属性,Unity 在 检视面板一个 Unity 窗口,显示有关当前选定游戏对象、资源或项目设置的信息,允许您检查和编辑值。 更多信息
请参阅 术语表 中提供了一个界面,您可以使用它来选择层级遮罩代表的层级。
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);
}
}