Unity之A星算法
@作者 : SYFStrive
@博客首页 : HomePage
📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗
📌:觉得文章不错可以点点关注 👉:专栏连接🔗
💃:程序员每天坚持锻炼💪
🔗:点击直接阅读文章
![]()
👉
Unity算法相关文章(专栏)(🔥)
目录
简单说明
-
算法(A星算法)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。
-
A星就是用来计算玩家进行路劲的,通过它可以计算出避开阻挡的最短路线
原理
-
A星寻路算法的基本原理就是不停的找自己周围的八个点,选出一个距离目标最近的点作为起点在循环的找
-
寻路消耗公式
F(寻路消耗) = G(距离起点的距离) + H (离终点的距离)
-
A星相关条件
1、 F(寻路消耗) = G(距离起点的距离) + H (离终点的距离)
2、开启队列
3、关闭队列
4、格子对象的父对象
文字总结说明:找到原点周围的8个点然后(有阻挡就返回NUlll) 👉 保存到开启队列中(通过队列的Sort方法进行排序拿到第[0] ,就是距离目标最近的点) 👉 然后把这个点添加到关闭队列 (依次循环)👉 直到与目标点相等
图解如 👇:
代码需求分享图
代码演示
格子类脚本如下📑
代码如 👇:
A星寻路管理器脚本📑
代码如 👇:
最后效果
原理图:
最后
![]()
本文到这里就结束了,大佬们的支持是我们更新的最大动力,希望这篇文章能帮到大家💪
下篇文章再见ヾ( ̄▽ ̄)ByeBye