您的位置:首页 > 移动开发 > Unity3D

Unity Layers 与 LayerMask

2016-12-04 22:33 218 查看
说明:

Unity用32位二进制数表示32个层(00000000....),哪一位上是1,则表示该位置上有层的定义

在Unity中每个GameObject都有Layer属性,默认的Layer都是Default,在Unity中可编辑的Layer共有24个(8—31层),官方已使用的是0—7层,默认不可编辑

LayerMask mask = 1 << 你需要开启的Layers层

LayerMask mask = 0 << 你需要关闭的Layers层

在 Unity 中的使用举例:

1 << LayerMask.NameToLayer("Enemies") 表示开启 Enemies Layer

~(1 << LayerMask.NameToLayer("Enemies")) 表示关闭 Enemies Layer

LayerMask mask = Physics2D.AllLayers 表示开启全部层

LayerMask mask = 1 << 2 表示开启 Layer2

LayerMask mask = ~(1 << 5) 表示关闭 Layer5

LayerMask mask = 1 << 2 | 1 << 8 表示开启 Layer2 和 Layer8

LayerMask mask = ~(1 << 3 | 1 << 7) 表示关闭 Layer3 和 Layer7
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: