简介
网格连接(OffMeshLink)组件(Component)用于合并无法使用可行走表面表示的导航快捷方式。
组件逻辑
当您希望使用网格连接将两个无法使用可行走表面表示的导航网格,需要执行以下步骤:
- 确定可供跨越的两个表面都有可供导航的网格。
【Off_Mesh_Link001.png】
如图中希望建立可以定义从平台跳向地面的路径。
- 在跨越的两个表面上分别创建空 游戏对象(Game Object)用于定义网格连接的起始位置和结束位置(落脚点),您可以在 层级窗口(Hierachy)中点击鼠标右键,选择 创建空对象(Create Empty)选项进行创建。
【Off_Mesh_Link002.png】
- 需要注意这两个空游戏对象都要位于导航网格上。
【Off_Mesh_Link003.png】
- 您可以在起始位置和结束位置中选取任一游戏对象创建网格连接组件,也可以用一个新的空游戏对象管理网格连接组件,无论是哪种方法,您都需要将代表起始位置和结束位置的游戏对象指向网格连接组件的 开始(Start)和 结束(End)属性中。
【Off_Mesh_Link004.png】
至此可使用的网格连接已经完成配置。如果通过网格连接的路径比通过导航网格上行走的路径短,则 AI 代理(AI Agent)会跨越网格连接进行寻路。
【Off_Mesh_Link005.gif】
创建方法
网格连接(OffMeshLink)组件(Component)通常创建在统一管理网格连接的空 游戏对象(Game Object)或起始位置、结束位置的空游戏对象上,需要在 场景编辑器(Scene Editor)的 层级窗口(Hierarchy)中,选中管理此网格连接的 游戏对象(Game Object)。
方法一:
选中对应的游戏对象后,在 检视窗口(Inspector)窗口中用鼠标左键点击 添加组件(Add Component)> 导航网格(Navigation Mesh)> 网格连接(OffMeshLink) 进行创建。
【Off_Mesh_Link006.png】
方法二:
选中对应的 游戏对象 后,在 菜单栏(Menu Bar)中点击 组件(Component)> 导航网格(Navigation Mesh)> 网格连接(OffMeshLink) 进行创建。
【Off_Mesh_Link007.png】
属性
网格连接(OffMeshLink)组件(Component)包含以下属性:
【Off_Mesh_Link008.png】
| 名称 | 描述 |
| 开始(Start) | 指向网格连接起始位置的 游戏对象(Game Object),该游戏对象 变换(Transform)的 位置信息(Position)即为网格连接的起始位置。 |
| 结束(End) | 指向网格连接结束位置的 游戏对象(Game Object),该游戏对象 变换(Transform)的 位置信息(Position)即为网格连接的结束位置。 |
| 双向(Bidirectional) | 设置此网格连接是否为单向通行。 勾选,AI 代理不仅可以从起始位置跨越至结束位置,也可以从结束位置跨越至起始位置。 不勾选,AI 代理仅能从起始位置跨越至结束位置,在结束位置不能跨越回起始位置,通常应用于定义悬崖等有去无回的路径中。 |
| 激活(Activated) | 设置 AI 代理是否将使用此连接。 勾选,网格连接处于激活状态,能正常被 AI 代理使用、跨越。 不勾选,在烘焙导航网格时将忽略此网格连接。 |
| 区域(Area) | 定义导航连接的区域类型。不同的区域定义了不同 AI 代理跨越此网格连接的难度和可行性,在路径查找过程中将优先选择 成本(Cost)较低的区域。关于区域的具体设置和定义,请参阅 导航网格分区 章节。 |

勾选,AI 代理不仅可以从起始位置跨越至结束位置,也可以从结束位置跨越至起始位置。
不勾选,AI 代理仅能从起始位置跨越至结束位置,在结束位置不能跨越回起始位置,通常应用于定义悬崖等有去无回的路径中。
勾选,网格连接处于激活状态,能正常被 AI 代理使用、跨越。
不勾选,在烘焙导航网格时将忽略此网格连接。