包含此页的版本:
不含此页的版本:
本页介绍通用渲染管线(Render Pipeline) 获取场景内容并将其显示在屏幕上的一系列作。Unity 允许您从预构建的渲染管道中进行选择,或编写自己的渲染管道。更多信息
请参阅术语表(URP)相机在场景中创建特定视点图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。更多信息
请参阅术语表执行以下作:
在通用渲染管线(URP)中,摄像机清除行为取决于摄像机的渲染类型。
在其渲染循环开始时,具有 基础渲染类型(Base Render Type) 的摄像机可以将其颜色缓冲区清除为天空盒(Skybox) 一种特殊类型的材质,用于表示天空。通常是六面的。更多信息
请参阅术语表,将其颜色缓冲区清除为纯色,或使用未初始化的颜色缓冲区。当“渲染类型”设定为“基础”时,你可以使用摄像机检查器中的“背景类型”属性来定义此行为。
请注意,未初始化的颜色缓冲区的内容因平台而异。在某些平台上,单元化颜色缓冲区将包含来自前一帧的数据。在其他平台上,单元化颜色缓冲区将包含未初始化的内存。仅当摄像机绘制到每个像素计算机图像中的最小单位。像素大小取决于您的屏幕分辨率。像素光照是在每个屏幕像素下计算的。更多信息
请参阅术语表,并且您不希望产生不必要的清除作的成本。
基础相机始终清除其深度缓冲区 保存图像中每个像素的 z 值深度的内存存储,其中 z 值是投影平面中每个呈现像素的深度。更多信息
请参阅术语表在每个渲染循环的开始时。
在其渲染循环开始时,叠加摄像机会接收一个颜色缓冲区,其中包含来自摄像机堆栈中先前摄像机的颜色数据。它不会清除颜色缓冲区的内容。
在其渲染循环开始时,叠加摄像机会接收一个深度缓冲区,其中包含来自摄像机堆栈中先前摄像机的深度数据。当“渲染类型”设定为“叠加”时,你可以使用摄像机检查器中的“清除深度”属性来定义此行为。
当 清除深度(Clear Depth) 设置为 true 时,叠加摄像机将清除深度缓冲区,并将其视图绘制到任何现有颜色数据之上的颜色缓冲区。当 清除深度(Clear Depth) 设置为 false 时,叠加摄像机(Overlay Camera) 会先测试深度缓冲区,然后再将其视图绘制到颜色缓冲区。
如果您的 URP场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,您可以放置环境、障碍物和装饰,实质上是分批设计和构建游戏。更多信息
请参阅术语表包含多个摄像机时,Unity 会以可预测的顺序执行其剔除和渲染作。
Unity 每帧执行一次以下作:
Unity 可以在一帧内多次渲染叠加摄像机的视图 - 因为叠加摄像机出现在多个摄像机堆栈中,或者因为叠加摄像机多次出现在同一个摄像机堆栈中。发生这种情况时,Unity 不会重用剔除或渲染作的任何元素。按照上述详细顺序完整重复这些作。
注意:在此版本的 URP 中,仅在使用通用渲染器时才支持 叠加摄像机(Overlay Cameras) 和摄像机堆叠(Camera Stacking)。如果使用 2D 渲染器,覆盖摄像机将不会执行其渲染循环的任何部分。
URP 在摄像机中执行多项优化,包括渲染顺序优化以减少过度绘制。但是,使用摄像机堆栈时,可以有效地定义这些摄像机的渲染顺序。因此,您必须小心不要以导致过度过度绘制的方式对摄像机进行排序。
当相机堆栈中的多个相机渲染到同一渲染目标时,Unity 会为相机堆栈中的每个相机绘制渲染目标中的每个像素。此外,如果多个基础相机或相机堆栈渲染到同一渲染目标的同一区域,则 Unity 会根据每个基础相机或相机堆栈的要求再次绘制重叠区域中的任何像素。
您可以使用 Unity 的帧调试器或特定于平台的帧捕获和调试工具来了解场景中发生过度绘制的位置。然后,你可以相应地优化摄像机堆栈。