unity A*Pathfinding - 2D项目

2D项目自动寻路功能:寻找A点和B点之间的最佳路径,利用A*路径实现
 

1、创建空物体,挂在Astar Path(脚本名: pathFinder)

unity A*Pathfinding - 2D项目_第1张图片

 

2.创建游戏背景UI,在障碍物上添加box - 并将障碍物设置为指定层

unity A*Pathfinding - 2D项目_第2张图片

 

3. 描绘地图

unity A*Pathfinding - 2D项目_第3张图片

Width跟Depth设置网格的长度和宽度,由于跟Unity的单位是一样的,设置成背景图片大小就行了
NodeSize节点的宽度
勾选  use 2D Physics  --  obstacle  layer mask  选为步骤2中障碍物指定的层

点击Scan

 

4.敌人自动寻找玩家

unity A*Pathfinding - 2D项目_第4张图片

在敌人身上挂在seek.cs   AIpath.cs  AIDestinationSetter.cs(将target 设置为玩家)

AIpath.cs - 因为是2d,修改orientation -> YAxisForWard(for  2D games)

radius  半径

speed  移动速度

pick next wayPoint Dist  获取下个点位置的距离

 

 

运行后敌人基本可以寻找玩家,但是还存在敌人无妨转向问题,可根据实际情况对敌人进行代码处理

 

 

插件链接:链接:https://pan.baidu.com/s/1iCe6x8OAopynrUWtint8Hg 
提取码:y60v 

 

B站教学视频: https://www.bilibili.com/video/BV1D4411N7FZ 

 

 

 

你可能感兴趣的:(unity)