ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

LayerMask的使用规范

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不需要这样做。

返回列表