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