Agent Skills
返回列表
💻

虚幻行为树引擎

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/unreal-behavior-trees-79rr。

技能介绍

要解决什么问题

UE 里写 NPC 决策逻辑,最常见的坑是把状态全塞进一个 Tick 函数:行为互相覆盖、调试时不知道当前执行了哪条分支、加了新状态后老逻辑错乱。这个技能要解决的问题是:用引擎官方推荐的 Behavior Tree + Blackboard 架构,把 NPC 决策组织成可中断、可调试、可扩展的树——何时攻击、追击还是巡逻,目标消失后如何退出战斗,视野检测多久刷新一次,都有明确归属。

核心能力与关键步骤

技能把一棵可用的行为树拆成七个环节:

  • 建立 BB/BT 配对:Blackboard 存类型化 Key(如 TargetActor、LastKnownLocation、bIsInvestigating),Behavior Tree 引用同一块黑板——黑板就是 AI 的记忆。
  • AIController 驱动:AAIController 拥有 Pawn 后调用 RunBehaviorTree,同时初始化黑板。
  • 组合节点定结构:Selector 是优先级兜底(攻击→追击→巡逻),Sequence 是顺序执行(移动到掩体→换弹→探头),Simple Parallel 让主任务与次要任务并行。
  • Decorator 做条件闸门:读取黑板 Key 决定分支能否进入;Observer Aborts 设为 Both 后,目标出现立即打断巡逻进入战斗,目标清空也能即时退出。
  • Service 保持黑板新鲜:挂在分支上的服务只在分支激活时周期 Tick,比如持续做视野检测并更新 TargetActor。
  • Task 干活并返回状态:任务节点返回 Succeeded/Failed/InProgress,MoveTo 这类 latent 任务稍后才完成。
  • PIE 中验证:行为树调试器高亮当前执行节点,实时显示黑板值。

适用边界与注意点

  • 面向 UE 5.4+ 的 BT/BB 资产体系;纯导航寻路交给引擎 NavMesh,MoveTo 只是调用它。
  • 一次性简单逻辑用小型状态机可能更便宜,不必套整棵树。
  • 常见坑:AI 不启动源于缺 Auto Possess AI 或没调用 RunBehaviorTree;MoveTo 秒失败多因关卡缺 Nav Mesh Bounds Volume;黑板 Key 名拼错时 SetValueAsObject 静默失败;latent 任务忘了 FinishLatentTask 会卡死整棵树;Selector 与 Sequence 语义写反会颠倒行为。
  • 写 C++ 自定义 UBTTaskNode 可参考 references/custom-bttask.md。

使用场景

  • UE 5.4 项目新手搭建 NPC 攻击/追击/巡逻的优先级行为树,需要按 Selector 与 Decorator 组织分支
  • 战斗策划调整 Observer Aborts,让战斗分支在目标出现时打断巡逻并在目标消失后退出
  • 玩法程序员编写自定义 C++ UBTTaskNode,参考 references/custom-bttask.md 实现 latent 任务的 FinishLatentTask
  • 关卡测试时在 PIE 中用行为树调试器定位 AI 不启动的问题,检查 Auto Possess AI 与 RunBehaviorTree 调用

适合人员

  • 虚幻引擎新手,诉求是学习 BT/BB/AIController 的标准接入流程
  • 游戏 AI 程序员,诉求是用 Decorator 与 Service 控制分支优先级和黑板刷新时机
  • 战斗策划,诉求是理解 Selector 与 Sequence 的语义差异,避免分支逻辑写反
  • 关卡测试人员,诉求是用 PIE 行为树调试器排查 MoveTo 失败或分支不响应的关卡问题