寻路算法

A*寻路算法简单思路:

从A走步到B,不管路径怎样,总代价都等于每次走步代价之和。

因此求最短路径的问题就是求“当前走步消耗的代价G”与“剩余走步需要消耗的代价H(只能根据当前的已知情况进行估计)”之和F的最小值问题。

F = G + H;

当前可走步范围总是可确定的,因此H越是准确,路径也就会准确。

具体解决方案以及优化方案:

A星寻路算法介绍如何使用Cocos2D实现A星寻路算法

A* Pathfinding for Beginners

理解A*寻路算法具体过程

A* 寻路算法

Using Binary Heaps in A* Pathfinding

在A*寻路中使用二叉堆

RTS游戏中A*寻路算法优化,这篇优化方案又比较不同,且很巧妙

1.限制同时选定的移动单位个数

2.把寻路工作在时间上分散进行.

3.距离相近的单位公用一条路径.运用寻路兵,当然也有缺陷,详见原文链接。

 

其他寻路算法:

1. 在场景中设置若干关卡,作为寻路的导航,从A到B的寻路其实只需要检测A和B分别里哪个关卡最近就行了,效率很高,但路径不是很完美。

2. B*寻路算法,大多数情况下比A*效率高不少的算法

3. 四种寻路算法的比较

 

原文地址:https://www.cnblogs.com/pure/p/2699084.html