引言
寻路系统是当今众多游戏中不可或缺的功能模块。比如格子游戏中的格子寻路,塔防怪物的行进路径,捕鱼游戏中的鱼群路径,RPG游戏中的怪物AI等,不同的需求对应的寻路策略的选择也不尽相同。
正文
在Unity3D中我们一般常用的寻路策略有:
1. 路点寻路(WayPoint)
路点寻路是最简单,易理解,易操作的(如下图):需要预先设置好路径点坐标集合。然后对象按照规定的坐标集合运动。这种策略成熟的插件为Simple Waypoint System, 可在Asset Store获得。 使用较好的地方:塔防怪物行进路线,鱼群游动路径,AI的巡逻路径。
劣势:(1):如大量怪物在某区域漫游,为了使怪物的漫游看起来更逼真则需要放置更多的路径点。即便如此怪物仍会选择到一些曲曲折折的路径,除非添加更大量的点。这样则造成了更多的工作内容,且效率低下。(2):只能按照规定好的路线行进,如果突然出现一个障碍物,则无法躲避,因为它对路径点以外的东西一无所知(3):路径点不支持参数不同的单位。比如下图一个玩家和一个坦克,玩家完全可以按照红色箭头路线行进。但坦克却不得不与障碍物保持一定距离以避免碰撞如蓝色箭头。
2. U3D自带的导航网格寻路(NavMesh&#