摄像机堆栈由一个基础摄像机 (Base Camera) 和一个或多个叠加摄像机 (Overlay Camera) 构成。在 Unity 编辑器中,您可以根据需要自由添加、移除或调整摄像机顺序来实现特定渲染效果。
本页分为两个部分:
要将摄像机添加到摄像机堆栈,请按照以下步骤操作:
现在,叠加摄像机已成为基础摄像机堆叠的一部分。Unity 会将叠加摄像机的输出渲染在基础摄像机的输出之上。
注意:在创建摄像机堆叠时,请考虑每个摄像机是否必要。每个额外的摄像机都会增加渲染负担,因为即使不渲染任何内容,活动摄像机也会完整地运行渲染循环。
您还可以通过 C# 脚本将摄像机添加到摄像机堆栈中。可使用基础摄像机的 cameraStack Universal Additional Camera Data 组件的相关属性实现,如下所示:
var cameraData = camera.GetUniversalAdditionalCameraData();
cameraData.cameraStack.Add(myOverlayCamera);
要从摄像机堆栈中移除摄像机,请按照以下步骤操作:
被移除的叠加摄像机仍然保留在场景中,但不再是摄像机堆栈的一部分。
您还可以使用 C# 脚本从摄像机堆栈中移除摄像机。可使用基础摄像机的 cameraStack Universal Additional Camera Data 组件的相关属性实现,如下所示:
var cameraData = camera.GetUniversalAdditionalCameraData();
cameraData.cameraStack.Remove(myOverlayCamera);
要在摄像机堆栈中重新排序摄像机,请按照以下步骤操作:
基础摄像机渲染摄像机堆栈的基础层,而堆栈中的叠加摄像机则按照列表中的顺序从上到下渲染在其上方。
您还可以使用 C# 脚本对摄像机堆栈重新排序。可使用基础摄像机的 cameraStack Universal Additional Camera Data 组件的相关属性实现。该 cameraStack 是一个 List,可以按与任何其他 List 相同的方式重新排序。