在语音气泡Unity 2D中渲染文本

render text inside speech bubble Unity 2D

您好,我正在使用 Unity 2D 创建两个人之间的对话。如您所见,当角色与某人会面时,我渲染了一个对话泡泡精灵。然后我想从外部资源中获取文本 ("Hi how are you?") 以及它在其中的人。谁能帮我完成这件事?我一无所知,我用文本网格尝试过,但没有用。非常感谢! (我正在使用 Javascript)

为了渲染对话泡泡内的文本,您可能需要考虑使用 Unity 4.6 和 Unity 5 中引入的所谓 "new UI"。不要与遗留的 UI 系统.

文档是 here,那里有很多教程(我会 post 链接,但我没有足够的 Whosebug 声誉)。

具体来说,您需要场景中的对象具有 Canvas 组件(菜单 GameObject -> UI -> Canvas),以及 Render Mode(检查器 属性 of Canvas 组件) 设置为 World Space.

然后您可以通过菜单 GameObject -> UI -> Image 添加 Image 子对象。这将保留气泡的图像。

最后,通过菜单 GameObject -> UI -> Text 将子对象添加到 Image 对象。这将保存 "Hi how are you" 文本,您可以在从外部文件中获取它后通过您自己的一些自定义脚本对其进行设置。

要 show/hide 带有文本的气泡,只需通过 gameObject.setActive(false) 停用整个对象(这也会停用 Text 子项)。我有一个控制脚本,它包含对所有 UI 对象(在本例中为 ImageText)的引用,并根据需要操作它们(activates/deactivates,设置文本,更改图片等)。

诚然,新的 UI 需要一些学习才能掌握,您必须尝试各种参数才能达到最佳效果,但它可以满足您的要求。