A*寻路算法简单思路:
从A走步到B,不管路径怎样,总代价都等于每次走步代价之和。
因此求最短路径的问题就是求“当前走步消耗的代价G”与“剩余走步需要消耗的代价H(只能根据当前的已知情况进行估计)”之和F的最小值问题。
F = G + H;
当前可走步范围总是可确定的,因此H越是准确,路径也就会准确。
具体解决方案以及优化方案:
Using Binary Heaps in A* Pathfinding
RTS游戏中A*寻路算法优化,这篇优化方案又比较不同,且很巧妙
1.限制同时选定的移动单位个数
2.把寻路工作在时间上分散进行.
3.距离相近的单位公用一条路径.运用寻路兵,当然也有缺陷,详见原文链接。
其他寻路算法:
1. 在场景中设置若干关卡,作为寻路的导航,从A到B的寻路其实只需要检测A和B分别里哪个关卡最近就行了,效率很高,但路径不是很完美。
2. B*寻路算法,大多数情况下比A*效率高不少的算法
3. 四种寻路算法的比较