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
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
相关文章推荐
- 利用layer的mask属性实现逐渐揭示的动画效果,layermask
- LayerMask使用
- Unity中LayerMask的学习手记
- 浅谈Unity3D中Layers和LayerMask
- Unity3D射线检测如何使用Layers和LayerMask
- Unity Layers 射线检测
- Unity3D Raycast, LayerMask的设置
- Unity3D LayerMask 的使用
- LayerMask,Camera.cullingMask
- Physics2D.Linecast中的参数layerMask
- Unity3D 射线指定层获取GameObject 注意 LayerMask
- LayerMask的使用
- [Unity]Ray射线物理检测碰撞和LayerMask的使用
- IOS-DEMO6 LayerMask
- 射线检测与LayerMask
- Unity3D 射线指定层获取GameObject 注意 LayerMask
- 危险的类型转换——LayerMask无效的原因
- Camera的LayerMask
- unity的layerMask学习
- Unity Physics.Raycast的参数layermask不起作用