Unity3D:将文本添加到 PreFab
Unity3D: Add text to a PreFab
我正在 Unity 5 中制作一个 2d 棋盘游戏风格的游戏,我有一个由几个精灵组成的预制件,代表一个游戏片段。我想要我的预制件中的一些文本,我可以随着游戏的进行进行更新。
如果我尝试添加文本,它需要 uires a canvas,但是当我创建 canvas 时,会创建一个非常巨大的 canvas,即看起来至少比相机面积大 1000 倍。如果我尝试将这个 canvas 放在我的预制件中,我的预制件现在由一个非常巨大的 canvas 和我的小精灵图像组成。这使得预制件无法定位、计算尺寸或制作动画,或任何其他我想做的事情。
如何向预制件添加文本,并使文本包含在我的预制件尺寸范围内?
这是我目前尝试过的方法:
如果我将文本的 canvas 设置为 "Render Mode: World Space",我可以使它的矩形变换更小。但是,如果我把它弄得和我的精灵一样小,文本就会变得一团乱麻,难以辨认。我猜这是因为我的精灵实际上比 canvas 小 至少 1000 倍,所以当我放大到足以看到精灵时,文本已经被放大到遗忘.我的精灵比 canvas 小得多,如果我缩小以查看完整的 canvas,我的精灵甚至都看不到。
如果我使用 UI 图像而不是 sprites 重新创建我的预制件,我可以让事情正常进行。这样,UI个图片,和文字都是UI个元素,包含在巨大的canvas中,所以不存在大小差异。但是,我不知道试图用 ui 图像而不是精灵制作整个游戏会遇到什么陷阱。我是否获得精灵的所有状态能力?
Unity 生成的 canvas 大 1000 倍用于与 GUI 相关的对象,这些对象并不打算直接与游戏世界交互,例如分数或按钮。为了有移动的文本,尝试使用 3DText。让文字面向相机,使文字看起来是二维的。您可以在
下的菜单中找到此选项
游戏对象 => 3D 对象 => 3D 文本。
据我了解,您需要做的就是将此 GameObject 作为您的预制件的父级,并在运行时执行一些脚本魔术。
对于高保真文本,要么减小字符大小,要么增大字体大小,或者两者都做。
注意:较大的字符大小会降低保真度,但会占用较少的处理能力。
来源:Unity 5.2.0f3
我正在 Unity 5 中制作一个 2d 棋盘游戏风格的游戏,我有一个由几个精灵组成的预制件,代表一个游戏片段。我想要我的预制件中的一些文本,我可以随着游戏的进行进行更新。
如果我尝试添加文本,它需要 uires a canvas,但是当我创建 canvas 时,会创建一个非常巨大的 canvas,即看起来至少比相机面积大 1000 倍。如果我尝试将这个 canvas 放在我的预制件中,我的预制件现在由一个非常巨大的 canvas 和我的小精灵图像组成。这使得预制件无法定位、计算尺寸或制作动画,或任何其他我想做的事情。
如何向预制件添加文本,并使文本包含在我的预制件尺寸范围内?
这是我目前尝试过的方法:
如果我将文本的 canvas 设置为 "Render Mode: World Space",我可以使它的矩形变换更小。但是,如果我把它弄得和我的精灵一样小,文本就会变得一团乱麻,难以辨认。我猜这是因为我的精灵实际上比 canvas 小 至少 1000 倍,所以当我放大到足以看到精灵时,文本已经被放大到遗忘.我的精灵比 canvas 小得多,如果我缩小以查看完整的 canvas,我的精灵甚至都看不到。
如果我使用 UI 图像而不是 sprites 重新创建我的预制件,我可以让事情正常进行。这样,UI个图片,和文字都是UI个元素,包含在巨大的canvas中,所以不存在大小差异。但是,我不知道试图用 ui 图像而不是精灵制作整个游戏会遇到什么陷阱。我是否获得精灵的所有状态能力?
Unity 生成的 canvas 大 1000 倍用于与 GUI 相关的对象,这些对象并不打算直接与游戏世界交互,例如分数或按钮。为了有移动的文本,尝试使用 3DText。让文字面向相机,使文字看起来是二维的。您可以在
下的菜单中找到此选项游戏对象 => 3D 对象 => 3D 文本。
据我了解,您需要做的就是将此 GameObject 作为您的预制件的父级,并在运行时执行一些脚本魔术。
对于高保真文本,要么减小字符大小,要么增大字体大小,或者两者都做。
注意:较大的字符大小会降低保真度,但会占用较少的处理能力。
来源:Unity 5.2.0f3