visionOS 排序组
VisionOS Sorting Group 组件提供了一种使用visionOS 平台的本机排序组功能的方法。通过将渲染器放置在排序组中,可以对首先绘制的渲染进行细粒度控制。虽然2D组件(如SpriteRenderers和CanvasRenderers)有自己的排序机制,但在某些情况下,它可能有助于覆盖它们的排序,或者对非2D渲染器(如“MeshRenderers”)进行排序。
visionOS排序组**也可以用来对visionOS上的输入进行排序,就像对渲染器进行排序一样。具有碰撞体的GameObject可以使用排序组重新排列 - 具有较高阶的碰撞体将捕获输入并阻止任何较低阶的碰撞体接收输入。请注意,这些碰撞体的物理特性不会改变 - 排序组仅影响碰撞体的输入分辨率。
“VisionOSSortingGroup”中包含的任何2D渲染器都将覆盖其默认(Sprite/画布)排序。每个渲染器一次只能属于一个排序组,后续尝试将渲染器添加到另一个排序组将发出警告。
要创建排序组,请将VisionOS Sorting Group组件添加到场景中的GameObject中。每个GameObject只能添加一个VisionOS Sorting Group组件。您应该避免经常更改组件属性 - 更改这些属性可能是一项昂贵的操作,尤其是在启用Apply To Descendants选项后。
排序组不会影响呈现器与组外对象的排序方式。它们只影响组内对象的相对排序方式。
“VisionOSSortingGroup”组件公开以下属性:
Property | Description |
---|---|
DepthPass | 控制相对于颜色绘制深度的时间。 |
Renderers | 引用要排序的渲染器和排序顺序的结构列表。 |
每个渲染器结构体都包含以下属性。
Property | Description |
---|---|
Order | 该渲染器相对于组中其他渲染器的绘制顺序。 |
Renderer | 对渲染器的GameObject的引用。 |
ApplyToDescendants | 如果为 true,排序顺序将应用于所有子渲染器。重要的是,如果“ApplyToDescendants”为 true,要小心嵌套的排序组-任何后续尝试添加已经是不同排序组成员的渲染器将被忽略,并将显示警告。 |