@作者 : SYFStrive @博客首页 : HomePage :个人社区(欢迎大佬们加入) :社区链接 :觉得文章不错可以点点关注 :专栏连接 :程序员每天坚持锻炼 :点击直接阅读文章

Unity算法相关文章(专栏)()

目录

简单说明原理代码需求分享图代码演示格子类脚本如下A星寻路管理器脚本

最后效果最后

简单说明

算法(A星算法)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。 A星就是用来计算玩家进行路劲的,通过它可以计算出避开阻挡的最短路线

原理

A星寻路算法的基本原理就是不停的找自己周围的八个点,选出一个距离目标最近的点作为起点在循环的找 寻路消耗公式 F(寻路消耗) = G(距离起点的距离) + H (离终点的距离) A星相关条件 1、 F(寻路消耗) = G(距离起点的距离) + H (离终点的距离) 2、开启队列 3、关闭队列 4、格子对象的父对象

文字总结说明:找到原点周围的8个点然后(有阻挡就返回NUlll)  保存到开启队列中(通过队列的Sort方法进行排序拿到第[0] ,就是距离目标最近的点)  然后把这个点添加到关闭队列 (依次循环) 直到与目标点相等

图解如 :

代码需求分享图

代码演示

格子类脚本如下

代码如 :

A星寻路管理器脚本

代码如 :

最后效果

原理图:

最后

本文到这里就结束了,大佬们的支持是我们更新的最大动力,希望这篇文章能帮到大家

 

                 专栏连接

下篇文章再见ヾ( ̄▽ ̄)ByeBye

查看原文