Version: 2022.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”层级视图分支),则这十分有用。

.

变量

sortAtRootIgnores any parent SortingGroup and sorts this and its descendant Renderers against other Renderers at the root level.
sortingLayerID渲染器排序图层的唯一 ID。
sortingLayerName渲染器排序图层的名称。
sortingOrder排序图层中的渲染器顺序。

静态函数

UpdateAllSortingGroups立即更新所有排序组。

继承的成员

变量

enabled启用的 Behaviour 可更新,禁用的 Behaviour 不可更新。
isActiveAndEnabledReports whether a GameObject and its associated Behaviour is active and enabled.
gameObject此组件附加到的游戏对象。始终将组件附加到游戏对象。
tag此游戏对象的标签。
transform附加到此 GameObject 的 Transform。
hideFlags该对象应该隐藏、随场景一起保存还是由用户修改?
name对象的名称。

公共函数

BroadcastMessage调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。
CompareTagChecks the GameObject's tag against the defined tag.
GetComponentGets a reference to a component of type T on the same GameObject as the component specified.
GetComponentInChildrenGets a reference to a component of type T on the same GameObject as the component specified, or any child of the GameObject.
GetComponentInParentGets a reference to a component of type T on the same GameObject as the component specified, or any parent of the GameObject.
GetComponentsGets references to all components of type T on the same GameObject as the component specified.
GetComponentsInChildrenGets references to all components of type T on the same GameObject as the component specified, and any child of the GameObject.
GetComponentsInParentGets references to all components of type T on the same GameObject as the component specified, and any parent of the GameObject.
SendMessage调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。
TryGetComponent获取指定类型的组件(如果存在)。
GetInstanceIDGets the instance ID of the object.
ToString返回对象的名称。

静态函数

Destroy移除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoad在加载新的 Scene 时,请勿销毁 Object。
FindAnyObjectByTypeRetrieves any active loaded object of Type type.
FindFirstObjectByTypeRetrieves the first active loaded object of Type type.
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsByTypeRetrieves a list of all loaded objects of Type type.
FindObjectsOfTypeGets a list of all loaded objects of Type type.
Instantiate克隆 original 对象并返回克隆对象。

运算符

bool该对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,判断它们是否引用同一个对象。