非常简陋的版本的GIF图,放在开头。
前言:
再Unity中寻路导航是游戏开发的最基本的需求之一
什么是A*寻路算法:
A*算法呢,*是什么呢,以一个网格为中心点,他周围八个方向的网格就是*,
- A寻路算法的估量代价*
在A*算法中核心的寻路依据就是估量代价,在A*中通常用 F 表示。F = G + H
其中G表示当前点到起始点的估量代价,H表示当前点到终点的代价。
(起始点周围的八个点)
每个点里面的三个数字分别为:1.左下角是距离起始点的估量代价,记为G。A距离中心点的距离为1的直线距离,B距离中心点的距离为根号2,约1.4,在这里基础单位为10的话,A的起始点估量代价G=10,B的起始点估量代价G=14 。 2.右下角是距离终点的估量代价,记为H,为该点到终点的步数既几步可达终点。3.左上角是综合估量代价,记为F=G+H,起始点估量代价与终点估量代价的和;
(网图,其中一些估量代价是错的,仅供参考,侵删)
A*算法的核心是两个集合分别为开放列表与关闭列表:Open List,CloseList
原理: