阶段 1:默认动作
聊天机器人自带四个已注册的动作模板。只需经过少量编辑器步骤并 零 Blueprint 脚本,你就可以让 Convai 角色走向物体、跟随玩家并按需等待。
在此阶段结束时,你的角色将对口头指令作出响应,例如 “去蓝色立方体那里。” “现在回来。” “跟着我。” 是位于 “停下。”
你需要准备什么
一个已放置 Convai 角色 Actor 的关卡(任意示例角色都可以)。
关卡中的一个或多个物体(FirstPerson 模板非常适合此阶段)。
步骤 1 — 在聊天机器人上启用动作
在关卡中选中 Convai 角色 Actor。
在 Details 面板,滚动到 Convai 聊天机器人 组件(通常显示在该 Actor 的 Components 列表下——点击它)。
找到 Convai → Actions 类别下。
勾选
启用操作复选框。
此开关控制聊天机器人的 环境 被序列化为 action_config 位于 /connect 运行时。没有它,服务器会将机器人视为仅用于对话。

步骤 2 — 注册一个物体
机器人只能针对你已告诉它的对象。将立方体添加到聊天机器人的 Environment.Objects 列表:
在同一 Convai → Actions 类别中,找到
环境结构体。展开它,然后展开
Objects.点击
+以添加一个新条目。填写:
名称:
立方体(这是 LLM 会使用的人类友好型标记——请保持简短且明确)。说明:
地面上的蓝色立方体.Ref:从下拉菜单中选择场景里的立方体 Actor。
你可以添加任意多个物体——对每个立方体以及机器人应当识别的任何其他道具重复此操作。

提示:稳定且彼此区分的名称很重要。 “红色立方体” 是位于 “蓝色立方体” LLM 很容易区分; “立方体” 是位于 “立方体2” 就不容易区分了。
步骤 3 — 让角色可以移动
默认的 Move To 是位于 跟随 动作需要角色确实能够行走。Convai 提供了一个编辑器工具,可为你自动完成这些设置:
在 内容浏览器,导航到你的角色 Blueprint。
右键单击该资源 → Convai → Setup 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 覆盖你希望机器人行走区域的
从 放置演员 面板(或关卡编辑器的“快速添加到项目”按钮)中,拖入一个 NavMeshBoundsVolume 到关卡中。
缩放它,使其覆盖整个可行走地面区域。
按
P在关卡编辑器聚焦时按下——这会切换绿色导航覆盖层。你应该会看到机器人被允许行走的地面都显示为绿色。如果某个区域不是绿色,说明体积没有覆盖到它(或者该几何体不可行走——太陡、太窄)。

步骤 5 — 试玩测试
点击 播放。在连接聊天机器人后,试试:
“去立方体那里。” → 机器人会走向该立方体 Actor。
“现在回到我这里。” → 它会走回来。(聊天机器人上的
bAutoFillConversationPartnerFromPlayer开关——默认开启——会自动注册玩家,因此 “我” 可以正确解析。)“跟着我。” → 它会跟随玩家。
“停下。” → 它会停止。
“等待 5 秒,然后去立方体那里。” → 它会先等待,然后移动。
以下是随附的四个默认动作:
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 阶段——自定义动作。
最后更新于
这有帮助吗?