Files
esengine/extensions/cocos/cocos-ecs/README_BehaviorTree_Game_Demo.md
2025-06-24 19:34:37 +08:00

5.2 KiB
Raw Blame History

行为树游戏演示文档

概述

本演示展示了两个真实游戏场景的行为树AI系统

  1. RPG角色AI (rpg-character-ai.btree) - 智能RPG角色行为系统
  2. RTS单位AI (rts-unit-ai.btree) - 智能RTS单位行为系统

这些行为树使用编辑器格式(.btree),可以在行为树编辑器中打开、编辑和可视化。

行为树详解

1. RPG角色AI (rpg-character-ai.btree)

优先级系统:生存 > 战斗 > 任务 > 探索 > 休息

主要行为模式:

  1. 生存行为(最高优先级)

    • 触发条件:生命值 < 30
    • 行为:使用治疗物品 → 逃跑到安全区域
    • 确保角色在危险时优先保命
  2. 战斗行为

    • 触发条件:发现敌人
    • 智能攻击选择:
      • 远程攻击:距离 > 5 时使用弓箭
      • 近战攻击:距离 ≤ 2 时使用剑
      • 魔法攻击:魔法值 > 20 时释放法术
  3. 任务行为

    • 触发条件:有活跃任务
    • 任务类型收集物品、与NPC对话、前往指定地点
  4. 探索行为

    • 无紧急事务时进行
    • 活动:寻找宝藏、收集资源
  5. 休息行为(最低优先级)

    • 默认行为:恢复生命值、修理装备

黑板变量:

  • hasEnemy: 是否发现敌人
  • hasActiveQuest: 是否有活跃任务
  • character.health: 角色生命值
  • character.mana: 角色魔法值
  • character.distanceToEnemy: 与敌人的距离

2. RTS单位AI (rts-unit-ai.btree)

优先级系统:紧急防御 > 战斗 > 建造 > 资源收集 > 巡逻

主要行为模式:

  1. 紧急防御(最高优先级)

    • 触发条件:基地受到攻击
    • 行为:立即返回基地 → 参与基地防御
    • 确保基地安全是最高优先级
  2. 战斗行为

    • 触发条件:发现敌方目标
    • 行为:锁定目标 → 攻击目标
    • 主动寻找并消灭敌人
  3. 建造行为

    • 触发条件:有建造任务
    • 行为:前往建造地点 → 执行建造
    • 按指令建造建筑物
  4. 资源收集行为

    • 默认经济行为
    • 行为:寻找资源 → 收集资源 → 运送回基地
    • 为基地提供经济支持
  5. 巡逻行为(最低优先级)

    • 空闲时的默认行为
    • 行为:沿路线巡逻 → 扫描周围区域
    • 保持警戒状态

黑板变量:

  • baseUnderAttack: 基地是否受到攻击
  • hasTarget: 是否发现敌方目标
  • hasBuildOrder: 是否有建造任务

演示脚本

RealisticGameDemo.ts

演示脚本展示了RPG角色AI的完整功能

功能特性:

  • 实时状态显示:生命值、魔法值、敌人状态、任务状态
  • 交互式事件触发
    • 低生命值按钮:模拟角色受伤
    • 敌人按钮:切换敌人发现状态
    • 任务按钮:切换任务状态
    • 重置按钮:恢复初始状态
  • 实时日志系统显示AI决策和行为执行过程
  • 智能行为响应AI根据状态变化自动调整行为

事件处理器:

  • 治疗物品使用恢复30点生命值
  • 逃跑行为:移除敌人威胁,增加距离
  • 各种攻击方式:消耗不同的魔法值
  • 任务相关行为:模拟真实游戏交互
  • 探索和休息:提供持续的角色发展

使用指南

1. 在编辑器中打开

  1. 启动Cocos Creator
  2. 打开行为树编辑器扩展
  3. 加载 assets/resources/rpg-character-ai.btreerts-unit-ai.btree
  4. 可视化查看和编辑行为树结构

2. 在游戏中运行

  1. RealisticGameDemo 组件添加到场景节点
  2. 配置UI组件
    • 状态标签:显示角色当前状态
    • 日志标签:显示行为执行日志
    • 控制按钮:触发不同的游戏事件
  3. 运行场景观察AI行为

3. 自定义和扩展

添加新的行为节点:

  1. 在编辑器中添加新的事件动作节点
  2. 在演示脚本中注册对应的事件处理器
  3. 实现具体的行为逻辑

修改优先级:

  1. 在编辑器中调整选择器节点的子节点顺序
  2. 更高位置的节点具有更高优先级

添加新的条件:

  1. 在黑板中定义新的变量
  2. 为条件装饰器配置相应的条件检查
  3. 在代码中更新黑板变量值

实际游戏应用

RPG游戏中的应用

  • NPC AI为游戏中的NPC提供智能行为
  • 伙伴AI:玩家队友的自动战斗和支援行为
  • 敌人AI:敌人的智能战斗和逃跑策略
  • 宠物AI:宠物的跟随、战斗和辅助行为

RTS游戏中的应用

  • 单位AI:军事单位的自动化行为
  • 工人AI:资源收集和建造单位的智能调度
  • 防御AI:自动防御系统的智能响应
  • 经济AI:自动化的经济发展策略

学习要点

  1. 优先级设计合理的优先级确保AI在复杂情况下做出正确决策
  2. 状态管理通过黑板系统有效管理AI状态
  3. 事件驱动:使用事件系统实现松耦合的行为实现
  4. 条件判断智能的条件系统让AI能够适应不同情况
  5. 模块化设计:每个行为模块独立,便于维护和扩展

这些行为树演示了如何构建商业级游戏AI系统为开发者提供了完整的参考实现。