unity3d 在Unity2D中生成UI对象时,向前推进对象

8qgya5xd  于 2023-03-03  发布在  其他
关注(0)|答案(1)|浏览(196)

我正在创建一个flappy bird游戏作为启动项目来学习Unity的基础。我创建了在游戏启动时产生的管道,这些管道总是在其他东西的前面产生,这意味着我的得分文本和游戏菜单福尔斯在管道后面。我知道最后渲染的UI对象将最接近相机。而且这是唯一一个会生成的项目,所以我想这就是为什么我设置相机的方式没有区别的原因。有没有脚本或其他方法可以解决这个问题?我如何将我的文本向前移动?
我已经改变了我的文本Z位置连同管道Z位置没有运气。

31moq8wy

31moq8wy1#

这是使用“排序层”完成的。
SortingLayer允许你轻松设置多个精灵的渲染顺序。总是有一个名为“Default”的默认SortingLayer,所有精灵最初都会添加到这个默认SortingLayer中。添加了更多的SortingLayer来轻松控制精灵组的渲染顺序。层可以在默认层之前或之后排序。

编辑〉项目设置〉标签和层

或点击任何游戏对象上检查器顶部的标签图层,然后选择添加...
或单击排序层下拉/弹出菜单并选择添加排序层...

添加新的排序图层后,通过在“排序图层”列表中向上或向下拖动图层来设置顺序。列表的顺序为从后到前,这意味着显示在列表顶部的图层位于列表中稍后显示的图层之后。

现在给子画面渲染器分配排序层。你可以另外设置层中的顺序,这允许对单个层中的对象进行精细控制。

对于普通UI元素

获取普通用户界面元素(文本,图像等)在你的精灵后面渲染是有点不同的。做两个画布对象,设置渲染模式为屏幕空间-相机。分配你的相机到两个画布的。使用一个画布为正常的UI元素,和另一个画布为您的精灵。现在您可以控制顺序使用排序层属性的画布。此方法确实会更改3d对象相对于用户界面元素的渲染方式,因为画布不再覆盖在其他场景对象之上。

相关问题