Camera Cullmask Setting

功能 :
我们可以通过脚本对相机层级进行控制,然后进行针对显示(可以用做多个物体的自由选择显示等)
脚本方面:
说明:层级索引是int类型的,我们可以通过int32对layer层级进行访问和调用
**

具体脚本如下:
1.用于只渲染某一层
_camera.cullingMask = 1<<8; //cube 只渲染第八层
_camera.cullingMask = 1<<9; //sphere 只渲染第九层
_camera.cullingMask = 1<<10; //capsule 只渲染第十层
只渲染第8、9、10层
_camera.cullingMask = (1 << 10) + (1<<9) +(1<<8);

2.渲染所有层
_camera.cullingMask = -1; //对应 everything

3.任何层都不渲染
_camera.cullingMask = 0; //对应 nothing

4.在原来基础添加某一层
_camera.cullingMask |= (1 << 10); //在原来的基础上增加第10层

5.在原来基础减去某一层
_camera.cullingMask &= ~(1 << 10); //在原来的基础上减掉第10层
6.渲染除了某一层外的所有层
_camera.cullingMask = ~(1 << 10); //渲染除第10层之外的其他所有层
**

代码注意事项:
**camera.cullingMask = 1 << 0+1 << 9; 错误的
camera.cullingMask = (1 << 0)+(1 << 9);正确的

注:一定记得加括号,否则无效果

延伸:可以通过层名去打开对应的层:
camera.cullingMask = (1 << 0) + (1 << LayerMask.NameToLayer(“T”));
同理如上······操作跟上面一样

留下评论

邮箱地址不会被公开。 必填项已用*标注