• LayerMask 层蒙版
    • 示例:
      • LayerMask.value 值
      • LayerMask.GetMask 获取蒙版
      • LayerMask.NameToLayer 名称转层
      • LayerMask 隐式转换

    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. }