Navigation Mesh 导航网格。将场景可行走区域分割成若干相邻凸边形(三角形),这些凸边形将场景表示成了图状结构。图的节点表示开放区域,在区域内部任意点都可以直线可达
在配置的Draw里可以画出这些。
Generation配置:
- Cell Size 格子内的三角细分数,越细空间内物体导航边缘越近
- Cell Height 导航网格距地面高度
- TileSizeUU 平铺瓦片大小
- Agent Radius 代理人半径(寻路预估时使用的),影响TileSizeUU
- Agent Height 代理人高
- Agent Max Slope 代理人最大坡 (移动的坡?)
- Agent Max Step Height 代理人最大步高,(高于步高的Mesh会被导航网格忽略)
- Min Region Area 最小区域面积,小于这个区域将被丢弃(在导航网格内不连通的),于PDF Setup3有介绍。
- Merge Region Size 合并区域大小,PDF Setup3会将小区域合屏。
- Max Simplification Error 最大简化错误,影响导航网格内物体占用区域的精细度
- Sort Navigation Areas by Cost 导航区域按费用排序,影响生成速度,如果需要消耗费用与区域有一个好的关连。
Generation配置2:
- Max Simultaneous Tile Generation Jobs Count 最大同时瓦片生成数
- Tile Number Hard Limit 导航网格磁砖数量限制
- Poly Ref Tile Bits,Nav Poly Bits,Salt Bits 多面体(polyhedron)瓦片字节,导航多面体字节,salt盐?字节
- Region Partitioning 区域分割,选择导航网格的分割方法。
方法:Watershed(分水岭PDF Setup3)、Monotone(CGAL里有Monotone Partitioning)、Chunky Monotone
Watershed分割的网格可形状太小不一,Chunky Monotone分割的都一样大小。 - Layer Partitioning 层分割 同上
- Region Chunk Splits 大块区域分割,分割法Chunky Monotone使用的参数,在勾选了Draw Poly Edges后可看出效果
- Layer Chunk Splits 大块层分割,同上
- Perform Voxel Filtering 执行体素过滤,影响生成性能
- Mark Low Height Areas 标记高度不足的区域,代替切割方法
- Do Full Async Nav Data Gathering 完全异步导航数据收集
Query配置:
- Heuristic Scale 启发式比例,欧氏距离启发式比例使用于路径搜索 (启发式算法每次逼近目标,每次的比例-->大概)
- Vertical Deviation from Ground Compensation 垂直偏差于地面补偿,添加到每个搜索高度的值以补偿导航多面体与步行几何之间的错误
Runtime配置:
- Force Rebuild on Load 促使重建于加载时。默认情况下, 导航在成功加载后将跳过首次更新,设为false重写
- Runtime Generation 运行时生成。导航网格运行时生成选项
Static:无运行时生成,全静态导航数据。DynamicModifiersOnly:仅支侍修饰导航(NavModifer)更新。Dynamic:完全动态 - Observed Paths Tick interval 观察路径滴答间隔。所有观察到的路径将被处理于每个滴答间隔
- Can be Main Nav Data 可以是主要导航数据。如果设置,导航数据在导航系统的查询中可以充当默认值。
- Can Spawn on Rebuild 可生成在重构时。导航数据将生成在关卡重构期间如果Actor不存在。
导航网格构建记录:
构建导航网格数据
1、跟据代理构建或使用默认代理
2、代理有寻路搜索范围
3、设置代理大小半径防蹭墙
4、有步高,步高内构建平路网格有坡度
5、导航网格区域组件 可选使用的代理
6、导航的对象不使用物理模拟会上浮或下沉于有坡度的面。
相关文档
https://files.cnblogs.com/files/mattins/MikkoMononen_RecastSlides.pdf