将文本附加到游戏对象

时间:2018-03-24 20:08:05

标签: unity3d

我知道有两种方法可以做到。但它们都不适合我。

我尝试的第一种方法是创建一个gameObject,然后将一个立方体(形状)和一个带有Text的画布放入其中。我将形状,画布(世界空间)和文本的位置设置为(0,0,0),以便它们保持在一起。但是,只有立方体出现了。禁用多维数据集仍然无法显示文本。

enter image description here

Shape

所以我删除它并将Text Mesh添加到形状中,这要求我删除网格过滤器。而现在我所能看到的只是一个空洞。我有任何设置错误吗?

enter image description here

2 个答案:

答案 0 :(得分:2)

我相信你在这里误解了一些事情,让我试着为你清理它们:

  1. 使用画布
  2. Canvas应该(几乎)始终是顶级对象,这意味着它不会附加到任何父级。而不是那样,画布作为其他对象的父级,这意味着其他对象是画布的子级。

    此外,拥有多个画布对象可能会导致问题,请查看面板和布局组。

    1. 文字网格文字之间的区别:
    2. Text(或UI-Text)是画布内的一个对象,用于在画布空间上显示文本。另一方面,文本 mesh 是在3D空间中渲染到您的世界中的对象,这意味着它(并且可能不应该)附加到Canvas对象。

答案 1 :(得分:2)

您可以使用UI Button游戏对象和3D多维数据集执行此操作。步骤如下:

  1. 在空场景中,创建一个3D立方体。

  2. 之后,创建一个UI Button对象。

  3. 现在您已经拥有了按钮和Canvas,请将Canvas拖动到多维数据集的子级,如下所示:

    enter image description here

  4. 现在您必须将Canvas设置为World Space渲染模式,删除Canvas Scaler组件,然后设置Width = Height = 1和所有Pos = 0

  5. 最后一步,设置按钮:设置Width = Height = 100,所有Scale = 0.01Pos Z = -0.501

  6. 现在,无论多维数据集的位置或旋转位置如何,您都拥有一个功能完善的按钮,可以保持与立方体的正面相连。

    您当然可以添加任意数量的按钮,并将它们放置在多维数据集的不同面上(甚至可以将多个按钮定位到单个面等)。

    enter image description here