添加聊天 UI
添加一个转写 UI 组件,用于在角色交互期间在屏幕上显示对话文本。
最后更新于
这有帮助吗?
添加一个转写 UI 组件,用于在角色交互期间在屏幕上显示对话文本。
适用于 Unity 的 Convai SDK 包含一个现成的转录 UI 预制体,可实时显示对话文本。该预制体包含自己的 Canvas——将其拖入场景,UI 会自动连接到 SDK。
该 SDK 支持三种对话文本展示模式。
聊天
“聊天”
滚动消息气泡——分别显示玩家和角色的发言
字幕
“字幕”
屏幕底部的一行文本,每轮替换一次
问答
“问答”
分屏显示——问题在上,答案在下
拖动 TranscriptUI_Chat.prefab 到层级中。该预制体包含自己的 Canvas——无需单独设置 Canvas。
聊天 UI 覆盖层会出现在游戏视图中。该组件会自动找到 ConvaiManager ,无需手动连接。场景启动时会自动完成——无需手动接线。
聊天输入字段需要场景中存在一个 EventSystem 。如果你的场景中还没有,请通过以下方式添加: GameObject > UI > Event System.
如果启动时未找到 ConvaiManager ,控制台会记录: [ChatTranscriptUI] Dependencies not injected - ensure ConvaiManager is present in scene。请检查 ConvaiManager 是否在场景中。
如果需要自定义布局,请选择预制体实例并检查 ChatTranscriptUI 组件。
UI 参考:
scrollRect
ScrollRect
消息列表的滚动容器
chatContainer
RectTransform
实例化消息气泡的父级变换
characterMessagePrefab
GameObject
角色语音气泡模板
playerMessagePrefab
GameObject
玩家语音气泡模板
chatInputField
TMP_InputField
用于输入文本的文本字段(可选)
淡入淡出设置:
fadeDuration
0.5
淡入/淡出过渡所需的秒数
如果 chatContainer 未分配,消息将不会出现,控制台会记录: [ChatTranscriptUI] chatContainer is not assigned - messages will not display。随附的预制体已预先连接好所有引用。
场景: 企业入职体验会显示全屏聊天历史,以便学员回顾 AI 导师说过的所有内容。
设置:
拖动 TranscriptUI_Chat.prefab 到层级中
将所有引用保持为预制体默认值
预期结果: 每一轮都会显示为一个新的气泡——玩家文本在右侧,角色文本在左侧。随着对话增长,列表会自动滚动。
在转录 UI 就位后,添加口型同步,以便根据音频驱动角色的混合形状。
最后更新于
这有帮助吗?
这有帮助吗?