Unity根据其类型和用途按优先级对渲染器进行排序。您可以通过渲染器的渲染队列指定渲染器的渲染顺序。通常情况下,有两个主要队列:不透明队列和透明队列。2D渲染器主要位于透明队列中,包括Sprite Renderer一个组件,允许您将图像显示为精灵以在2D和3D场景中使用。 更多信息
在词汇表中查看、Tilemap Renderer和Sprite Shape Renderer类型。
透明队列中的2D渲染器通常遵循以下优先级顺序
还有其他因素可能导致排序顺序与常规优先级顺序不同。这些因素因项目而异。
排序层和在层中的顺序(在渲染器的“属性”设置中)(通过检查器一个Unity窗口,用于显示当前所选的GameObject、资产或项目设置的信息,允许您检查和编辑值。 更多信息
在词汇表中查看窗口或通过Unity Scripting API可用的所有2D渲染器。将渲染器设置为现有的< strong>排序层 strong>或创建一个新的,以确定其在渲染队列中的优先级。更改< strong>层中的顺序 strong>值以设置在同一< strong>排序层 strong>中的其他渲染器之间的优先级。
您可以在渲染器的材质设置或材质的着色器在GPU上运行的程序。 更多信息
在词汇表中查看设置中指定渲染队列类型。这对于对不同材质使用的渲染器进行分组和排序很有用。有关详细信息,请参阅ShaderLab:子着色器标签文档。
摄像机组件根据其< strong>投影 设置对渲染器进行排序。有两种选项: 透视 strong>和< strong>正交 strong>。
在此模式下,渲染器的排序距离是渲染器与摄像机位置的直接距离。
渲染器的排序距离是渲染器位置与摄像机方向之间的距离。对于默认的2D设置,这是沿着(0,0,1)轴。
当您将相机组件设置为
透视或
正交时,Unity会自动将相机的透明度排序模式设置为所选模式。您可以通过两种方式手动设置透明度排序模式
项目设置一系列设置,允许您配置项目中物理、音频、网络、图形、输入和其他许多区域的操作。更多信息
在词汇表中查看并转到
图形,然后在
相机设置下使用透明度排序模式
相机
透明度排序模式设置在
项目设置中的
图形类别下(主菜单:编辑 > 项目设置 > 图形)。当设置为
默认时,相机的投影设置具有优先权。当设置为除
默认以外的选项时,相机的投影设置保持不变,但相机的
透明度排序模式将更改为该选项。
项目设置和通过脚本API提供的其他选项是自定义轴排序模式。
选择此模式可按您在项目设置(主菜单:编辑 > 项目设置 > 图形 > 透明度排序轴)中设置的自定义轴上渲染器的距离对其进行排序。此模式常用于需要正确在等距瓦片图上排序和渲染瓦片精灵的项目。有关更多信息,请参阅创建等距瓦片图。
注意:如果您的项目是2D通用
渲染管道一系列操作,将场景内容显示在屏幕上。Unity允许您选择预构建的渲染管道,或编写自己的。更多信息
在词汇表中查看(URP)项目,则
透明度排序模式不在
项目设置中可用,而是在2D渲染器资产属性中进行配置。有关更多信息,请参阅配置2D渲染器资产文档。
默认情况下,一个
精灵一个二维图形对象。如果您习惯于3D工作,那么精灵本质上只是标准纹理,但在开发过程中,精灵纹理有专门的技术进行组合和管理,以提高效率和便捷性。更多信息
在词汇表中查看的
其
中心,Unity会测量相机变换位置与精灵中心之间的距离来确定它们的排序顺序。另一个选择是将精灵的
排序点
设置为锚点在全局空间中的位置。在精灵的
精灵渲染器属性设置中选择
锚点
选项,并在精灵编辑器中编辑精灵的锚点位置。
排序组是一种组件,用于将共享共同根的渲染器分组在一起进行排序。同一排序组中的所有渲染器具有相同的
排序图层、图层中的顺序、以及
到相机距离。有关更多详细信息,请参阅有关排序组组件及其设置的文档。
Unity将材质设置相同的Renderer进行组合,以获得更高效的渲染性能,例如使用动态批处理Unity自动处理过程,尝试将多个网格渲染成单个网格以提高图形性能。该技术在CPU上转换所有GameObject顶点并将许多相似顶点组合在一起。更多信息
查看在术语表。
当多个Renderer具有相同的排序优先级时,决战者是由Unity将Renderer放置在渲染队列中的顺序。因为这是一个无法控制的内部过程,所以您应该使用排序选项(如排序层和排序组)确保所有Renderer具有不同的排序优先级。