zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Unity之A星算法

算法 Unity
2023-09-11 14:19:57 时间

请添加图片描述

@作者 : SYFStrive

@博客首页 : HomePage

📌:个人社区(欢迎大佬们加入) 👉:社区链接🔗

📌:觉得文章不错可以点点关注 👉:专栏连接🔗

💃:程序员每天坚持锻炼💪

🔗:点击直接阅读文章
请添加图片描述
在这里插入图片描述
相关专栏

👉 Unity算法相关文章(专栏)(🔥)


简单说明

  1. 算法(A星算法)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。

  2. A星就是用来计算玩家进行路劲的,通过它可以计算出避开阻挡的最短路线

原理

  1. A星寻路算法的基本原理就是不停的找自己周围的八个点,选出一个距离目标最近的点作为起点在循环的找

  2. 寻路消耗公式

    F(寻路消耗) = G(距离起点的距离) + H (离终点的距离)

  3. A星相关条件

    1、 F(寻路消耗) = G(距离起点的距离) + H (离终点的距离)
    2、开启队列
    3、关闭队列
    4、格子对象的父对象

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

图解如 👇:

在这里插入图片描述

在这里插入图片描述

代码需求分享图

在这里插入图片描述
在这里插入图片描述

代码演示

格子类脚本如下📑

代码如 👇:

在这里插入图片描述

A星寻路管理器脚本📑

代码如 👇:

在这里插入图片描述

最后效果

请添加图片描述

原理图:

在这里插入图片描述

最后

在这里插入图片描述

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

                 专栏连接🔗

在这里插入图片描述

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

在这里插入图片描述