1.首先先了解一下摄像机的Depth 深度渲染,深度值越低 越先渲染,深度值高 后渲染,所以一般UICamera的Depth大于3D摄像机
Culling Mask :主要是相机针对不同层级的物体进行渲染的操作(想让相机渲染哪个层就勾选哪个层)
显示层级如下:
可以通过脚本对相机层级进行控制,然后进行针对显示 (可以用做多个物体的自由选择显示等)
层级索引是int类型的,我们可以通过int32对layer层级进行访问和调用
具体写法如下
用于只渲染某一层
_camera.cullingMask=1<<8; //只渲染第八层
_camera.cullingMask=1<<9; //只渲染第九层
_camera.cullingMask=1<<10;//只渲染第十层
只渲染第8、9、10层
_camera.cullingMask=(1<<10)+(1<<9)+(1<<8);
渲染所有层
_camera.cullingMask=-1; //对应everything
任何层都不渲染
_camera.cullingMask=0;//对应nothing
在原来基础上添加某一层
_camera.cullingMask |=(1<<10); //在原来的基础上增加第10层
在原来基础上减去某一层
_camera。cullingMask &=~(1<<10); //在原来的基础上减掉第10层
渲染除了某一层外的所以层
_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"));