在很多游戏中经常会有这样一种功能:鼠标右键点一下地图上的某个地方,角色就会自动前往所点击的地方,或者是点击一下任务就会开启自动寻路。这种功能其实就是导航系统或者叫寻路系统,可以实现自动寻找最近花费代价最低的路径并且会自动躲避障碍物等功能,unity本身就自带了导航系统,用法其实非常简单,接下来我们就演示一下。
1.首先简单搭建一个场景,最好是有平面有斜坡有台阶有障碍物,将场景搭建好后最好全部放入同一个父物体下,然后勾选检查面板右上角的静态选项,此选项必须勾选否则无法完成后续操作。
2.搭建好场景后选择窗口——>AI——>导航(navigation),在Inspector窗口中就可以看见多了一个导航的选项
其中有四个选项,分别是代理,区域,烘焙,对象。
代理就是需要导航的对象,比如角色小兵等
区域中有很多空选项就类似于layer一样,其实也差不多,导航中有不同的地形,比如有的地方是平地,有的地方是水域,有的地方是沼泽,区域中最后一项叫代价,数字越大代价越高,导航中考虑的优先级越低,比如同一个地方有两座桥,一座代价低一座代价高,那导航的时候就会更倾向于走代价低的那一座,即使要绕一点远路,当然这是要综合考虑的系统有算法会专门处理这样的情况。
烘焙是最重要的地方,你在导航面板所作的所有操作都需要选中目标点一下烘焙(Bake)才