UE5 - AI攻击功能实现教程2(跟随并攻击移动的目标)
作者:hangge | 2026-08-22 10:16
在前面的文章中我演示了 AI 如何发现并发射魔法球攻击目标,但当时的目标是一个静止的石头。当实际中 AI 通常需要攻击移动的目标,例如我们操纵的角色。本文通过样例演示如何制作一个可以追随角色并对角色发动攻击的敌人 AI,该 AI 具有发现角色、跟随角色和攻击角色等基础功能。







二、跟随并攻击移动的目标
1,准备工作
(1)首先我们需要实现一个可以自动随机移动,发现目标后能够自动攻击目标的 AI,具体实现过程参考我之前写的文章:
(2)接着我们需要实现一个可以通过键盘和鼠标操纵移动的角色,具体实现过程可以参考我之前写的文章:
2,修改 AI 蓝图
(1)打开之前编写的 AI 蓝图,在“角色移动:行走”卷展栏中设置“最大行走速度”由默认的 600 改成 180,使得 AI 移动速度会比我们操作的角色慢一些。

(2)切换到“事件图表”页,在使用“For Each Loop”节点遍历看到的角色后面,改成使用“Cast To BP_ControlledCharacter”节点转换为我们操纵的角色。

3,修改行为树
(1)打开“BT_AI”行为树,将右侧分支改成“Sequence”节点后面连接一个“Move To”节点。选择“Move To”节点后在“细节”面板中设置“黑板键”为“Target”,这样在 Target 被设置时允许 AI 移动到 Target 旁边。

(2)然后使用鼠标右键单击“Sequence”节点,执行“添加服务>BTService Attack”菜单命令添加服务,这个服务是之前创建的用来发射魔法球的服务。

4,运行测试
(1)我们在“放置 Actor”面板中找到“NavMeshBoundsVolume”区域并将其拖拽到关卡中,按 P 键可以查看其影响范围。接着拖拽“AI”蓝图到绿色范围内。最后添加“BP_ControlledCharacter”蓝图到关卡中,并在“细节”面板中设置“自动控制玩家”为“玩家 0”。

(2)运行后可以看到 AI 开始时会自动随机移动:

(3)一旦 AI 发现玩家就会朝玩家方向移动,并且发射魔法球进行攻击。


全部评论(0)