UE5 - AI感应功能实现教程1(AI视野感知目标)
作者:hangge | 2026-08-18 08:46
在游戏开发中,AI 角色对玩家或环境目标的感知能力至关重要。AI 视野(Sight)是最常用的感知方式之一,它允许 AI 在一定角度和距离内“看见”目标,并据此做出决策。本文将演示如何在 Unreal Engine 5 中,基于“感知组件”(AI Perception Component)实现 AI 视野功能。







一、AI 视野感知目标
1,创建 AI 感知目标
(1)在“内容浏览器”面板中新建一个“角色”类蓝图并命名为“BP_Target”,这个蓝图将作为 Al 感知的目标。

(2)打开“BP Target”蓝图,在“内容浏览览器”面板中找到“SM_Rock”模型并将其拖曳到“组件”面板中,此时会自加一个静态网格体组件。

2,为 AI 赋予视野
(1)首先我们创建一个能够自动随机移动的 AI,具体参考我之前写的文章:
(2)打开之前创建的“AI”蓝图,为“AI”蓝图新建一个“AI 感知组件”。

(3)选择“AIPerception”组件,在“细节”面板中的“感官配置”卷展栏中单击“添加元素”按钮新建一个元素,将“索引[0]”设置为“AI 视力配置”;打开“按归属检测”卷展栏,勾选“检测中立方”与“检测友方”选项,设置“主导感官”为“AISense_Sight”

(4)在“细节”面板中找到“感知更新时”事件,单击“添加”按钮新建事件。

(5)然后添加如下逻辑,让 AI 在看到目标后将目标名称打印出来。
- 按住 F 键并单击“事件图表”面板的空白处,生成“For Each Loop” 节点,连接“For Each Loop”节点的“Exec”引脚到“感知更新时(AIPerception)” 节点的输出引 I 脚上,连接“Array”引脚到“Updated Actors"”引脚上。
- 使用“类型转换为 BP_Target”节点让 AI 在看到的所有东西中筛选出“BP_Target”蓝图,只有在看到“BP_Target”蓝图时才会执行“打印字符串”节点,并输出“BP_Target”蓝图的名称。

3,运行测试
(1)拖曳“BP_Target”蓝图到关卡中

(2)编译并保存后进入 SIE 运行模式,可以看到 AI 角色移动时如果看到石头后会左上角输出了“BP_Target” 蓝图的名称。

全部评论(0)