目录
基础简介
Unity的导航系统是需要先分析场景中的自由活动区域和障碍区域,简单说就是先在编辑器模式下进行烘焙生成场景信息,然后再运行A*算法计算出路径。
在Unity的Window选项中打开导航系统的面板
可以看到面板里一共有四个选项卡
Object
Scene Filter是过滤器,可以根据不同的选择在层次面板中隐藏部分物体
在层次面板中选中某个游戏物体后,Object选项卡会多出几个参数
首先我们可以看到选中物体的网格信息,下面就是三个属性
Navigation Static:指明物体是静态还是动态的,只有勾选了这个才会在烘焙的时候被导航系统记录
Generate OffMeshLinks:指明物体是否根据高度、可跳跃宽带等信息自动生成链接
Navigation Area:指明物体对应于导航系统的区域:Walkable(可行走)、NotWalkable(不可行走)、Jump(可跳跃)
Bake
在这里可以设置导航网格的相关信息进行烘焙。
如果游戏里的地形环境太复杂,不太容易进行烘焙。可以尝试用一些简单的3D模型搭建一个辅助形状进行烘焙。
Areas
对应于Object选项卡中的Navigation Area属性,用来设置路径的层,Cost是指对应层的一个估值(类似于消耗的代价,当对于同一个目标的有多条路径时系统会选择Cost值较小的那一条)