> 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/convai-unreal-engine-plugin/features/character-movement/movement-blueprint-reference.md).

# 移动 Blueprint 参考

Convai Move To 和 Convai Escort Blueprint 节点的参考，包括它们的输入、输出以及可返回的每种结果代码。

`Convai 移动到` 和 `Convai 陪护` 是用于角色移动的两个 Blueprint 节点，都在类别 `Convai|Movement`。每个都是由一个 Blueprint 代理对象支持的异步节点（`UConvaiMoveToProxy` 和 `UConvaiEscortProxy`）仅暴露 `成功` 和 `失败` exec 引脚——底层原生移动任务本身没有 Blueprint 暴露接口。

### Convai 移动到

移动 `正在移动的 Actor` 为 `目标`。由 `ConvaiMoveTo` `UFUNCTION` on `UConvaiMoveToProxy`.

| 引脚            | 类型                                                           | 方向      | 描述                                                                                                                                                                             |
| ------------- | ------------------------------------------------------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `正在移动的 Actor` | `Actor`                                                      | 输入      | 要移动的角色。必须是由 AI 控制器控制，并且具有移动组件和路径跟随组件的 Pawn。                                                                                                                                    |
| `目标`          | `FConvaiObjectEntry`                                         | 输入      | 要移动到哪里——整个 Actor、某个特定组件，或该条目中预设的移动点。参见 [角色移动的工作原理](/api-docs/zh/cha-jian-yu-ji-cheng/convai-unreal-engine-plugin/features/character-movement/how-character-movement-works.md). |
| `锁定 AI 逻辑`    | `bool`                                                       | 输入，高级显示 | 默认值 `false`。保留给需要在此移动运行期间完全接管角色移动的复合行为。                                                                                                                                        |
| `成功`          | exec， `结果代码` (`EConvaiMoveToResultCode`), `附加说明` (`FString`) | 输出      | 在以下情况下触发 `结果代码` 为 `已到达` 或 `已在目标处`.                                                                                                                                             |
| `失败`          | exec， `结果代码` (`EConvaiMoveToResultCode`), `附加说明` (`FString`) | 输出      | 对其他所有结果代码触发。                                                                                                                                                                   |

`附加说明` 可安全地对玩家说出，或反馈到角色的上下文中。它会在以下两者上填充： `成功` 和 `失败`.

### Convai 陪护

发送 `正在护送的 Actor` 为 `目标`，引导 `被护送角色` 到那里。由 `ConvaiEscort` `UFUNCTION` on `UConvaiEscortProxy`.

| 引脚            | 类型                                                           | 方向 | 描述                                                         |
| ------------- | ------------------------------------------------------------ | -- | ---------------------------------------------------------- |
| `正在护送的 Actor` | `Actor`                                                      | 输入 | 执行护送的角色。拥有 Convai 聊天机器人，该机器人用于在……时的临时跟随提示 `被护送角色` 落后时。     |
| `被护送角色`       | `FConvaiObjectEntry`                                         | 输入 | 被带往的角色 `目标`.                                               |
| `目标`          | `FConvaiObjectEntry`                                         | 输入 | 位置 `正在护送的 Actor` 引导 `被护送角色` ——整个 Actor、某个特定组件，或该条目中预设的移动点。 |
| `成功`          | exec， `结果代码` (`EConvaiEscortResultCode`), `附加说明` (`FString`) | 输出 | 在以下情况下触发 `结果代码` 为 `已到达` 或 `已在目标处`.                         |
| `失败`          | exec， `结果代码` (`EConvaiEscortResultCode`), `附加说明` (`FString`) | 输出 | 对其他所有结果代码触发。                                               |

`正在护送的 Actor` 和 `被护送角色` 都是 `FConvaiObjectEntry` 并保留其完整的对象条目语义——任一者都可限定到整个 Actor 或某个特定组件。

### EConvaiMoveToResultCode

在……上报告 `Convai 移动到`的 `成功` 和 `失败` 引脚，形式为 `结果代码`.

| 值                               | 显示名称                 | 含义                                                                                 |
| ------------------------------- | -------------------- | ---------------------------------------------------------------------------------- |
| `已到达`                           | `已到达`                | 角色已到达解析出的目标位置。                                                                     |
| `AlreadyAtDestination`          | `已在目标处`              | 无需移动，因为角色已经在那里。                                                                    |
| `UnknownDestination`            | `未知目标`               | 目标 Actor 已消失或无法解析。                                                                 |
| `无法到达`                          | `无法到达`               | 目标已知，但从这里没有可用路线可以到达。                                                               |
| `InvalidCharacter`              | `无效角色`               | `正在移动的 Actor` 不是可用的 Pawn。                                                          |
| `MissingController`             | `缺少 AI 控制器`          | 该 Pawn 未由 AI 控制器控制。                                                                |
| `MissingMovementComponent`      | `缺少移动组件`             | 该 Pawn 没有移动组件。                                                                     |
| `MissingPathFollowingComponent` | `缺少路径跟随组件`           | 该 AI 控制器没有路径跟随组件。                                                                  |
| `MissingNavigationData`         | `缺少导航数据`             | 当前世界没有与该 Pawn 兼容的导航数据。                                                             |
| `MoveFailed`                    | `移动失败`               | 尽管目标仍被解析为可到达，Unreal 还是停止了移动。                                                       |
| `已取消`                           | 隐藏——在 Blueprint 中不可选 | 内部生命周期标记。仅在以下情况下到达 `失败` 引脚：仅当请求的所有者在移动过程中意外被销毁时；显式 `取消` 对代理的调用则会静默分离，并且不会触发任何一个引脚。 |

