Shortest Path
通过点的 Distribution 找到起点和终点之间的最短路径来生成路径。
算法通过以下方式计算最短路径:
- 从 Input Path 的给定位置开始。
- 在 Distribution 中搜索邻近点。默认情况下是最接近的 10 个点,但也可以基于 Search Distance。
- 选择最接近终点位置的邻近点并移动到它。
- 循环步骤 2 和 3,直到路径到达终点位置。

使用 Text Shape 生成多条最短路径。
Input Shape - 连接一个 Shape 以从中生成起点和终点位置。
Count - 设置要生成的路径数量。
Start Travel - 设置 Shortest Path 起点沿 Input Shape 的位置。如果 Count 大于 1,连接一个 Behaviour 以变化每条路径的位置。
End Travel - Shortest Path 终点沿 Input Shape 的位置。如果 Count 大于 1,连接一个 Behaviour 以变化每条路径的位置。
Use Search Radius - 默认情况下,使用最接近的 10 个点来计算最短路径——勾选 Use Search Radius 后,可以使用 Search Radius 进行更精细的控制。
Search Radius - 设置搜索「最短路径下一步应行进到的点」的最大半径。
Use Levels - 勾选时,确定使用 Input Shape 的哪个层级来创建起点/终点位置。
Level Mode - 选择影响网格层级的哪个/哪些层次。
- Custom… - 手动设置 Custom Level。
- Text (Lines) - 与 Text Shape 一起使用,将影响每个行。
- Text (Words) - 与 Text Shape 一起使用,将影响每个单词。
- Text (Characters) - 与 Text Shape 一起使用,将影响每个字符。
如果使用包含字符串 TEXT 的 Text Shape 作为 Input Shape,Level Mode 可用于确定起点/终点位置从何处创建/创建到何处。例如,如果设为 Text (Characters),起点和终点必须都位于每个单独字母(T、E、X 或 T)上,而如果设为 Text (Words),起点和终点可以沿整个单词的任何位置生成。例如,起点可以位于第一个 T 上,而终点位于 X 上的某个位置。
Custom Level - 设置自定义层级。
Points Distribution - 选择一个 Distribution 来为最短路径算法创建搜索点。
Shortest Path 支持 Viewport 设置 中的 Draw Debug Information 选项,可用于预览 Points Distribution 中的点。
- 创建一个 Ellipse。
- 将其 Radius 设为
200,200。 - 创建一个 Shortest Path。
- 连接 ellipse.id→shortestPath.inputShape。
- 将 Shortest Path 的 Count 设为
20。 - 右键单击 Start Travel 属性,选择
Add Behaviour > Random。 - 将 Random 的 Maximum 设为
1。 - 更改 Shortest Path 上 Random Distribution 的 Seed 值。
可以使用 Mask Distribution 确保只有 Shape 内部的点才会被考虑用于最短路径。