【问题标题】:How can i draw an object before its parent object?如何在其父对象之前绘制对象?
【发布时间】:2019-08-30 22:47:09
【问题描述】:

如何在 Unity 2D 中更改对象的排序层?就像强制一个对象被渲染在另一个对象之上(或之下),即使它是另一个对象的子对象。

我正在制作一个简单的 2D 人形动画,直观地说,我使用躯干作为根对象,手臂和腿是它的子对象。但结果是我的左臂是在躯干之后渲染的,所以看起来我的角色有两条右臂。

我尝试更改手臂的 Z 值,将图层从 UI 更改为其他图层,并尝试更改 Canvas 中的一些设置。但都没有奏效。

我正在使用 RawImage 来渲染我的角色,这会是问题吗?

【问题讨论】:

    标签: unity3d 2d rendering


    【解决方案1】:

    您是否尝试过使用排序层? Unity 允许为 2d 精灵定义排序层。您可以在精灵渲染器组件中选择一个排序层, 您可以在以下位置创建和订购它们:在“标签和图层”下

    您还可以通过更改 sprite 渲染器组件中的“order in layer”值来对同一层上的 sprite 进行排序。

    【讨论】:

    • 我明白了,我相信这就是问题所在。我正在使用 UI 中的 rawimage,所以我没有精灵渲染器组件,也没有排序层。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多