添加聊天 UI
添加随附的聊天文字记录预制体,以便在角色交互期间在屏幕上显示可滚动的对话历史。
Convai SDK for Unity 包含一个现成的 ChatTranscriptUI 用于实时显示滚动聊天历史记录的预制体。该预制体包含其自己的 Canvas — 将它拖入场景,它会连接到 ConvaiManager 自动连接。
聊天历史记录和字幕
ConvaiManager.ActiveManager.Transcripts (ConvaiTranscripts)提供对话的两个独立且可组合的呈现:持久聊天历史和与语音同步的实时字幕。本页使用随附的 ChatTranscriptUI 字幕使用一个单独的、仅示例脚本,没有随附的预制体——请参见 聊天和字幕模式 以添加字幕,或在同一场景中同时组合两种显示。
聊天历史记录
ChatTranscriptUI (随附预制体,本页介绍)
滚动消息气泡——玩家和角色的发言分别作为独立条目显示
字幕
SubtitleTranscriptUI (参考脚本,没有随附预制体)
一个会在每轮发言流式传输时更新、随后自动隐藏的单一字幕块
添加聊天 UI 预制体
将预制体拖到场景中
拖拽 TranscriptUI_Chat.prefab 到 Hierarchy 中。该预制体包含其自己的 Canvas — 无需单独的 Canvas 设置。
聊天 UI 覆盖层会出现在 Game 视图中。该组件会在场景开始时自动找到 ConvaiManager ——无需手动连线。
聊天输入字段需要场景中有一个 EventSystem 在场景中。如果你的场景中还没有,请通过以下方式添加它: GameObject > UI > Event System.
如果启动时找不到 ConvaiManager ,控制台会记录: [ChatTranscriptUI] 未找到活动的 ConvaiManager。。检查 ConvaiManager 是否在场景中。
ChatTranscriptUI 检视器字段
如果需要自定义布局,选择预制体实例并检查 ChatTranscriptUI 组件。
UI 引用:
scrollRect
ScrollRect
消息列表的滚动容器
chatContainer
RectTransform
消息气泡实例化的父级变换
characterMessagePrefab
GameObject
角色语音气泡模板
playerMessagePrefab
GameObject
玩家语音气泡模板
chatInputField
TMP_InputField
键入输入的文本字段(可选)
淡入/淡出设置:
fadeDuration
0.5
淡入/淡出过渡所需秒数
如果 chatContainer 未分配,消息将不会出现,控制台会记录: [ChatTranscriptUI] chatContainer 未分配 - 消息将不会显示。随附预制体已预先连接好所有引用。
使用示例
示例 1:企业培训模拟中的全屏聊天覆盖层
场景: 一家企业入职体验展示了全屏聊天历史记录,以便培训者回顾 AI 导师说过的所有内容。
设置:
拖拽
TranscriptUI_Chat.prefab到 Hierarchy 中将所有引用保持为预制体默认值
预期结果: 每轮发言都会显示为一个新气泡——玩家文本在右侧,角色文本在左侧。随着对话增长,列表会自动滚动。
下一步
在转录 UI 就位后,添加唇形同步,以使用音频驱动角色 BlendShape。
最后更新于
这有帮助吗?