Unity3d Camera的Clear Flags、Culling Mask和Depth三个属性的理解

xiaoxiao2021-02-28  140

先说说 Clear Flags:

Skybox:把颜色缓冲设置为天空盒,并完全清空深度缓冲 Solid:和天空盒一样,只是把颜色缓冲设置为纯色 Depth only:这个选项会保留颜色缓冲,但会清空深度缓冲 Don’t Clear:不清除任何缓冲 这个给我的感觉就是,空(没有物体)的部分用什么来填充,如果是Skybox,就用天空盒填充,如果是Solid,就用纯色填充,如果是Depth only取决于其他相机的深度,未渲染部分显示什么由深度小于本摄像机的内容来决定。 下面放几张图片作为例子:

我们通过看Scene的右下角的Camera Preview来看相机拍摄的场景。

Skybox: Solid: 改变下Solid的背景颜色,发现Camera Preview背景颜色变了: Depth Only: 这是Main Camera的属性,Depth为-1。 这是Camera属性,Depth为0,Clear Flags为Depth only: 运行,发现,Camera物体以外的地方全部是Main Camera所拍摄的。 取消Main Camera,发现只剩下Camera能拍摄到的东西。

关于Culling Mask

Culling Mask是按层(即GameObject.layer)选择性的渲染部分场景。 当我们Culling Mask是Everything的时候,Scene右下角的Camera Preview会把背景也显示。 但当我们把Culling Mask设置为只显示UI层的时候,背景这时候就不会显示在此Camera中了。

关于Depth

Depth决定相机在渲染顺序上的深度,具有较低深度的相机将在较高深度的相机之前渲染。 而如果把Main Camera的Depth设置为2(大于等于Camera的Depth):可以发现,运行后只能看到Main Camera拍摄的东西。

转载请注明原文地址: https://www.6miu.com/read-49028.html

最新回复(0)