多角色示例
导入多角色示例场景,查看多个 Convai 角色共享同一房间、交互目标选择以及实时文字记录。
“ 多角色示例 是 Convai Unity SDK 随附的共享房间场景,展示了多个角色、交互目标选择、对话记录 UI,以及场景运行时进行的名册变更。导入它,先看看一个可用的多角色房间,再构建你自己的。
前提条件
Convai Unity SDK 4.6.0 已安装。
在以下位置配置好的 API 密钥和服务器环境: Edit > Project Settings > Convai SDK.
导入示例
分配你自己的角色 ID
打开导入的场景。对于每个 ConvaiCharacter,将示例角色 ID 替换为与你配置的 API 密钥属于同一 Convai 账号和环境的角色。请参阅 角色身份 ,以防两个角色最终共用同一个 ID。
多角色房间是 Convai 账号的一项功能。如果你 API 密钥背后的账号未开通该功能,房间会拒绝连接,Console 会说明原因——无需提前检查任何内容。
场景展示了什么
进入 Play 模式并注视任意角色即可与其对话——除了摄像机指向位置外无需任何输入,且一旦切换到其他角色,上一位角色的回答会立即结束。使用 WASD,用鼠标查看,并按 Escape 来释放光标;点击 UI 外部会重新捕获光标。在触屏设备上,两个屏幕虚拟摇杆是对键盘和鼠标的补充,而不是替代。
屏幕上的读数会显示你正在与谁交谈,以及他们是否已经能听到你。 Preparing 是房间连接之后、服务尚未宣布该角色之前的短暂窗口——在此期间说的任何话都不会被任何人听到。
在场景运行时,选择 游戏对象 持有 Convai Manager 并打开其 实时 部分:它会列出正在被交谈的对象、玩家是否可以与其对话、上一次目标选择决策背后的判定,以及房间中每个角色对应的一行。
在游玩时更改名册
当房间已连接时,场景中出现的角色会无需重新连接就加入对话——无需任何调用。禁用角色不会移除其席位;它只是停止可被点名,并在重新启用的瞬间再次可被点名。只有当角色被销毁或失去所有权时,才会离开房间。
这是因为该示例在两个角色处于激活状态时连接,这会打开一个带有名册的房间。若房间在连接时只有一个角色,则不会携带名册,也无法在之后扩展——请在连接前让你希望在场景中激活的所有角色都处于激活状态。
示例如何读取目标选择和可用性
示例脚本中没有任何内容负责实现多角色对话——那是 SDK 的工作,无需设置。 MultiCharacterSampleController 仅通过项目自身的指示器应读取的两个成员来读取结果:
AddressedCharacter 表示玩家正在与谁对话。 ConversationAvailability 表示该角色是否已经能听到玩家——这个值更适合用于控制聊天输入框或麦克风按钮是否可用,而不是以房间是否已连接为依据。 MultiCharacterSampleFirstPersonPlayer 提供场景所需的移动和视角输入,使玩家能够转向某个角色;它是示例输入管线,不属于 SDK。
下一步
多角色会话工作原理对话可用性最后更新于
这有帮助吗?