UnityA*导航算法,通俗易懂

news2025/2/7 9:24:08

首先A*寻路算法分为2D算法和3D算法,目前它甚至不如NAVMesh算法效率高。但NAVMesh不适用于2D,因此2D还是要靠A*算法来进行实现。

当前就来说说2D是如何实现的。

首先2DA*算法先要将地图划分成格子分块标记成二维数组

每个格子依据x,y(位置),id编号、权重值形成一个int【】【】【】【】的数组,确定每一个格子的位置

接下来假设由A到B进行A*寻路

首先选取A点附近的4个或8个点(红色为4个的位置,在4个基础上多出来的蓝点就是取8个点的位置)

(本次我们选取为8个点来进行讲解,如果只允许对象水平防线移动就只能选取四个点了)

接下来将这8个点可进行依次存储,看下这8个点中哪个点距离B点近选取这个点

再从这个点选取8个点,以此类推,直到这8个点中有b点,说明导航完成

这是他的基本算法原理

遇到障碍物咋办?

按照上面的逻辑他应该是这样

取到上面的红色点位死了

到这A*发现走不通了,此时就要回来

说明遇到障碍物到这边走不通,得换个方向

这就要说到权重问题

此时发现走这一遍的时候遇到了障碍物,走了最小的1权重后走不动了

因此要在撞墙的时候记录一下这写坐标的权重,以防止走不通的情况发生,这时就选取2来进行寻路再依次向下查找

这样就完成了导航,但是这样在遇到复杂的迷宫导航时可能会因此造成巨大的计算量开销,因此要注意!

因此在开放世界大地图中导致通常采用“四点导航”,鉴于篇幅不小了,以后看情况再更新吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/641233.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

又一新型技术全面铺开,高精度光刻机已突破壁垒,赶超只是时间

众所周知,光刻机是制造高精度芯片的关键步骤。 随着科技的不断进步,光刻机的精度和速度也在不断提高,使得我们可以制造出更小更精细的芯片,满足了人们对于高性能电子设备的需求。 我国的光刻机技术,国产大飞机&#x…

【华为OD机试真题2023B卷 JAVAJS】二维伞的雨滴效应

华为OD2023(B卷)机试题库全覆盖,刷题指南点这里 二维伞的雨滴效应 知识点递归树 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 普通的伞在二维平面世界中,左右两侧均有一条边,而两侧伞边最下面各有一个伞坠子,雨滴落到伞面,逐步流到伞坠处,会将伞坠的信息携…

UML类图(二)

相信希望,相信自己 上一章简单介绍了 设计模式的原则(一), 如果没有看过,请观看上一章 本文参考文章: 常见UML符号详解 UML (Unified modeling language) 统一建模语言,是一种用于软件系统分析和设计的语言工具, 它用于帮助软件开发人员进行…

强烈推荐协同办公的三个小工具

强烈推荐协同办公的三个小工具 这里给大家推荐三个可以用于协同办公的小软件工具。那么,什么是协同办公呢?直接下定义给个概念那就不好玩了,所以我直接推荐这么几个协同软件大家就懂了。 ONLYOFFICE办公软件 具体的软件截图我这里就不贴了&…

【Android】Frida Hook 文件读写操作

前言 在挖掘客户端漏洞的时候,通常会关注应用对什么文件进行了读写操作,当我们能控制被读的文件或观测到敏感写入的文件,通常可以造成一定危害。本文详细介绍了如何通过frida监控文件读写操作。 相关知识 1. 读写相关调用api 在Linux系统…

有哪些自媒体平台有播放量就会有收益?

自媒体是近年来兴起的一种新型媒体,指的是由个人或小团体通过互联网自行发布内容,通过社交媒体等渠道传播和推广的媒体形态。自媒体平台的出现,让更多人能够自由发表意见和观点,实现了信息的自由传播。同时,随着互联网…

跨平台.NET应用UI组件DevExpress XAF v22.2亮点 - 支持.NET 7

DevExpress XAF是一款强大的现代应用程序框架,允许同时开发ASP.NET和WinForms。DevExpress XAF采用模块化设计,开发人员可以选择内建模块,也可以自行创建,从而以更快的速度和比开发人员当前更强有力的方式创建应用程序。 在新版中…

数据结构——二叉树基础结构篇(C语言)

