用途:Beehave 是 Godot 4.1+ 的纯 GDScript 行为树插件(v2.9.2,MIT,源码 https://github.com/bitbrain/beehave),用于在场景树中搭建游戏 AI。适合仅用 GDScript、不想自定义引擎构建、偏好节点式编辑的项目;需要 C++/C# 或 HSM 时可考虑 LimboAI,简单状态机可用内置 FSM。无官方 C# API,C# 只能通过跨语言互调调用 GDScript 接口。
主要能力:树由 BeehaveTree 根节点、组合节点(Sequence/Selector 及其 Reactive、Random 变体、SimpleParallel)、装饰器(Inverter、Cooldown、Repeater、Limiter、TimeLimiter、Delay、UntilFail 等)和叶子(ActionLeaf、ConditionLeaf 子类)组成,全部作为普通场景树子节点。BeehaveTree 可导出 enabled、tick_rate、process_thread、blackboard、actor_node_path。叶子重写 tick(actor, blackboard),返回 SUCCESS、FAILURE 或 RUNNING;ConditionLeaf 不应返回 RUNNING。可选重写 before_run、after_run、interrupt。Blackboard 为共享键值存储,支持命名空间与内置表达式叶子(BlackboardSetAction、BlackboardEraseAction、BlackboardHasCondition、BlackboardCompareCondition)。
使用方式:通过 Godot AssetLib 搜索 Beehave 下载并重载项目,或把 addons/beehave/ 复制到 res://addons/beehave/,在项目设置→插件中启用;会注册 BeehaveGlobalMetrics 与 BeehaveGlobalDebugger 两个自动加载。运行项目后打开调试器面板的 🐝 Beehave 标签可实时高亮活动节点;在 BeehaveTree 上设 custom_monitor = true 可在性能面板查看每树耗时。
限制:仅 GDScript;tick_rate 与 process_thread 需与角色循环匹配;叶子节点共享,单次运行状态应写入黑板并在 after_run 或 interrupt 中清理。其余细节暂未提供。