过渡期共存与迁移
很多项目处于"行为树为主,StateTree 逐步引入"的过渡期。这一节讲怎么平滑共存与分步迁移。
共存的三种模式
| 模式 | 说明 | 风险 |
|---|---|---|
| 新旧并行 | 新 AI 用 StateTree,旧 AI 留行为树 | 低;只要不互相替换就不会冲突 |
| StateTree 包行为树 | 高层 StateTree,状态内调旧行为树 | 中;需要旧行为树不做"阶段假设" |
| 行为树包 StateTree | 行为树里跑 StateTree(作为某个 Task) | 不推荐;两套调度容易混乱 |
最实用的是第一种与第二种结合:新 AI 直接走 StateTree,旧 AI 按优先级逐步迁。迁移从"阶段感最强、行为树最别扭"的 AI 开始(通常是 Boss)。
迁移的评估表
| 信号 | 建议 |
|---|---|
| 行为树装饰器超过 20 个 | 迁移收益高(状态图会更清晰) |
| 大量"血量阶段 / 阶段切换"逻辑 | 迁移收益高 |
| AI 只有巡逻 + 攻击两件事 | 不必迁,行为树足够 |
| 行为树运行稳定且无人投诉 | 不急迁,价值驱动 |
迁移的注意
- 一次迁一个 AI:完全验证后再下一个,避免"批量迁移后全线表现退化";
- 保留原行为树资产到下个版本:万一回滚,资产还在;
- 迁移是重构不是重设计:行为规格(玩家可见的行为)必须不变,变的只是实现结构——如果迁移后"AI 变聪明 / 变笨了",说明混入了行为变更,要拆开评估。
引擎文档在 StateTree快速入门指南 里也建议把 StateTree 当作可选组件逐个引入,而不是全量切换。
