在GUITexture上渲染GUIText

时间:2014-08-22 09:48:35

标签: unity3d

我试图将一些GUITexts放在GUITexture之上。
GUITexture充当背景。 GUIText是顶部的文本。不幸的是,我无法将文字置于顶部,GUITexture始终位于顶部。

  • 我尝试在相关GameObjects的变换中更改Z位置。
  • 尝试在检查器中更改GameObjects顺序。
  • GUIText的Z-Index
  • 在与GUITexture相同的GameObject上设置GUIText。
  • 在不同的图层上设置GUIText和GUITexture。

但这些都没有奏效。控制这些对象分层的方法是什么?

3 个答案:

答案 0 :(得分:2)

尝试使GUI Text的Z转换值高于GUI Texture Z Value。

答案 1 :(得分:2)

设置Z值是正确的方法。

您应该注意,只使用GUIText和GUITexture的本地Z位置。简单地忽略父游戏对象的Z位置。因此,如果您设置GUIText的z = 1且GUITextture的z = 0,则文本位于顶部。

正如您已经尝试过的那样,您的场景一定有问题。 仔细检查您的纹理是否真的是GUITexture而不是精灵或其他东西。你能看到任何GUIText或禁用背景纹理吗?

答案 2 :(得分:2)

您的GuiTexture问题可能存在两个主要障碍:

<强> 1)

  • 可能是您选择的纹理是jpg而不是png,并尝试使用统一默认纹理,您可以很容易地看到GuiText可见,但同时当您放置纹理时它不会因此你应该检查。

<强> 2)

  • 如果你不能调整我的guiTexture的Z,它可能不是guiTexture我提到它只是一个纹理被吸引到主相机。所以,如果你只能调整guiText的Z,但它不起作用。

你应该有可能使用OnGui方法绘制纹理,使其与你想要在纹理上看到的Guitext重叠。

你应该在启动时使用GuiTexture Initialization而不是OnGui如果你使用它,检查this可能会帮助你并上传一些代码。