Unity之A星算法

简介: Unity之A星算法

简单说明


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

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

原理


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

2.寻路消耗公式

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

3.A星相关条件

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

2、开启队列

3、关闭队列

4、格子对象的父对象

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

图解如 👇:

image.png

image.png

代码需求分享图


image.png

image.png

代码演示


格子类脚本如下📑


代码如 👇:

6.png

A星寻路管理器脚本📑


代码如 👇:

image.png

最后效果


2.gif

原理图:

8.png

最后


image.png

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

image.png

相关文章
|
2月前
|
搜索推荐 算法 C#
【Unity 3D】C#中冒泡排序、选择排序、插入排序等算法的详解(附源码 超详细)
【Unity 3D】C#中冒泡排序、选择排序、插入排序等算法的详解(附源码 超详细)
73 1
|
2月前
|
算法 定位技术 图形学
unity3d寻路算法
unity3d寻路算法
|
存储 人工智能 算法
Unity面试题——数据结构算法相关
Unity面试题——数据结构算法相关
189 1
|
算法 图形学
Unity图片优化-Dither算法(RGBA16优化)
在unity开发过程中,游戏图片占用了很大一部分的手机内存。所以在游戏开发中,对图片的优化也至关重要。 在Unity中常用的的图片格式有RGBA32,RGBA16,ETC,PVRTC等。这里我们主要讨论带透明通道的RGBA32和RGBA16这两种格式的图片在Unity占用的内存空间已经优化方案。
1895 0
|
算法 C# 图形学
unity C# 常用算法 和 算法复杂度
1、稳定性 归并排序、冒泡排序、插入排序。基数排序是稳定的 选择排序、快速排序、希尔排序、堆排序是不稳定的 2、时间复杂度 最基础的四个算法:冒泡、选择、插入、快排中,快排的时间复杂度最小O(n*log2n),其他都是O(n2) 3.排序算法的思想: (1)冒泡排序: 是相邻元素之间的比较和交换,两重循环O(n2);所以,如果两个相邻元素相等,是不会交换的。
2433 0
|
搜索推荐 图形学
Unity3d快速排序算法实现
快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
1094 0
|
算法 图形学
Unity3d二分查找算法实现
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。
851 0
|
17天前
|
存储 JSON 关系型数据库
【unity实战】制作unity数据保存和加载系统——大型游戏存储的最优解
【unity实战】制作unity数据保存和加载系统——大型游戏存储的最优解
30 2
|
17天前
|
图形学
【制作100个unity游戏之29】使用unity复刻经典游戏《愤怒的小鸟》(完结,附带项目源码)(上)
【制作100个unity游戏之29】使用unity复刻经典游戏《愤怒的小鸟》(完结,附带项目源码)
26 2