你先前通过调整瓦片的 Order in Layer 属性来解决了瓦片地图的排序问题,但此方法在这里不合适,因为你并非总是希望一个游戏对象在另一个游戏对象之上。你需要“伪造”透视图。根据直觉,玩家希望角色在立方体前面时首先绘制角色,而角色在立方体后面时最后绘制角色。
如果用更技术性的语言来说,你需要做的是指示 Unity 根据游戏对象的 y 坐标来绘制游戏对象(请记住,y 是垂直轴,x 是水平轴)。
屏幕上位置较低的游戏对象(y 坐标较小)应在屏幕上位置较高的游戏对象(y 坐标较大)之后绘制。这样将使位置较低的对象显示在上层。
要指示 Unity 根据游戏对象的 y 坐标来绘制游戏对象,请执行以下操作:
1.选择 Edit > Project Settings。
2. 在左侧类别菜单中,单击 Graphics。
3.在 Camera Settings 中,找到 Transparency Sort Mode 字段。此字段决定了精灵的绘制顺 序。使用下拉菜单将此设置从 Default 更改为 Custom Axis。
4.在 Transparency Sort Axis 中添加以下坐标:
x = 0
y = 1
z = 0
此设置告诉 Unity 在 y 轴上基于精灵的位置来绘制精灵。
5.关闭 Project Settings 窗口并保存你的更改。 6. 按 Play 以进入运行模式并测试你的更改。 现在,你的角色比箱子高时,角色应该会绘制在箱子的后面;而角色比箱子低时,绘制在 箱子的前面。 这只是一个开始,但并不完美,因为在箱子后面(而不是前面)绘制 Ruby 的时机似乎过早。为此解决此问题,你需要调整 Sprite Renderer 组件。
调整Sprite Render
1.在 Hierarchy 中,选择 Ruby 游戏对象。
2. 在 Inspector 中,找到该游戏对象的 Sprite Renderer 组件。
3. 找到 Sprite Sort Point 字段。目前,此字段设置为 Center,这意味着会使用精灵的中心点 来决定这个游戏对象应该在另一个游戏对象的前面还是后面。
4.将 Sprite Sort Point 更改为 Pivot。
5.在精灵图中将它的轴心小圆圈拖至底部。
文章来源:https://www.toymoban.com/news/detail-405728.html
文章来源地址https://www.toymoban.com/news/detail-405728.html
到了这里,关于Unity项目Ruby 解决物品之间的排序问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!