什么是导航网格系统?
前言:作为刚开始学习unity3d的菜鸟,将学习中觉得值得记笔记的地方分享给大家一起探讨,文中有理解错误的,勿怪哈!
unity3d 的NavMesh导航系统是一种用于动态物体自动寻路的技术。动态物体就是在游戏中可以运动的物体,一般是有生命的游戏角色,比如玩家英雄、怪物等。很多rpg游戏、实时对战游戏都是使用导航寻路,鼠标右击地图上的某点,游戏角色自动找出到达该地点的最佳路线,然后以一定速度前往该目的地,这就是导航寻路。静态物体就是游戏地图中位置和形状稳定的、可以形成导航网格的物体,常见的有地形、建筑物等。
unity3d的NavMesh导航系统的原理是根据A算法演变而来的,A算法是针对2D地图生成导航网格的算法,简单的说是把2D地形分成一个个矩形网格,然后按照广度优先算法,从起始点格子向周围的各自一层层探测,直到探测到目标点所在网格,比如
从A点导航到B点,首先将地图分成矩形网格,然后从A格子开始向周围的8个格子依次探索,如果周围的8个格子没有找到目标点B,则依次探索8个格子周围未探索的格子,直到找到B点所在格子,然后生成从A点到B点的路线。具体A算法可以自行查找资料。
unity3d的Nav