如果我理解正确,您有两个相机:
MainCamera
:用于显示3D内容ScreenSpaceCamera
:只用于显示屏幕空间中的“平面”。而您想要的是:始终将3D内容显示在屏幕空间内容的顶部,对吗?
那么您可以创建一个特殊的图层,例如ScreenSpace
,然后:
MainCamera
-> Camera
:Depth
= 0
(数值越高表示绘制在顶部)ClearFlags
= DepthOnly
CullingMask
= 除了ScreenSpace
之外的所有内容ScreenSpaceCamera
-> Camera
:Depth
= -1(这样它就会在深度级别0后面绘制)ClearFlags
= Nothing(或任何您喜欢的选项)CullingMask
= 仅ScreenSpace
现在,您可以看到3D内容(红色图像)始终绘制在屏幕空间(白色)的上方。
注意:如果您想要能够切换Screenspace
的开和关,您需要添加另一个相机来清除图像!如您所见,该相机的缓冲区没有“清除”(因为我们告诉它不要这样做)。
因此,如果您禁用了Screenspace
,您将得到预览框中所看到的内容!-> 不好^^
我建议只需添加第三个相机,例如BackgroundCamera
,并将其作为MainCamera
的子级(因此它会自动正确移动),然后将其设置为:
Depth
= -2 (位于 ScreenSpace
后面)ClearFlags
= 例如 SkyBox
CullingMask
= Nothing(这样就只在此处渲染背景)如果你有更复杂的需求,例如:
ScreenSpace
(深度为 -1)ScreenSpaceCamera
渲染。因此,如果你停用模糊画布,它们将正常显示,否则将被模糊。那么可以使用 4 个摄像机、不同的深度和层来扩展示例。