过渡期共存与迁移

很多项目处于"行为树为主,StateTree 逐步引入"的过渡期。这一节讲怎么平滑共存与分步迁移。

共存的三种模式

模式 说明 风险
新旧并行 新 AI 用 StateTree,旧 AI 留行为树 低;只要不互相替换就不会冲突
StateTree 包行为树 高层 StateTree,状态内调旧行为树 中;需要旧行为树不做"阶段假设"
行为树包 StateTree 行为树里跑 StateTree(作为某个 Task) 不推荐;两套调度容易混乱

最实用的是第一种与第二种结合:新 AI 直接走 StateTree,旧 AI 按优先级逐步迁。迁移从"阶段感最强、行为树最别扭"的 AI 开始(通常是 Boss)。

迁移的评估表

信号 建议
行为树装饰器超过 20 个 迁移收益高(状态图会更清晰)
大量"血量阶段 / 阶段切换"逻辑 迁移收益高
AI 只有巡逻 + 攻击两件事 不必迁,行为树足够
行为树运行稳定且无人投诉 不急迁,价值驱动

迁移的注意

  1. 一次迁一个 AI:完全验证后再下一个,避免"批量迁移后全线表现退化";
  2. 保留原行为树资产到下个版本:万一回滚,资产还在;
  3. 迁移是重构不是重设计:行为规格(玩家可见的行为)必须不变,变的只是实现结构——如果迁移后"AI 变聪明 / 变笨了",说明混入了行为变更,要拆开评估。

引擎文档在 StateTree快速入门指南 里也建议把 StateTree 当作可选组件逐个引入,而不是全量切换。