一:前言
在项目中有的时候,希望一些游戏对象只能被某些摄像机看到或者只会被某些灯光照亮,就需要用到Unity中Layer层级
Unity用int32来表示32个层:0000 0000 0000 0000 0000 0000 0000 0000,1表示开启,0表示关闭,实际的LayerMask值是通过二进制存储的
二:位运算符
位运算符是对二进制进行运算的运算符
——与运算符:只有两个位都是1,结果才是1
——或运算符:只要两个位有一个是1,结果就是1
——非运算符:如果位为0,结果是1,如果位为1,结果是0
——异或运算符:两个操作数的位中,相同则结果为0,不同则结果为1
——左移运算符<<:左移多少位表示乘以2的几次幂
——右移运算符>>:右移多少位表示除以2的几次幂
使用位运算符的几个小例子:
——判断一个数是否为偶数:if (0 == (a & 1))
——判断一个数是否为奇数:if (1 == (a & 1))
——不使用临时变量,交换两个数a=1,b=2; a=a^b; b=a^b; a=a^b;