目录
效果
步骤
一、绘制道路
二、创建出生点和路径点
三、生成敌人
四、敌人沿着路径点移动
效果

步骤
一、绘制道路
首先绘制一条道路,后面希望敌人会沿着这条绘制道路行走。

二、创建出生点和路径点
2.1 新建父类为Actor的蓝图,作为敌人出生点,命名为“BP_EnemyBirthPlace”

将其放置在视口中玩家出生的位置

2.2 再创建一个父类为Actor的蓝图,作为敌人在道路上移动的路径点,命名为“BP_EnemyPathPoint”

在视口中将“BP_EnemyPathPoint”放置在每一个道路的拐点处

2.3 有了路径点之后,我们就需要让每一个路径点知道它的下一个路径点是谁
打开“BP_EnemyPathPoint”,添加一个变量“NextPathPointActor”

变量类型为其自身(“BP_EnemyPathPoint”)的对象引用

勾选可编辑实例和生成时公开

2.4 在大纲中选中场景中的第一个路径点,然后去设置NextPathPointActor,即选择下一个路径点是哪个Actor

这里设置第一个路径点的下一个路径点是“BP_EnemyPathPoint2”,然后以此类推,设置每一个路径点的下一个路径点的是哪一个Actor。

2.5 我们也要告诉出生点那个Actor,敌人从它那里生成后走的下一个路径点是哪个Actor,方法和之前同理。打开“BP_EnemyBirthPlace”,新建一个变量命名为“FirstPathPointActor”

变量类型也是“BP_EnemyPathPoint”的对象引用。
 
然后在视口中选中出生点,设置“FirstPathPointActor”为第一个路径点的那个Actor

三、生成敌人
打开“TaFangGameMode”

首先在事件图表中获取到敌人出生点的那个Actor

将获取到的actor作为变量,变量命名为“EnemyBirthPlaceActor”

生成具有AIController的Enemy1

新建一个整型变量“NumOfSpawnEnemy1”,用于记录当前已经生成Enemy1的数量

然后每生成一次就将变量“NumOfSpawnEnemy1”加1

判断敌人生成的数量是否>20,如果没有到达20个就继续生成敌人。

可以看到此时已经能够在出生点生成敌人

四、敌人沿着路径点移动
4.1 打开“TotalEnemyCategory”(所有敌人的父类)

新建一个变量命名为“BirthPlace”

变量类型为“BP_EnemyBirthPlace”的对象引用

4.2 打开“TaFangGameMode”,添加如下节点。将获取到的出生点的Actor传递给敌人总类中的变量“BirthPlace”

4.3 回到蓝图“TotalEnemyCategory”
此时变量“BirthPlace”已经被赋予了具体的对象(即“BP_EnemyBirthPlace”)

那么我们就可以获得其中的“FirstPathPointActor”

然后就可以让敌人移动到“FirstPathPointActor”所处的位置

那么如何让敌人不断的移动到下一个路径点的位置呢?我们可以新建一个变量,命名为“NextPathPoint”

变量类型为“BP_EnemyPathPoint”的对象引用

当我们获取到第一个路径点Actor的时候我们就可以将其设置为“NextPathPoint”

当敌人移动完成后,我们又可以获取到“BP_EnemyPathPoint”中的变量“NextPathPointActor”,并把该变量赋予“NextPathPoint”

将变量“NextPathPoint”转换为有效的Get,以此来判断是否能够有效的获取到下一个路径点Actor

 如果能有效获取,就不断获取下一个路径点Actor,然后让敌人走到这个Actor所处的位置
4.4 为了让敌人动起来,我们还需向视口中增加“导航网格体边界体积”,从而让AI知道哪些地方可以走

扩大“导航网格体边界体积”覆盖区域

按P键显示AI可以被导航的真实区域
 
此时如果直接运行游戏的话,可以看到报如下错误

这因为在“TaFangGameMode”中,还没来得及将获取到“EnemyBirthPlaceActor”传递给蓝图“TotalEnemyCategory”

 我们只需在“TotalEnemyCategory”中加一段延迟即可。
运行效果如文章开头所示。


![[java安全]CommonsCollections3.1](https://img-blog.csdnimg.cn/img_convert/b37676395be2e4bfdcf498f1a6725930.png)






![[MySQL]MySQL内外连接](https://img-blog.csdnimg.cn/img_convert/0427e668c71fb6609da992399d6103d8.png)






![[每周一更]-(第54期):Go的多版本管理工具](https://img-blog.csdnimg.cn/ccae2bda5b9a485c914dc490e03f9c8c.jpeg#pic_center)