`成功` 为……触发 `已到达` 和 `已在目标处`；除隐藏的 `已取消`，都会触发 `失败`.

### EConvaiEscortResultCode

在……上报告 `Convai 陪护`的 `成功` 和 `失败` 引脚，形式为 `结果代码`.

| 值                      | 显示名称                 | 含义                                     |
| ---------------------- | -------------------- | -------------------------------------- |
| `已到达`                  | `已到达`                | `正在护送的 Actor` 和 `被护送角色` 已到达目标位置。       |
| `AlreadyAtDestination` | `已在目标处`              | 护送开始时两个 Actor 都已经在目标位置。                |
| `被护送者不可用`              | `角色不可用`              | `被护送角色` 已消失，或不是有效的护送目标。                |
| `目标不可用`                | `目标不可用`              | `目标` 已消失，或从这里无法到达。                     |
| `无效护送设置`               | `无效护送设置`             | `正在护送的 Actor` 缺少护送所需的设置（例如，没有 AI 控制器）。 |
| `移动失败`                 | `移动失败`               | 在护送到达目的地之前，Unreal 停止了其所属的移动。           |
| `已取消`                  | 隐藏——在 Blueprint 中不可选 | 内部生命周期标记，被报告为失败的公开请求。                  |

`成功` 为……触发 `已到达` 和 `已在目标处`；除隐藏的 `已取消`，都会触发 `失败`.

### 支持类型

#### FConvaiObjectEntry

`目标` 在两个节点上，以及 `被护送角色` on `Convai 陪护`，是 `FConvaiObjectEntry`。驱动移动的字段：

| 字段                                       | 类型                            | 描述                                                          |
| ---------------------------------------- | ----------------------------- | ----------------------------------------------------------- |
| `Ref`                                    | `Actor`                       | 被引用的 Actor。                                                 |
| `对象引用`                                   | `EConvaiObjectReference`      | 显示为 **对象是**。该条目表示什么——见下面的值表。                                |
| `组件名称`                                   | `FString`                     | 当 `对象引用` 为 `特定组件`，要定位的组件。                                   |
| `Socket 或骨骼名称`                           | `FName`                       | 在匹配到的组件上可选指定要定位的 Socket 或骨骼，而不是其原点。                         |
| `接受半径`                                   | `float`                       | 以厘米计，靠近到多近算到达。默认 `150.0`.                                   |
| `移动点`                                    | 数组，元素为 `FConvaiMovementPoint` | 预设的访问点；只要有任何一个启用，它们就会接管目标解析。                                |
| `bFallbackToObjectWhenPointsUnreachable` | `bool`                        | 显示为 **使用对象作为回退**。默认 `false`。当所有移动点都不可达时，改为回退到对象本身，而不是报告不可达。 |

包括非移动字段在内的完整结构，请参见 [Convai 对象组件](/api-docs/zh/cha-jian-yu-ji-cheng/convai-unreal-engine-plugin/blueprint-reference/convai-object-component.md).

#### FConvaiMovementPoint

中的一个条目 `FConvaiObjectEntry.MovementPoints`，可通过视口可视化器在 `Convai 对象组件` 或直接在 **详情** 面板中。

| 字段                            | 类型                               | 描述                                                                               |
| ----------------------------- | -------------------------------- | -------------------------------------------------------------------------------- |
| `变换`                          | `变换`                             | 选择该点时角色站立的位置。只有位置会驱动移动；旋转会保存以供未来的朝向控制使用。                                         |
| `附着方式`                        | `EConvaiMovementPointAttachment` | 该变换如何被解释——见下面的值表。默认 `相对于对象`.                                                     |
| `是否启用`                        | `bool`                           | 默认值 `true`。取消勾选可在不删除的情况下使该点不参与使用。如果某个条目上的所有点都被禁用，则该条目表现得就像没有任何点一样。               |
| `bCreatesSeparateDestination` | `bool`                           | 显示为 **创建单独目标**。默认 `false`。勾选后，该点会变成它自己的命名目标，而不是对象旁若干可站立位置之一。                     |
| `名称`                          | `FString`                        | 显示为 **目标名称**。仅在……时使用 `bCreatesSeparateDestination` 已启用。角色会将其称为“`<对象>` `<目标名称>`". |

#### EConvaiObjectReference

| 值          | 显示名称       | 含义                                        |
| ---------- | ---------- | ----------------------------------------- |
| `整个 Actor` | `整个 Actor` | 整个 Actor 就是对象。移动回退：角色朝 Actor 走去，并在其边界处停止。 |
| `特定组件`     | `特定组件`     | Actor 上的一个子组件就是对象。移动回退：角色走到该组件的位置。        |

#### EConvaiMovementPointAttachment

| 值                   | 显示名称     | 含义                                                            |
| ------------------- | -------- | ------------------------------------------------------------- |
| `相对于对象`             | `相对于对象`  | 默认。该点的变换相对于对象——它会随目标 Actor 移动，或者在……时随特定组件移动 `对象引用` 其作用域限定为组件。 |
| `KeepWorldPosition` | `保持世界位置` | 高级。该点的变换是绝对世界空间，即使对象移动也会保持不变。                                 |


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.convai.com/api-docs/zh/cha-jian-yu-ji-cheng/convai-unreal-engine-plugin/features/character-movement/movement-blueprint-reference.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
