【Astart寻路插件】Unity3d 寻路插件A*Pathfinding学习与研究
发布日期:2021-06-30 11:40:44
浏览次数:2
分类:技术文章
本文共 1745 字,大约阅读时间需要 5 分钟。
推荐阅读
Unity3d 寻路插件A*Pathfinding学习与研究
参考资料
下载链接
https://arongranberg.com/astar/download
https://pan.baidu.com/s/1-nUJxwR0GOa9UfN9YuVZ1Q从A*寻路项目开始
寻路就是寻找A点和B点之间的最佳路径,这就是A*路径发现项目所做的,在本教程中,您将学习如何在新场景中设置项目,并在避免障碍的同时获得一个简单的AI移动。
这个AI你将写将不会很先进,它只是最低数量的代码,以获得移动和跟随一条道路。如果您想要更高级的人工智能,您可以扩展本教程中将要编写的脚本,或者使用(或扩展)AIPath或里奇包中包含的脚本(见第2部分,RichAI组件的基本用法)。
概述
- A*Pathfinding插件的核心脚本就是AstarPath.cs脚本,它是场景中使用路径查找的组件。它是其他脚本的基础,负责生成寻路图形,并调整所有设置
- AstarPath.cs脚本只能在场景中存在一个,不能重复
- AstarPath.cs脚本可以在菜单栏->Components–>Pathfinding–>Pathfinder上找到。
- 第二个重要的组件是Seeker.cs组件,附加在需要使用路径查找的游戏对象上,例如AI
- 为了能让寻路的对象移动,需要添加脚本,这个移动的脚本可以自己编写,也可以用已经写好的移动脚本(AIPath, RichAI, AILerp)
- 处理路径平滑的脚本SimpleSommthModifier.cs,处理之后路径平滑或者简化一些
首先是场景准备
- 先创建一个Panel,让其坐标位于(0,0,0)上,然后x轴、z轴扩大10倍,y轴不变
- 再创建几个Cube,设置成障碍物
- 接着设置Tag Edit->Project Settings->Tags&Layers 一个Tag设置成Ground->地面 一个Tag设置成Obstacle->障碍物 将Planel的Tag设置成Ground 将创建的一个Cube障碍物设置成Obstacle
现在我们来添加寻路网格
创建一个新的GameObject,命名为“A*”,向其添加“AstarPath”组件(菜单栏->Components->Pathfinding->Pathfinder)。
Width跟Depth设置网格的长度和宽度,由于跟Unity的单位是一样的,设置成100*100就行了 NodeSize节点的宽度,设置成1就行了 MaxClimb可以爬升的最大高度 MaxSlope可以爬升的最大斜度 Erosion iterations 这个就是障碍物避让的设置,如果寻路的时候穿过障碍物的话就可以把这个设置大一些添加Ai
添加一个胶囊体,添加移动脚本让它移动 这个时候有两种选择,1就是自己编写脚本,更能理解这个脚本的运行过程 2就是使用已经写好的脚本AIPath, RichAI and AILerp AIPath脚本可以用于任何图形,而RichAI主要用于基于Navesh的图形。虽然AIPath和RichAI脚本松散地遵循路径,但AILerp脚本使用插值非常精确地沿着路径移动,但可能不是以最现实的方式。你用哪一个取决于你的游戏。不同的脚本在不同的示例场景中使用,您可以查看它们的不同之处。 在这个案例中,我们可以添加AIPath脚本,这个组件只是一个非常简单的助手脚本,它将告诉AIPath脚本移动到特定的位置。将来,您可能会用自己的游戏特定脚本来替换这个脚本。 添加AIDestinationSetter组件,有一个名为“Target”的字段,将前面创建的“Target”GameObject分配给这个字段。平滑
OK,对象是不是开始朝着目标点移动了。是不是感觉有什么不对劲,对,路径怎么歪歪曲曲的
这个时候就要添加光滑组件了 给对象添加上这个组件 菜单栏–>Components–>Pathfinding–>Modifiers–>Simple Smooth 现在再按下播放,路径应该看上去更流畅,正如我们所希望的。 OK。这次的学习就到这里吧,后续会有更新的。 有什么不对的请大家给我指正出来,谢谢。。。转载地址:https://itmonon.blog.csdn.net/article/details/80528457 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月08日 23时56分21秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
基于SSH保险业务管理系统的设计与实现
2019-04-30
基于SSH框架的电影订票系统网站的设计与实现
2019-04-30
基于SSM和MySQL实现的多业务农情信息云平台
2019-04-30
马原复习笔记(老师勾画的重点以及相应的习题练习)
2019-04-30
嵌入式系统开发(STM32)复习笔记
2019-04-30
数据挖掘概念与技术复习
2019-04-30
洋酒销售系统的设计与实现
2019-04-30
javaWeb校园二手平台项目
2019-04-30
java的陶瓷工厂进销存管理系统的设计与实现
2019-04-30
java物流网站的设计与实现
2019-04-30
基于java的企业车辆管理系统的设计与实现
2019-04-30
基于java的企业员工管理系统的设计与实现
2019-04-30
基于java的赛北村旅游网站的设计与实现
2019-04-30
基于java的搜索引擎的设计与实现
2019-04-30
基于java的陶瓷工厂进销存管理系统的设计与实现
2019-04-30
基于java的网络考试系统的设计与实现
2019-04-30
基于java的网络爬虫技术的网络新闻分析
2019-04-30
病历管理系统设计与实现
2019-04-30
高校固定资产管理系统
2019-04-30
关于java博网即时通讯软件的设计与实现
2019-04-30