感知系统:视觉、听觉与更多

感知组件(AIPerception)是 UE AI 的"眼睛与耳朵"。它把"环境里有什么"变成事件,喂给决策层。

感官配置

感官 配置要点 典型用途
视觉 视野角度、视野半径、失去目标的"看见 / 记忆"时间 看见玩家进入追击
听觉 听觉半径、衰减 听到枪声去查看
伤害感知 被打时触发 受击反击
团队感知 认识的 Actor 被感知 队友被发现

视觉的两个关键参数

  • 视野角度:60 度是"人类视野"的常用值,360 度就是"上帝视角",慎用;
  • 失去目标后的记忆时长:玩家跑出视野后,AI 应该"记得"目标多久(如 3 秒内还朝最后位置射击)。这个参数决定 AI 是"呆"还是"有灵性"。

事件驱动的正确姿势

感知组件提供事件:OnTargetPerceptionUpdated(目标状态变化)。把决策刷新挂在这个事件上,而不是轮询:

做法 评价
服务每 0.1 秒读一次感知 ✗ 浪费
感知事件触发时写黑板 + 行为树中断重新评估 ✓ 正道

AIPerception 本身的更新频率在感知配置里(Sense 的 Refresh Rate)。同屏 AI 很多时,把刷新频率从每帧改为 0.3~0.5 秒能省可观的开销,表现几乎无损——因为"看到"本来就不是瞬移的事。

感知与"阵营"

感知系统配合"团队"(Teams)可以区分敌我:给 Pawn 与 AIController 配 TeamID,感知结果直接带"友军 / 敌军 / 中立"标记。比在行为树里手动判断"这个 Actor 是不是敌人"优雅得多。