首页 文章

Unity3D:将文本添加到PreFab

提问于
浏览
1

我在Unity 5中制作了一款2D游戏风格的游戏,我有一个由几个精灵组成的预制件,它代表了一个游戏 . 我希望我的预制件中有一些文字可以随着游戏的进行而更新 .

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

如何将文本添加到预制件中,并使文本包含在预制件的大小范围内?

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

  • 如果我将文本的画布设置为"Render Mode: World Space" I 'm able to make it' s rect tranform less . 但是,如果我把它变得像我的精灵一样小,那么文字会变得难以辨认 . 我想这是因为我的精灵实际上至少比画布小1000倍,所以当我放大到足以看到精灵时,文字已经被放大了 . 我的精灵比画布小得多,如果我缩小看完全画布,我的精灵甚至都看不到 .

  • 如果我使用UI图像而不是精灵重新创建我的预制件,我能够使工作变得有效 . 这样,UI图像和文本都是巨大画布中包含的UI元素,因此不存在大小差异 . 但是,我不知道是什么陷阱试图用ui图像而不是精灵来构建整个游戏 . 我是否获得精灵的所有状态功能?

1 回答

  • 3

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

    GameObject => 3D Object => 3D Text .

    根据我的理解,你需要做的就是将这个GameObject放到你的预制件上并在运行时做一些剧本魔术 .

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

    注意:较大的字符大小会降低保真度,但会降低处理能力 .

    资料来源:Unity 5.2.0f3

相关问题