LayerMask 层蒙版

layermask允许你在检视面板中显示layermask弹出菜单。

变量说明
value转换层蒙版的值为整数值。
静态方法说明
GetMask无论是内置的层名称集或是由用户在“标签和层管理器”中定义的层,返回与它们相等的层蒙版。
LayerToName给定一个层数,返回内置的或在Tags and Layers中定义的层名称。
NameToLayer给定一个层名称,返回内置的或在Tags and Layers manager中定义的层索引。

示例:

LayerMask.value 值

转换层蒙版的值为整数值。

  1. using UnityEngine;
  2. using System.Collections;
  3. public class ExampleClass : MonoBehaviour {
  4. public LayerMask mask = -1;
  5. void Update() {
  6. if (Physics.Raycast(transform.position, transform.forward, 100, mask.value))
  7. Debug.Log("Hit something");
  8. }
  9. }

LayerMask.GetMask 获取蒙版

public static int GetMask(params**string[]** layerNames);

转换为层蒙版的层名称列表。返回从层名称创建的层蒙版的int值。

无论是内置的层名称集或是由用户在“标签和层管理器”中定义的层,返回与它们相等的层蒙版。

  1. using UnityEngine;
  2. using System.Collections;
  3. public class ExampleClass : MonoBehaviour {
  4. void Example() {
  5. Debug.Log(LayerMask.GetMask("UserLayerA", "UserLayerB"));
  6. }
  7. }

LayerMask.NameToLayer 名称转层

给定一个层名称,返回内置的或在Tags and Layers manager中定义的层索引。

  1. using UnityEngine;
  2. using System.Collections;
  3. public class ExampleClass : MonoBehaviour {
  4. void Example() {
  5. Debug.Log(LayerMask.NameToLayer("TransparentFX"));
  6. }
  7. }

LayerMask 隐式转换

隐式转换整数为层蒙版。

  1. using UnityEngine;
  2. using System.Collections;
  3. public class ExampleClass : MonoBehaviour {
  4. public int i = 0;
  5. public LayerMask la;
  6. void Example() {
  7. la = i;
  8. Debug.Log(LayerMask.LayerToName(la));
  9. }
  10. }