U3L20-1——导航网格的生成(NavMesh)
U3L20-1——导航网格的生成(NavMesh)
准备地形
在进行导航寻路网格生成时,第一步是需要有地形,地形由美术同学制作
打开导航网格数据窗口
Window ——> AI ——> Navigation 打开Unity内置的导航网格生成窗口
参数相关
Object 场景对象设置页签
在这里设置需要烘焙导航网格的地形对象,以及该对象的地形性质
-
Sceme Filter: 场景过滤器,配合Hierarchy窗口使用
- All:显示场景上所有对象
- MeshRenderers:显示挂载的网格渲染器的对象
- Terrains:显示挂载了地形脚本的对象
-
Navigation Static 导航静态物体开关
被选中的物体会自动变为Navigation Static
非常重要,所有想要为其生成导航网格的地形都需要选中它 -
Generate OffMeshLinks 生成网格连接点开关****例如两个分离开的地形如果要连接网格就需要选择它
-
Navigation Area 导航区域选择,配合Areas页签使用
该项将决定地形对象的寻路消耗
Bake 导航数据烘焙页签
根据需要导航的对象的各种情况(大小,爬坡能力等),决定导航网格如何烘培
-
Agent Radius 代理半径 决定了烘焙边缘精确度控制平台可行走区域和边缘可行走区域****半径越窄,可行走区域就越大
这一项取决于需要导航的对象的粗细 -
Agent Height 代理高度 决定了烘焙高度精确度****控制拱桥是否可以穿越,这一项取决于需要导航的对象的高度
-
Max Slope 最大坡度 斜坡度数
决定了斜坡是否可以行走****这一项取决于需要导航的对象能爬上的坡的坡度 -
Step Height 最小楼梯高度
决定了台阶是否可以行走****这一项取决于需要导航的对象能踩上多高的台阶 -
Generated off mesh Links 生成非网格连接****两个分开的网格之间连接相关设置设置前请确认打开了Object页签的Generate OffMeshLinks
- Drop Height 掉落高度
可以从这个高度掉下来 - Jump Distance 跳跃距离
决定不同平面上的跳跃距离
- Drop Height 掉落高度
-
Advanced
-
Manual Voxel Size 手动设置立体像素大小
- Voxel Size 开启前者后可以在这里设置立体像素大小
可以控制烘焙的准确度
立体像素大小描述了生成的导航网格表示场景几何体的准确程度 - 注意:立体像素大小减半会使内存使用量增加4倍,构建时间也增加4倍
一般情况下不需要修改这个值 除非想要极其准确的导航网格
- Voxel Size 开启前者后可以在这里设置立体像素大小
-
Min Region Area 最小区域面积
当面积小于此处值的导航网格区域会被移除 -
Height Mesh 高度网格构建开关
主要用来解决楼梯烘焙为斜坡时
希望在楼梯表面的位置准确的放置在楼梯平面上而不是斜坡上
启用它会增加烘焙时间
-
Areas 导航地区页签
配合Object页签使用,用来决定各个地形的寻路消耗
- Name 区域名字
- Cost 寻路消耗
消耗越大,导航系统越容易绕开使用了该页签的地形
Agents 代理页签
用于配置寻路代理信息,参数和烘培页签上差不多
- 可以为不同的需要导航的对象,设置不同的代理,
以应对不同对象的寻路情况