Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使ui文本位于其他任何内容之前?_C#_Unity3d - Fatal编程技术网

C# 如何使ui文本位于其他任何内容之前?

C# 如何使ui文本位于其他任何内容之前?,c#,unity3d,C#,Unity3d,我希望文本始终位于左上角,并且始终位于任何其他对象的前面 我想使用此ui文本保存消息 画布设置的屏幕截图以及文本在场景窗口和游戏窗口中的显示位置: 以及使用text-TextMeshPro的文本设置: 如果默认设置不适用,您可以移动文本材料。有几件事: 摄影机空间UI绘制在除其他摄影机空间UI对象和屏幕空间UI之外的所有对象之上 屏幕空间UI绘制在除其他屏幕空间UI对象之外的所有对象之上 对象已附着到世界空间画布 虽然从理论上讲,可以通过着色器来调整绘图顺序,但这不适用于UI对象(因为首先渲染

我希望文本始终位于左上角,并且始终位于任何其他对象的前面

我想使用此ui文本保存消息

画布设置的屏幕截图以及文本在场景窗口和游戏窗口中的显示位置:

以及使用text-TextMeshPro的文本设置:


如果默认设置不适用,您可以移动文本材料。

有几件事:

  • 摄影机空间UI绘制在除其他摄影机空间UI对象和屏幕空间UI之外的所有对象之上
  • 屏幕空间UI绘制在除其他屏幕空间UI对象之外的所有对象之上
  • 对象已附着到世界空间画布
  • 虽然从理论上讲,可以通过着色器来调整绘图顺序,但这不适用于UI对象(因为首先渲染世界,然后渲染摄影机空间UI,然后渲染其他摄影机及其UI,然后渲染屏幕空间UI)


    因此,您将无法使该文本在任何其他文本之前绘制。它存在于3D空间中,并受所有规则的约束,例如在屏幕空间画布后面。

    UI层是否默认呈现在顶部?