LayerMask的使用规范

 

LayerMask:

在射线检测的时候,

1、使用LayerMask.NameToLayer赋予层级参数:

Physics.Raycast(ray, out hit, Mathf.Infinity, (1 << LayerMask.NameToLayer("Test1")) | (1 << LayerMask.NameToLayer("Test2")) | (1 << LayerMask.NameToLayer("Test3")) | 1 << LayerMask.NameToLayer("Test4"))

2、使用LayerMask.GetMask赋予层级参数:

int layerMask1 = LayerMask.GetMask("Test1");
int layerMask2 = LayerMask.GetMask("Test2");

RaycastHit[] hitInfo = Physics.RaycastAll(this.transform.position, v3, 10f, layerMask1 | layerMask2);

 

区别就是NameToLayer需要手动做位移运算,而GetMask不需要这样做。

posted @ 2025-09-13 13:24  威少小二orz  阅读(10)  评论(0)    收藏  举报