NavMesh(导航网格)
定义游戏世界可行走表面的数据结构,是寻路算法的基础输入。
核心组成
- 节点(Node):表示可行走区域的连接点
- 边(Edge):节点之间的可通行连接
生成方式
| 方式 | 工具 | 特点 |
|---|---|---|
| 手动编制 | Blender + 导出插件 | 精确控制,耗时 |
| 程序化生成 | 自定义代码 | 灵活,复杂 |
| 自动生成 | oxidized_navigation | 从碰撞体自动导出,低门槛 |
高级特性:带成本的节点
不是二元可行/不可行,而是每个节点有穿越成本:
- 泥地、浅水 → 成本高
- 平地 → 成本低
- AI 会自动选择成本最低的路径
在 Bevy 中的实现
bevy_landmass 将 NavMesh 实现为 Asset,支持:
- 运行时程序化生成
- 从文件加载
- Bevy 资产服务器管理
相关
- oxidized-navigation — 自动化生成
- astar-pathfinding — 基于 navmesh 的寻路
- bevy-landmass — Bevy 导航插件
- research-arpg-mapgen-practices — 行业文把运行时异步 bake 当底线;SideDawn #33 暂时不 bake