Unity算法之A星- A*Pathfind Project插件的使用
先上效果图
首先上 插件地址 (如果没有积分可以评论区联系我)
1.下载完毕后导入unity
导入后可以在Component里面看到多了一个Pathfinding选项

2.场景搭建
首先新建两个层级Layer,一个Obstacles层一个Ground层

新建好层级之后,创建一个Plane 设置一下大小(如下图),并把层级调成Ground

然后用cube设置一些路障,至于怎么摆放看你自己心情,设置完之后把层级设置成Obstacles
3.新建空物体重命名为A*,并添加脚本Pathfinder

点击Graphs

再点击GridGraph

这样网格就设置完毕了,点击Scan查看

可以看到蓝色的网格线

4.新建一个胶囊体代表人物,给人物添加脚本AIPath(2D,3D),会自动添加Seeker脚本

5. 这样设置完毕之后已经快要结束了,现在有了人物,还缺一个目标点,随便新建一个小球当成目标点
然后在人物身上添加一个AIDestinationSetter脚本,把目标点拖进去即可(如下图)

运行项目即可看到人物移动到目标点位置
6.如果你感觉路径线不是很平滑,也可以添加平滑脚本(加到人物身上)

在Inspector面板中可以修改参数,出现不同的平滑效果。
运行查看效果即可
注:如果遇到设置完之后,运行之后人物没有按Z轴移动,而是按Y轴飞出去的话,可以修改一下RaycastGroundMask 不选择全部,只勾选一个Ground,再次运行你就会发现正常了
再次修改回来(全部勾选)还是正常,不是很明白为什么

简单来说还是很好用,方便,快捷
搜索
复制
Unity算法之A星- A*Pathfind Project插件的使用的更多相关文章
- 算法 A-Star(A星)寻路
一.简介 在游戏中,有一个很常见地需求,就是要让一个角色从A点走向B点,我们期望是让角色走最少的路.嗯,大家可能会说,直线就是最短的.没错,但大多数时候,A到B中间都会出现一些角色无法穿越的东西,比如 ...
- [Unity算法]A星寻路(一):基础版本
参考链接: https://www.cnblogs.com/yangyxd/articles/5447889.html 一.原理 1.将场景简化,分割为一个个正方形格子,这些格子称之为节点(node) ...
- A*搜寻算法(A星算法)
A*搜寻算法[编辑] 维基百科,自由的百科全书 本条目需要补充更多来源.(2015年6月30日) 请协助添加多方面可靠来源以改善这篇条目,无法查证的内容可能会被提出异议而移除. A*搜索算法,俗称A星 ...
- 算法之A星算法(寻路)
1.启发式搜索:启发式搜索就是在状态空间中的搜索对每一个搜索的位置进行评估,得到最好的位置,再从这个位置进行搜索直到目标.这样可以省略大量无谓的搜索路径,提高了效率.在启发式搜索中,对位置的估价是十分 ...
- [Unity算法]点是否在多边形范围内
参考链接: https://www.zhihu.com/question/26551754 http://www.cnblogs.com/leoin2012/p/6425089.html 原理如下: ...
- [Unity算法]斜抛运动(变种)
之前的斜抛运动,如果运动到游戏中,显然是太呆板了,那么可以试着加入一些效果,让它看起来更生动一些,类似游戏中的击飞或者掉落效果: 1.在达到最高点的时间点±X的时间段内,会有“减速”效果,形成一种在空 ...
- [Unity算法]弧度和角度
参考链接: https://zhidao.baidu.com/question/576596182.html 1.弧度和角度的转换 2.sin函数 3.cos函数 4.tan函数 5.特殊的三角函数值 ...
- [Unity算法]斜抛运动
斜抛运动: 1.物体以一定的初速度斜向射出去,物体所做的这类运动叫做斜抛运动. 2.斜抛运动看成是作水平方向的匀速直线运动和竖直方向的竖直上抛运动的合运动. 3.它的运动轨迹是抛物线. Oblique ...
- [Unity算法]平抛运动
平抛运动: 1.物体以一定的初速度水平方向抛出,如果物体仅受重力作用,这样的运动叫做平抛运动. 2.平抛运动可看作水平方向的匀速直线运动以及竖直方向的自由落体运动的合运动. 水平方向位移:s = v ...
- 《全民无双》锁链刀光程序生成算法,即U3D——刀光轨迹插件的改进
<全民无双>手游12月17日上线登录APPSTore付费榜前十,首先特别恭喜还在<全民无双>坚持奋战的老同事们,顺便技术分享一下以前参与项目时的工作 锁链刀软武器刀光轨迹 之前 ...
随机推荐
- GP232RL国产USB串口如何兼容FT232RL开发资料
GP232RL是最新加入 ftdi 系列 usb 接口集成电路设备的设备. 232r是一个 usb 到串行 uart 接口,带有可选的时钟发生器输出,以及新的 ftdichip-idTM 安全加密器特 ...
- 常用ansible命令梳理
命令的具体格式 : ansible <host-pattern> [-f forks] [-m module_name] [-a args] 场景 命令 查询线上所有机器某个文件的含有某个 ...
- 学习lua-06,异常提示,错误处理
addNum = function(a, b) assert(type(a) == 'string','a必须是一个字符串') assert(type(b) == 'string','b必须是一个字符 ...
- webpack5 与webpack4 之间差别
1.terserPlugin webpack4 上需要下载安装 terser-webpack-plugin 插件,并且需要配置,webpack5 上生产模式下默认开启压缩,开发环境也可以按如下配置 / ...
- 链接mysql数据库报错:2003-cant connect to Mysql server on ‘localhost’(10038)
今天用navicat连mysql时候突然报错了 我百度了一下,知道了是mysql服务没开,但是我打开了服务,发现服务里面没有mysql,于是就去cmd以管理员身份打开命令提示符,切换到安装mysql的 ...
- Mysql-Mybatis常用动态Sql语句
1.<if> <select id="" parameterType="" resultType=""> selec ...
- Linux 第十二节(samba NFS )
samba 跨平台共享,基于smb协议. NFS yum install samba cd /etc/samba //samba配置文件 mv smb.conf smb.conf_bak ...
- 在C#中Release与Debug的区别小案例
我们都听说过C#写的代码 Release通常会比Debug性能要好一点跑得快一些. 先普及一些相关基础知识: (1)在CLR中将对sbyte.byte.short.ushort.int.uint.ch ...
- journalctl查看内核/应用日志
Systemd统一管理所有Unit的启动日志.带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志).日志的配置文件是/etc/systemd/journald.co ...
- jekins 入门
环境安装 gitlab 安装 使用 docker 安装 gitlab docker run -d --name gitlab --restart always --hostname gitlab.zd ...