Unity算法——A*(AStar)寻路算法概要及简单应用

本文介绍了Unity中A*寻路算法的基本概念和原理,阐述了估量代价F、G和H的计算方式,并通过开放列表与关闭列表的使用解释了算法的实现步骤。同时,提供了简单的代码实现,包括AStarController和GridController,以帮助理解A*算法在游戏开发中的应用。
摘要由CSDN通过智能技术生成

非常简陋的版本的GIF图,放在开头。

前言:

再Unity中寻路导航是游戏开发的最基本的需求之一

什么是A*寻路算法:

A*算法呢,*是什么呢,以一个网格为中心点,他周围八个方向的网格就是*,

 

  • A寻路算法的估量代价*
    在A*算法中核心的寻路依据就是估量代价,在A*中通常用 F 表示。F = G + H
    其中G表示当前点到起始点的估量代价,H表示当前点到终点的代价。

(起始点周围的八个点)

每个点里面的三个数字分别为:1.左下角是距离起始点的估量代价,记为G。A距离中心点的距离为1的直线距离,B距离中心点的距离为根号2,约1.4,在这里基础单位为10的话,A的起始点估量代价G=10,B的起始点估量代价G=14 。 2.右下角是距离终点的估量代价,记为H,为该点到终点的步数既几步可达终点。3.左上角是综合估量代价,记为F=G+H,起始点估量代价与终点估量代价的和;

(网图,其中一些估量代价是错的,仅供参考,侵删)

A*算法的核心是两个集合分别为开放列表与关闭列表:Open List,CloseList

原理:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值