UE5 - AI感应功能实现教程3(AI锁敌、环绕物体运动)
作者:hangge | 2026-08-20 08:45
在前两篇教程中,我演示了如何实现 AI 视野感知和目标发现后随机停止移动的效果,但我们会发现 AI 停止移动后并不是正对着面向被发现的目标。本篇将进一步完善 AI 行为:当 AI 发现目标后,锁定并面向敌人。以及让 AI 以环绕运动的方式围绕目标移动,模拟更智能的战术动作。








三、发现目标后进行 AI 锁敌
1,准备工作
首先我们需要实现一个能够发现目标并在发现目标后能够自动停止随机移动的 AI,具体实现过程可以参考我之前写的文章:
2,修改行为树
(1)打开“BT_AI”行为树,新建“Sequence”节点,将其连接到“Selector”节点的右下方。使用鼠标右键单击右侧刚新建的“Sequence”节点,执行“添加服务”菜单命令后添加一个“Default Focus”服务。
提示:服务是附着在一个节点上并持续执行的工具,“Default Focus”服务可以让 Al 锁定一个 Actor。
(2)选择“Default Focus”服务,在“细节”面板中设置“黑板键”为“Target”。

(3)在“Sequence”节点的子项中添加一个“Wait”节点,此节点没有实质性的作用,只是为了让行为树知道序列是可以被执行的。

3,运行测试
(1)进入 SIE 运行模式,可以看到 AI 一开始还是随机移动。

(2)当 AI 观察到石头后就不再移动了,并且会朝向石头。

附:发现目标后环绕物体运动
1,创建环绕物体运动任务
(1)打开“BT_AI”行为树,在工具栏中单击“新建任务”按钮新建任务并执行“BTTask_BlueprintBase”菜单命令新建一个任务。

(2)在弹出的“资产另存为”中设置“命名”为“Task_SideMove”后单击“保存”按钮进行保存。

(3)进入新建的“Task_SideMove”任务后,在“我的蓝图”面板中单击“函数”右侧的“重载”按钮,执行“接收 Tick AI”菜单命令。

(4)添加“添加移动输入”节点并连接“目标”引脚到“Controlled Pawn”引脚上,添加“获取 Actor 向右向量”节点并连接“目标”引脚到“Controlled Pawn”引脚上,连接“Return Value”引脚到“World Direction” 引脚上。

2,修改行为树
回到“BT_Al”行为树,拖曳右侧的“Sequence”节点的下方接口到空白处,新建“Task_SideMove”节点并删除“Wait”节点。

3,运行测试
(1)进入 SIE 运行模式,可以看到 AI 一开始还是随机移动。

(2)当 AI 观察到石头后就会以石头为圆心,逆时针环绕石头移动。


全部评论(0)