Unity3D:将文本添加到预制件

Tyl*_*nes 2 unity-game-engine unity3d-2dtools

我正在 Unity 5 中制作一个 2d 棋盘游戏风格的游戏,并且我有一个由几个代表游戏片段的精灵组成的预制件。我希望预制件中有一些文本可以随着游戏的进展进行更新。

如果我尝试添加文本,它需要一个画布,但是当我创建画布时,会创建一个非常巨大的画布,看起来至少比相机区域大 1000 倍。如果我尝试将这个画布放入我的预制件中,我的预制件现在由一个巨大的画布和我的微小精灵图像组成。这使得预制件无法定位、计算大小、制作动画或我想做的任何其他事情。

如何将文本添加到预制件中,并使文本包含在我的预制件尺寸内?

到目前为止,这是我尝试过的:

  • 如果我将文本的画布设置为“渲染模式:世界空间”,我可以使其矩形变换变小。然而,如果我把它设置得和我的精灵一样小,文本就会变得难以阅读的模糊混乱。我猜发生这种情况是因为我的精灵实际上画布小 1000 倍,所以当我放大到足以看到精灵时,文本已被放大到被遗忘。我的精灵比画布小得多,如果我缩小以查看整个画布,我的精灵甚至不可见。

  • 如果我使用 UI 图像而不是精灵重新创建预制件,我就可以让事情正常进行。这样,UI 图像和文本都是包含在巨大画布中的 UI 元素,因此不存在大小差异。然而,我不知道尝试用 ui 图像而不是精灵构建整个游戏会遇到什么陷阱。我可以获得精灵的所有状态能力吗?

Nam*_*hos 6

Unity 生成的画布大 1000 倍,用于与 GUI 相关的对象,这些对象并不像乐谱或按钮那样直接与游戏世界交互。为了获得移动文本,请尝试使用 3DText。让文本面向相机,使文本显示为 2D。您可以在下面的菜单中找到此选项

游戏对象 => 3D 对象 => 3D 文本。

据我了解,您所需要做的就是将此游戏对象作为预制件的父级,并在运行时执行一些脚本魔法。

对于高保真文本,可以减小字符大小或增大字体大小,或同时执行这两种操作。

注意:较大的字符尺寸会降低保真度,但会占用较少的处理能力。

来源:Unity 5.2.0f3