官方文档
概念
LayerMask是位掩码:指定要在Physics.Raycast中使用的层
Unity中最多可设置32个层,其中前8层已被Unity占用,用户可以使用其余的24层
位掩码的32位各自表示自己所代表的层是否要被使用(真或假)
位掩码可以转为对应的int值
可以通过一组层名获取对应的位掩码,可以根据层序数获取对应层名,也可以根据层名获取对应的层序数
位掩码
位掩码(BitMask):一串二进制数字,每一位表示一个状态。
通过与目标数字按位操作,达到屏蔽指定位的需求
使用位掩码可以减少内存使用
常用操作
非(~)、与(&)、或(|)、异或(^)、移位(<<和>>)
例子
- a&~b:清除标志位b
- a|b:添加标志位b
- a&b:取出标志位b
- a^b(异或):取出a中与b不同的部分