> 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/author-movement-points.md).

# 编写移动点

使用视口可视化器或 Details 面板在 Convai Object Component 上放置命名目的地，以便角色正确接近它。

移动点是由设计师创建的访问点，用于描述角色在接近某个对象时应站在什么位置——例如，门的两侧各一个点。将它们放置在一个 `Convai 对象组件` 可直接在视口中，或通过 **详情** 面板中。

### 先决条件

* 目标Actor具有一个 `Convai 对象组件` 已添加。
* 你可以在关卡或蓝图编辑器中选择该Actor（或者在编辑蓝图时选择该组件）。

### 在视口中添加移动点

{% stepper %}
{% step %}

#### 选择对象

选择携带该 `Convai 对象组件` 在关卡中，或者在编辑其所属蓝图时直接选择该组件本身。每个现有移动点都会显示为一个拖拽手柄：一根竖直的针脚，顶部带有一个彩色点、一个接受半径环，以及一条连接到对象的系绳线。春绿色表示该点已启用，灰色表示已禁用，白色标记当前选中的点。
{% endstep %}

{% step %}

#### 在“细节”面板中添加一个点

在 **详情** 面板，展开 **Convai | Object**，然后 **移动点**中选择你的角色，然后点击 **添加元素**。一个新点会出现在对象所在位置，并带有 **已启用** 已勾选并 **附着方式** 设置为 `相对于对象`.
{% endstep %}

{% step %}

#### 定位该点

在视口中单击新点的拖拽手柄。这样会将选择对象归一到其所属Actor，从而显示位于该点处的变换操作器。拖动该操作器，将点放置到角色应站立的位置。每个点的索引和名称（`[0]`, `[1] 另一侧`，依此类推）都会标注在其手柄上方，因此你可以看出正在编辑数组中的哪个元素。
{% endstep %}

{% step %}

#### 设置该点跟踪对象的方式

在该点的条目中 **移动点**中，设置 **附着方式**:

* `相对于对象` （默认）——该点会随对象移动。对于大多数情况都适用，例如门的接近点。
* `保持世界位置` ——即使对象移动，该点也会固定在世界空间中。适用于像电梯楼层停靠点这类场景，平台在各停靠点之间运行时，这些点必须保持不动。

在两种模式之间切换时，系统会为你转换已存储的位置，因此该点不会跳动。
{% endstep %}
{% endstepper %}

{% hint style="info" %}
每个点周围都会绘制一个接受半径环，其大小取决于对象条目的 **接受半径** （或150厘米，以较大者为准——解析器不会测试比这更严格的容差）。
{% endhint %}

### 将一个点设为其自身的目的地

默认情况下，移动点是角色被发送到对象本身时可站立的几个位置之一。若要让角色改为通过名称被发送到该确切点，请：

{% stepper %}
{% step %}

#### 启用“创建独立目的地”

在该点的条目中，勾选 **创建单独目的地** (`bCreatesSeparateDestination`).
{% endstep %}

{% step %}

#### 命名目的地

填入 **目标名称**。角色将其称为 `“<对象> <目的地名称>”` ——一个名为 `另一侧` 位于一个名为 `门` 会变成 `“门 另一侧”`。名称要简短：角色会把它大声说出来。
{% endstep %}
{% endstepper %}

### 禁用一个点而不删除它

取消勾选 **已启用** 该点条目中的。被禁用的点在目的地解析过程中绝不会被选中——角色不会被送到那里——但它会保留在列表中以供日后重用。如果某个条目上的所有点都被禁用，则该对象的行为就像完全没有移动点一样，而移动会回退到对象引用。

### 验证这些点

进入游戏模式，并使用……将一个角色发送到该对象。 [将角色移动到对象](/api-docs/zh/cha-jian-yu-ji-cheng/convai-unreal-engine-plugin/features/character-movement/move-a-character-to-an-object.md) 或 [护送角色](/api-docs/zh/cha-jian-yu-ji-cheng/convai-unreal-engine-plugin/features/character-movement/escort-a-character.md)角色应沿最短行走路径走到可到达的点，而不是对象的原始位置。

{% hint style="success" %}
打开 [Convai 调试覆盖层](/api-docs/zh/cha-jian-yu-ji-cheng/convai-unreal-engine-plugin/troubleshooting/convai-debug-overlay.md) 并查找一个 `◇` 位于世界空间中每个已命名、已启用的移动点上方的标记——这表示该点已注册并启用。
{% endhint %}

### 下一步

{% content-ref url="/pages/cd1cb108d1d64d0bc8aa05c8c11851b2a2db9b06" %}
[角色移动的工作原理](/api-docs/zh/cha-jian-yu-ji-cheng/convai-unreal-engine-plugin/features/character-movement/how-character-movement-works.md)
{% endcontent-ref %}

{% content-ref url="/pages/2db1977bcc865a9fcbab486f2c4905551657d9f3" %}
[移动 Blueprint 参考](/api-docs/zh/cha-jian-yu-ji-cheng/convai-unreal-engine-plugin/features/character-movement/movement-blueprint-reference.md)
{% endcontent-ref %}


---

# 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/author-movement-points.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.
