LayerMask小结


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");】


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM