Version: Unity 6.0 (6000.0)
语言 : 中文
Troubleshooting occlusion culling
使用物理摄像机模拟现实世界的摄像机

内置渲染管线中的渲染队列和排序行为

在内置渲染管线中,Unity 渲染对象的顺序基于两个方面:对象位于哪个渲染队列中,以及 Unity 如何对该渲染队列中的对象进行排序。

渲染队列

Unity 会将对象分组,该组称为渲染队列。Unity 先渲染一个渲染队列的内容,然后渲染另一个渲染队列的内容,以此类推。

Unity 具有命名如下的渲染队列,并按以下顺序渲染:

名称 索引 描述
Background 1000。 此队列用于应在场景背景中绘制的任何对象。
Geometry 2000 此队列用于不透明几何体。此队列是默认队列。
AlphaTest 2450 此队列用于 Alpha 测试的几何体。此队列位于 Geometry 队列之后,因为在绘制完所有实体对象之后再渲染经过 Alpha 测试的对象会更有效。
Transparent 3000 此队列用于任何 Alpha 混合(不写入深度缓冲区的着色器)。示例包括玻璃或粒子效果。
Overlay 4000 此队列用于可渲染在其他所有内容之上的效果(例如镜头光晕)。

请注意,天空盒材质是一种特殊情况。Unity 会在所有不透明几何体之后(队列索引 2500 之后)但在所有透明几何体之前(队列索引 2501 之前)绘制天空盒材质。

渲染队列中的排序行为

在每个渲染队列中,Unity 根据对象与摄像机的距离对其进行排序和绘制。排序行为取决于渲染队列的索引:

  • 对于索引不超过 2500(几何体 + 500)的队列,Unity 默认使用 OpaqueSortMode.FrontToBack 中定义的行为对这些队列中的渲染器进行排序。
  • 对于索引为 2501 或以上的队列,Unity 默认使用 TransparencySortMode.Default 中定义的行为对这些队列中的渲染器进行排序。
Troubleshooting occlusion culling
使用物理摄像机模拟现实世界的摄像机