> For the complete documentation index, see [llms.txt](https://docs.convai.com/api-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.convai.com/api-docs/zh/cha-jian-yu-ji-cheng/unreal-engine-plugin-beta-overview/convai-actions/phase-1-default-actions.md).

# 阶段 1：默认动作

{% embed url="<https://youtu.be/yWqJQRttoEI>" %}
观看更新后的 Convai Unreal Engine 插件的动作教程
{% endembed %}

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

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

### 你需要准备什么

* 一个已放置 Convai 角色 Actor 的关卡（任意示例角色都可以）。
* 关卡中的一个或多个物体（FirstPerson 模板非常适合此阶段）。

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

1. **在关卡中选中 Convai 角色 Actor。**
2. 在 **Details** 面板，滚动到 **Convai 聊天机器人** 组件（通常显示在该 Actor 的 Components 列表下——点击它）。
3. 找到 **Convai → Actions** 类别下。
4. 勾选 **`启用操作`** 复选框。

{% hint style="info" %}
此开关控制聊天机器人的 `环境` 被序列化为 `action_config` 位于 `/connect` 运行时。没有它，服务器会将机器人视为仅用于对话。
{% endhint %}

<figure><img src="/files/25863ab7d9aad55214f865cf17acc9bd4e2d9b77" alt=""><figcaption></figcaption></figure>

### 步骤 2 — 注册一个物体

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

1. 在同一 **Convai → Actions** 类别中，找到 **`环境`** 结构体。
2. 展开它，然后展开 **`Objects`**.
3. 点击 **`+`** 以添加一个新条目。
4. 填写：
   * **名称**: `立方体` （这是 LLM 会使用的人类友好型标记——请保持简短且明确）。
   * **说明**: `地面上的蓝色立方体`.
   * **Ref**：从下拉菜单中选择场景里的立方体 Actor。

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

<figure><img src="/files/58addcf2008a58203c1f9343a401c371d63f6b57" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
提示：稳定且彼此区分的名称很重要。 *“红色立方体”* 是位于 *“蓝色立方体”* LLM 很容易区分； *“立方体”* 是位于 *“立方体2”* 就不容易区分了。
{% endhint %}

### 步骤 3 — 让角色可以移动

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

1. 在 **内容浏览器**，导航到你的角色 Blueprint。
2. **右键单击该资源** → **Convai** → **Setup Convai Pawn Movement**.

<figure><img src="/files/2eb2c3c266767d2c02191493ddde26f56528822b" alt=""><figcaption></figcaption></figure>

这会做什么，取决于 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`** 在关卡编辑器聚焦时按下——这会切换绿色导航覆盖层。你应该会看到机器人被允许行走的地面都显示为绿色。如果某个区域不是绿色，说明体积没有覆盖到它（或者该几何体不可行走——太陡、太窄）。

<figure><img src="/files/515cf16ed38f33b185fa935002aee0812c3e43e9" alt=""><figcaption></figcaption></figure>

### 步骤 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 阶段——自定义动作。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.convai.com/api-docs/zh/cha-jian-yu-ji-cheng/unreal-engine-plugin-beta-overview/convai-actions/phase-1-default-actions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
