导航区域链接(NavMeshLink)
Version >= LayaAir 3.2
一、概述
NavMeshLink(导航区域链接)是LayaAir 3D导航系统中用于连接两个不同导航网格表面的组件。当场景中存在多个不连续的可行走区域时(如不同平台、楼层等),通过指定起点和终点来创建链接,使得代理可以在这些区域之间进行寻路。
该组件继承自BaseNav3DModifle。在LayaAir-IDE的属性面板中,该组件显示为导航区域链接。
关于3D寻路的整体介绍,请参考3D寻路。
二、属性说明
| 属性 | 说明 |
|---|---|
代理类型 agentType |
设置可以使用此链接的代理类型。只有匹配的代理类型才能通过该链接进行寻路 |
区域标记 areaFlag |
设置该链接的区域类型标记,影响代理通过此链接时的代价计算 |
起始点 start |
链接的起始位置(Vector3)。指定链接的起点坐标,链接将从这个位置开始 |
终点 end |
链接的结束位置(Vector3)。指定链接的终点坐标,链接将在这个位置结束 |
宽度 width |
链接的宽度,决定了链接的可通过区域的大小 |
是否双向 bidirectional |
是否为双向链接。如果不勾选,则链接只能单向通行,代理只能从起点到终点 |
三、使用说明
3.1 添加链接
在需要连接两个不同导航表面的节点上添加导航区域链接组件,设置起点和终点的位置坐标,使其分别落在两个导航网格表面上或非常接近导航网格表面即可。
3.2 注意事项
- 导航区域链接不受烘焙影响,烘焙完之后也可以进行调整。
- 起点和终点不需要完全贴合NavMesh烘焙出来的网格,只需在NavMesh的有效范围内或非常接近NavMesh表面即可。
- 只要链接的端点与NavMesh有交点或非常接近,就足以创建有效的连接。
- 在实际使用时,可能需要微调链接的位置以获得最佳的寻路效果。
- 通过
agentType属性,可以为不同类型的代理设置不同的链接,实现差异化的寻路行为(例如只有人形角色可以爬梯子,坦克无法通过)。