摄像机堆栈包含一个基础 摄像机一个组件,用于创建场景中特定视点的图像。输出要么绘制到屏幕上,要么捕获为纹理。 更多信息
参见 术语表,以及在其上叠加的一个或多个覆盖摄像机。在编辑器中,您可以根据需要添加、移除和重新排序这些摄像机以获得所需的效果。
此页面分为以下部分
要向摄像机堆栈添加摄像机,请执行以下步骤
覆盖摄像机现在是基础摄像机摄像机堆栈的一部分。Unity 将覆盖摄像机的输出渲染在基础摄像机的输出之上。
注意:当您为摄像机堆栈创建多个摄像机时,请考虑所有摄像机是否都必要。您添加的每个摄像机都会使渲染速度变慢,因为即使摄像机不渲染任何内容,活动摄像机也会运行整个渲染循环。
您还可以使用 C# 脚本向摄像机堆栈添加摄像机。使用基础摄像机的 通用附加摄像机数据 组件的 cameraStack
属性,如下所示
var cameraData = camera.GetUniversalAdditionalCameraData();
cameraData.cameraStack.Add(myOverlayCamera);
要从摄像机堆栈中移除摄像机,请执行以下步骤
覆盖摄像机保留在场景中,但不再是摄像机堆栈的一部分。
您还可以使用 C# 脚本从摄像机堆栈中移除摄像机。使用基础摄像机的 通用附加摄像机数据 组件的 cameraStack
属性,如下所示
var cameraData = camera.GetUniversalAdditionalCameraData();
cameraData.cameraStack.Remove(myOverlayCamera);
要重新排序摄像机堆栈中的摄像机,请执行以下步骤
基础摄像机渲染摄像机堆栈的基础层,堆栈中的覆盖摄像机按其列出的顺序从上到下渲染在此之上。
您还可以使用 C# 脚本重新排序摄像机堆栈。使用基础摄像机的 通用附加摄像机数据 组件的 cameraStack
属性。cameraStack
是一个 List
,可以像任何其他 List
一样重新排序。