我不能在 Unity 中的游戏对象前面有 UI 元素

Posted

技术标签:

【中文标题】我不能在 Unity 中的游戏对象前面有 UI 元素【英文标题】:I can't have an UI element ahead a game object in Unity 【发布时间】:2019-01-26 02:12:25 【问题描述】:

我的问题是我不知道为什么我不能在一个对象前面有一个 UI 元素而在它后面有其他 UI 元素... 我不知道如何正确解释我的问题,所以我将使用一些屏幕截图来解释它:

我想在“healthEnemy”对象前面加上“新文本”文本,如果我只是编辑 z 轴,它似乎可以工作:

问题是现在,每个 UI 元素都在我的对象之前:

有没有办法在游戏对象前面只放置一个 UI 元素?

我的画布设置:

【问题讨论】:

【参考方案1】:

如果你完全使用画布来制作这些元素,你可以简单地创建 3 个画布:

一个用于后面的元素,一个用于中间元素,一个用于前面的元素。 然后您可以在画布组件中调整“Order in Layer”参数来调整它们的顺序(例如背景画布将在 0 ,中间在 5 ,前面在 10) 然后您可以根据您希望它在图层中的顺序简单地添加 UI 元素。

编码愉快!

(P.S:如果您不愿意与画布交互(例如单击),请不要忘记取消选中画布中的“Graphic Raycaster”组件)

【讨论】:

非常感谢!没想到这么简单

以上是关于我不能在 Unity 中的游戏对象前面有 UI 元素的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D与23种设计模式享元模式(Flyweight)

Unity 中的移动世界规模?

当对象在运行时实例化时,如何使 Unity UI 对象可拖动?

Unity - 围绕 2D 中的点旋转对象

Unity 项目的 .gitignore 忽略元文件

编辑器中的游戏 UI 已缩放(Unity,仅限 Android)