引言 现在是北京时间2023年6月13日9点11分。从决定要开始减脂之后,饥饿总是伴随着我。一觉起来肚子咕咕叫,我还是想先把文章发了再吃第一餐。燕麦加蛋白粉几乎伴随了我大学的第一年早饭。昨天练了一个小时背,练背后还做了45分钟有氧。空腹训…

BeautifulPrompt:PAI推出自研Prompt美化器,赋能AIGC一键出美图

作者:曹庭锋、汪诚愚、吴梓恒、黄俊 背景 Stable Diffusion(SD)是一种流行的AI生成内容(AI Generated Content,AIGC)模型,能在文字输入的基础上生成各种风格多样的图像。在目前的AIGC方向&…

十五周算法训练营——普通动态规划(上)

今天是十五周算法训练营的第十一周,主要讲普通动态规划(上)专题。(欢迎加入十五周算法训练营,与小伙伴一起卷算法) 斐波那契数 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那…

设计模式——适配器模式

1.定义 将一个类的接口转换成客户所希望的另一个接口,Adapter模式使得那些原本因为接口不兼容而不能一起工作的那些类可以一起工作。 2.使用场景 一般来说,适配器模式可以看作一种“补偿模式”,用来补救设计上的缺陷。应用这种模式算是“无…

驱动开发:内核LoadLibrary实现DLL注入

远程线程注入是最常用的一种注入技术,在应用层注入是通过CreateRemoteThread这个函数实现的,该函数通过创建线程并调用 LoadLibrary 动态载入指定的DLL来实现注入,而在内核层同样存在一个类似的内核函数RtlCreateUserThread,但需要…

【模型评估】AP 和他们的兄弟们:mAP、AP50、APs、APm、APl

AP是在目标检测任务中,尝尝被用于评估模型预测能力的指标。那AP是什么?为什么能够充当不同模型综合对比评测的公认指标呢? 在学习下文之前,混淆矩阵和ROC可以先了解下: 【模型评估】混淆矩阵(confusion_m…

世界中西医结合医学研究院一行莅临万民健康交流指导

为进一步发展中医药产业,深入挖掘中医药文化,坚持中西医并重,传承精华,守正创新,助力乡村振兴、促进乡村医疗产业发展。6 月 10 日 , 世界中西医结合医学研究院医学工程院院士罗先义 、谈家桢生命基金会主任…

测试左移及其相关实践

本文首发于个人网站「BY林子」,转载请参考版权声明。 之前在《敏捷测试的核心》、《构建测试的体系化思维(进阶篇)》和《一页纸测试策略》等文章中提到过测试左移,但是没有专门针对这个主题做过系统的介绍,但又总是被社…

M4内核的FPU/DSP使用总结

FPU简介 近年,在Cortex-M3之后ARM公司又推出Cortex-M4内核,ARM Cortex-M4处理器是由ARM专门开发的最新嵌入式处理器,在M3的基础上强化了运算能力,新加了浮点、DSP、并行计算等。Cortex-M4处理器的最大亮点之一,也是本文…

dom-to-image分享多张异步图片遇到的坑

dom-to-image库 存在的问题 github-issue地址 问题:当超过一张图片时,ios/safari首次会出现某张图片空白,再次生成canvas才正常。 之前有一张图片时通过执行2次domtoimage.toJpeg(魔法),当超过1张图片时&a…

JavaWeb笔记(一)

Java网络编程 在JavaSE阶段,我们学习了I/O流,既然I/O流如此强大,那么能否跨越不同的主机进行I/O操作呢?这就要提到Java的网络编程了。 **注意:**本章会涉及到计算机网络相关内容(只会讲解大致内容&#x…

PyTorch 深度学习 || 专题八:PyTorch 全连接网络分类

PyTorch 全连接网络分类 文章目录 PyTorch 全连接网络分类1. 非线性二分类2. 泰坦尼克号数据分类2.1 数据的准备工作2.2 全连接网络的搭建2.3 结果的可视化 1. 非线性二分类 import sklearn.datasets #数据集 import numpy as np import matplotlib.pyplot as plt from sklear…

Java企业级信息系统开发学习笔记(4.2)Spring Boot项目单元测试、热部署与原理分析

该文章主要为完成实训任务,详细实现过程及结果见【http://t.csdn.cn/pG623】 文章目录 一、Spring Boot单元测试概述1.1 对项目HelloWorld01进行单元测试1. 添加测试依赖启动器和单元测试2. 创建测试类与测试方法 1.2 对项目HelloWorld02进行单元测试1. 添加单元测试…