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

阶段 1:默认动作

观看更新后的 Convai Unreal Engine 插件的动作教程

聊天机器人自带四个已注册的动作模板。只需经过少量编辑器步骤并 零 Blueprint 脚本,你就可以让 Convai 角色走向物体、跟随玩家并按需等待。

在此阶段结束时,你的角色将对口头指令作出响应,例如 “去蓝色立方体那里。” “现在回来。” “跟着我。” 是位于 “停下。”

你需要准备什么

  • 一个已放置 Convai 角色 Actor 的关卡(任意示例角色都可以)。

  • 关卡中的一个或多个物体(FirstPerson 模板非常适合此阶段)。

步骤 1 — 在聊天机器人上启用动作

  1. 在关卡中选中 Convai 角色 Actor。

  2. Details 面板,滚动到 Convai 聊天机器人 组件(通常显示在该 Actor 的 Components 列表下——点击它)。

  3. 找到 Convai → Actions 类别下。

  4. 勾选 启用操作 复选框。

此开关控制聊天机器人的 环境 被序列化为 action_config 位于 /connect 运行时。没有它,服务器会将机器人视为仅用于对话。

步骤 2 — 注册一个物体

机器人只能针对你已告诉它的对象。将立方体添加到聊天机器人的 Environment.Objects 列表:

  1. 在同一 Convai → Actions 类别中,找到 环境 结构体。

  2. 展开它,然后展开 Objects.

  3. 点击 + 以添加一个新条目。

  4. 填写:

    • 名称: 立方体 (这是 LLM 会使用的人类友好型标记——请保持简短且明确)。

    • 说明: 地面上的蓝色立方体.

    • Ref:从下拉菜单中选择场景里的立方体 Actor。

你可以添加任意多个物体——对每个立方体以及机器人应当识别的任何其他道具重复此操作。

提示:稳定且彼此区分的名称很重要。 “红色立方体” 是位于 “蓝色立方体” LLM 很容易区分; “立方体” 是位于 “立方体2” 就不容易区分了。

步骤 3 — 让角色可以移动

默认的 Move To 是位于 跟随 动作需要角色确实能够行走。Convai 提供了一个编辑器工具,可为你自动完成这些设置:

  1. 内容浏览器,导航到你的角色 Blueprint。

  2. 右键单击该资源ConvaiSetup Convai Pawn Movement.

这会做什么,取决于 Blueprint 的父类:

  • Actor 父类 → 重新设为 APawn,然后添加一个 FloatingPawnMovement 组件,并使用 Convai 调校的默认值(最大速度 375,加速度 200,减速度 250,转向加速 3).

  • APawn 父类(不是 Character) → 添加 FloatingPawnMovement 如果缺失,则应用相同的默认值。

  • ACharacter 父类 → 保留现有的 CharacterMovementComponent 不变,但对其进行相同默认值的调优(最大步行速度、最大加速度、制动减速度)。

  • 其他任何情况 (例如自定义的 AActor 子类,且具有不同的继承层级)→ 不会改动父类,并 记录警告 提示你将父类重新设为某个最终继承自 APawn (推荐,因为 ACharacter 需要一个胶囊碰撞组件,而并非每种配置都需要它)。

如果你是在非 Pawn 基类上从零编写角色,最简单的修复方式是将父类重新设为 APawn (Pawn 移动路径更轻量),然后重新运行此菜单项。

步骤 4 — 添加 NavMesh

上面的移动组件使用 Unreal 的导航系统,因此你需要一个 NavMeshBoundsVolume 覆盖你希望机器人行走区域的

  1. 放置演员 面板(或关卡编辑器的“快速添加到项目”按钮)中,拖入一个 NavMeshBoundsVolume 到关卡中。

  2. 缩放它,使其覆盖整个可行走地面区域。

  3. P 在关卡编辑器聚焦时按下——这会切换绿色导航覆盖层。你应该会看到机器人被允许行走的地面都显示为绿色。如果某个区域不是绿色,说明体积没有覆盖到它(或者该几何体不可行走——太陡、太窄)。

步骤 5 — 试玩测试

点击 播放。在连接聊天机器人后,试试:

  • “去立方体那里。” → 机器人会走向该立方体 Actor。

  • “现在回到我这里。” → 它会走回来。(聊天机器人上的 bAutoFillConversationPartnerFromPlayer 开关——默认开启——会自动注册玩家,因此 “我” 可以正确解析。)

  • “跟着我。” → 它会跟随玩家。

  • “停下。” → 它会停止。

  • “等待 5 秒,然后去立方体那里。” → 它会先等待,然后移动。

以下是随附的四个默认动作:

Action
说明

Move To

将角色移动到目标位置(Object 或 Character)。

跟随

跟随一个角色。

停止移动

停止当前移动。

Wait For

等待指定秒数。

你可以在 Convai → Actions → Environment → Actions 在详情面板中。

故障排查

  • 机器人已响应但没有移动 → 通常是 NavMesh 没有覆盖它要前往的位置。按下 P 并检查。

  • 机器人走得异常慢/快 → 调整 MaxSpeed (或 MaxWalkSpeed 对于 Character)在移动组件上。

  • 机器人说“我不知道你指的是哪个 cube” → 该 名称 字段与您说的内容不匹配,或者没有 Ref 分配它。两者都需要。

  • “Setup Convai Pawn Movement” 没有任何效果 → 警告日志会告诉你原因。打开输出日志(Window → Output Log),并搜索 ConvaiContentBrowserContextMenu.

准备添加你自己的动作时,请前往第 2 阶段——自定义动作。

最后更新于

这有帮助吗?