For the complete documentation index, see llms.txt. This page is also available as Markdown.

动态上下文快速开始

将 ConvaiDynamicContextCommand 添加到 NPC,配置一个 SetState 命令,并确认角色会识别实时场景条件。

本指南将引导你完成最少的设置,以验证你的 Convai 角色是否能识别场景中的实时条件。你将添加 ConvaiDynamicContextCommand 组件,并配置一个 SetState 命令,将其连接到一个 UI 按钮,并确认角色会引用你发送的状态。

先决条件

开始前,请确认:

1

添加命令组件

在 Hierarchy 中选中 NPC 的 GameObject。在 Inspector 中,点击 添加组件 并搜索 Convai 动态上下文命令,或者导航到 Convai → Dynamic Context → Convai Dynamic Context Command.

该组件会显示三个部分: 目标, 命令,以及 事件.

Unity Inspector showing ConvaiDynamicContextCommand added to the NPC GameObject, with Target, Command, and Events sections visible
NPC 上添加了 ConvaiDynamicContextCommand——会显示三个部分:Target 用于解析角色,Command 用于定义上下文操作,Events 用于公开执行回调。
2

验证角色解析

目标 部分,确认 自动解析角色 已启用(默认设置)。该组件会找到 ConvaiCharacter 并自动定位到同一 GameObject 上。

如果 ConvaiCharacter 位于另一个 GameObject 上,请禁用 自动解析角色 并拖入正确的 ConvaiCharacter角色 字段中。

3

配置命令

命令 部分下:

  • 设置 命令类型设置状态

  • 设置 状态名称位置

  • 设置 状态值火灾出口走廊

  • 留空 反应模式 位于 Auto (默认)

该组件现在已配置为设置一个名为以下内容的跟踪状态: 位置火灾出口走廊 每当 Execute() 被调用。

4

连接触发器

事件 部分(如果需要,可先创建一个临时按钮),找到 On Click ().

单击 + 以添加监听器,将 NPC 的 GameObject 拖到对象字段中,并选择 ConvaiDynamicContextCommand → Execute () 在函数下拉菜单中。

Unity Inspector showing a UI Button's On Click event wired to ConvaiDynamicContextCommand.Execute() on the NPC GameObject
已将 Execute() 连接到按钮的 On Click 事件——在运行时按下按钮会将配置好的上下文更新发送给 Convai,并根据所配置的 Reaction Mode 触发角色反应。
5

在播放模式下测试

进入 Play Mode 并与角色开始对话。点击你在上一步连接的按钮,然后问角色你现在在哪里。

角色应该会提到该位置——例如: “你现在在火警出口走廊。继续前请确保你了解疏散程序。”

如果角色没有表现出位置感知,请打开 Unity Console 并检查是否有 [ConvaiDynamicContextCommand] 警告。参见 动态上下文故障排除 以获取完整的诊断清单。

无需自定义代码进行测试

SDK 包含一个预置的测试 UI,可在不编写任何集成代码的情况下探索完整的 Dynamic Context 系统。

预制体路径: Packages/com.convai.convai-sdk-for-unity/Prefabs/SampleDynamicContextUI.prefab

将其拖入场景,分配你的 ConvaiCharacter在 Inspector 中的组件。如果 设置状态 按钮发送已知值。如果角色通过 Sample UI 能正确响应,但通过你自己的集成不能,问题就在你的代码中——而不在 Dynamic Context 系统本身。

下一步

命令组件参考动态上下文脚本 API动态上下文使用示例

最后更新于

这有帮助吗?