关于Unity3d代码控制相机的cullingmask

来源:互联网 发布:java中的instanceof 编辑:程序博客网 时间:2024/05/17 02:42
1.关于Camera.cullingMask:This is used to render parts of the scene selectively.,先码下专业翻译:有选择性的渲染部分场景。即通过勾选不同的层,来选择渲染
2.代码中cullingMask为一个Int类型的值,32位,怎么在代码中改变它的值,达到控制相机选择渲染的效果,就是我下面说的
3.开始网上搜索了下,都是粗略的解释,如:开启第一层,cullingMask = 1<<2。
4.解释下:1<<index,1的二进制是00000000 00000001,1<<index就是左移index位,如1<<2,就是00000000 00000100
5.下面开始详细说cullingMask,当相机什么都不渲染时,cullingMask等于0,即32个0,当相机渲染everything时,cullingMask为-1,即32个1;


现在,相机渲染了很多的层,需要去掉某一个层layer1。或者添加某个层layer2
代码:


这样就可以 了
还是多码几个字吧,经验多。就说相机渲染everything时,去掉第五层就是
11111111 11101111 & (~00000000 00100000) => 11111111 11011111 & 00000000 00100000 => 11111111 11111111
然后再添加第五层就是
11111111 11111111 | 00000000 00100000 => 11111111 11011111 
到此为止,不知道能不能被看懂,不懂就记住那两行代码吧。这是今天工作中吸收的新知识,分享给大家了。。。
0 0
原创粉丝点击