Version: 2020.3

SortingGroup

class in UnityEngine.Rendering

/

继承自:Behaviour

切换到手册

描述

将 SortingGroup 组件添加到 GameObject 会确保 GameObject 后代中的所有渲染器都一起进行排序和渲染。

使用 SortingGroup 的一个常见用例是创建由多个 SpriteRenderer 组成的复杂 2D 角色。当这种角色的多个克隆发生重叠时,其身体的各部位可能排序有误,导致身体部位发生交叠的视觉错误。例如,两个角色双手的排序顺序可能在其身体之前。对于这种情况,您会期望先绘制一个完整角色,然后再绘制另一个角色。SortingGroup 组件通过确保将角色的整个分支一起进行排序和渲染来解决这一问题。

SortingGroup 的后代使用相同的 SortingLayerRenderer.sortingOrder 进行排序。但是,它们仅针对 SortingGroup 的其他后代进行排序,外部没有任何渲染器。这使您可以重复使用相同的 SortingLayer(例如“Hands”、“Torso”...)对身体部位进行排序,同时确保绝不会与角色的其他克隆发生交叠。

SortingGroup 与其他渲染器一起使用 SortingLayerRenderer.sortingOrder 进行排序。此外,它们可以嵌套在其他 SortingGroup 中。如果您具有不应混合的后代分支(例如“Left Hand”与“Right Hand”层级视图分支),则这十分有用。

.

变量

sortingLayerID渲染器排序图层的唯一 ID。
sortingLayerName渲染器排序图层的名称。
sortingOrder排序图层中的渲染器顺序。

静态函数

UpdateAllSortingGroups立即更新所有排序组。

继承的成员

变量

enabled启用的 Behaviour 可更新,禁用的 Behaviour 不可更新。
isActiveAndEnabled是否已激活并启用 Behaviour?
gameObject此组件附加到的游戏对象。始终将组件附加到游戏对象。
tag此游戏对象的标签。
transform附加到此 GameObject 的 Transform。

公共函数

BroadcastMessage调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。
CompareTag此游戏对象是否使用 tag 进行了标记?
GetComponentReturns the component of Type type if the GameObject has one attached, null if it doesn't. Will also return disabled components.
GetComponentInChildren使用深度首次搜索返回 GameObject 或其任何子项中类型为 type 的组件。
GetComponentInParent返回 GameObject 或其任何父项中类型为 type 的组件。
GetComponents返回 GameObject 中类型为 type 的所有组件。
GetComponentsInChildrenReturns all components of Type type in the GameObject or any of its children. Works recursively.
GetComponentsInParent返回 GameObject 或其任何父项中类型为 type 的所有组件。
SendMessage调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。
TryGetComponent获取指定类型的组件(如果存在)。