Version: 2017.1

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排序图层中的渲染器顺序。

继承的成员

变量

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

公共函数

BroadcastMessage调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。
CompareTag此游戏对象是否使用 tag 进行了标记?
GetComponent如果游戏对象附加了类型为 type 的组件,则将其返回,否则返回 null。
GetComponentInChildren使用深度首次搜索返回 GameObject 或其任何子项中类型为 type 的组件。
GetComponentInParent返回 GameObject 或其任何父项中类型为 type 的组件。
GetComponents返回 GameObject 中类型为 type 的所有组件。
GetComponentsInChildren返回 GameObject 或其任何子项中类型为 type 的所有组件。
GetComponentsInParent返回 GameObject 或其任何父项中类型为 type 的所有组件。
SendMessage调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。
GetInstanceID返回对象的实例 ID。
ToStringReturns the name of the game object.

静态函数

Destroy删除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoad加载新场景时,不自动销毁对象 /target/。
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfType返回所有类型为 type 的已加载的激活对象的列表。
Instantiate克隆 original 对象并返回克隆对象。

运算符

bool该对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,判断它们是否引用同一个对象。
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961