首页 > 技术文章 > LayerMask小结

dabiaoge 2018-05-02 14:47 原文

layerMask参数:

Raycast (ray : Ray, out hitInfo : RaycastHit, distance : float = Mathf.Infinity, layerMask : int = kDefaultRaycastLayers)

 

int layer = LayerMask.NameToLayer("Ground"); //假设=10

LayerMask.GetMask(("Ground"); //相当于 1 << 10

其实很简单:

1 << 10 打开第10的层。 等价于【1 << LayerMask.NameToLayer("Ground");】  也等价于【 LayerMask.GetMask(("Ground");】

~(1 << 10) 打开除了第10之外的层。

~(1 << 0) 打开所有的层。

(1 << 10) | (1 << 8) 打开第10和第8的层。等价于【 LayerMask.GetMask(("Ground", "Wall");】

推荐阅读