Unity TextMeshPro UGUI对象隐藏在其他精灵后面



所以我遇到了一个听起来应该相对容易解决的问题,而且可能是,我只是把这一切都搞错了。我的游戏在我的所有精灵上使用排序层元素,这样它们就不会隐藏在其他精灵后面。

我正在尝试创建一个 TextMeshPro UI 对象(只是简单的文本(,但由于我设置了这些排序层,它总是在其他精灵后面。我希望文本在所有精灵的前面。我尝试设置一个脚本来执行此操作,但我不完全确定将此脚本指向何处。大多数答案都说网格渲染器,但这似乎对我不起作用。

任何建议不胜感激,谢谢!

编辑:文本与层次结构中的另一个子画面分组

编辑2:应Darkonekt的要求,我将尝试添加更多解释。 我发现可以复制的步骤:

  1. 创建新项目 (2D( 后,dd TMPro 资源(我通过将文本网格 Pro UI 对象添加到场景中并仅导入基本要素来执行此操作。
  2. 在场景中放置任何形式的精灵(确保它是画布上的子角色(
  3. 添加文本网格专业版 UI - 文本对象,确保它是画布上的子对象
  4. 将画布的渲染模式设置为"屏幕空间 - 摄像机",并将渲染摄像机设置为主摄像机
  5. 您可能需要调整精灵的大小,确保它占据了大部分屏幕
  6. 回到精灵,在精灵渲染器组件中,单击排序层,然后添加排序层
  7. 随心所欲地命名它,并确保它低于默认值
  8. 再次在精灵上,将排序层设置为"前面",文本应该已经消失在它后面。

没有任何代码要显示,因为上面列出的任何值都不会被任何代码更改。

背面的排序层

正面的排序层

要使其正常工作,您必须确保以下几点:

  1. 精灵变换位置的 Z 轴在检查器中为 0。
  2. 画布排序层也是正面(与精灵相同(。 当您将画布渲染模式设置为"屏幕空间 - 相机"时,此设置将变为可用。
  3. 文本网格 Pro 对象的矩形变换位置的 Z 轴为 0。

这应该可以帮助您实现所需的结果。

发生这种情况的原因是,当您将精灵的排序层设置为"正面"时,它将位于默认图层上的所有内容之上。

由于画布现在设置为默认图层,因此除非明确指定,否则画布中的所有内容也会位于默认图层中。

相关内容

  • 没有找到相关文章

最新更新