behavior-eden-coco-plugin/README.md
2023-09-21 01:32:33 +08:00

3.3 KiB
Raw Blame History


Behavior Eden

Behavior Eden是一款开源的Cocos Creator轻量级可视化行为树编辑器

背景

行为树是一个非常经典的用来实现复杂 AI 行为的工具,为了帮助大家提高对行为树的理解和使用能力,本项目通过非常少的代码实现了行为树的RuntimeEditor核心部分,并开放了所有的源代码,希望能对大家有所帮助。

安装(仅支持 Cocos Creator 3.8 以上)

使用

1、添加组件

打开Cocos项目,在场景中新建一个节点,搜索并添加BehaviorTree组件,同时会自动添加BehaviorEditor组件。

2、指定JSON文件

  • 手动创建:新建空白JSON文件,并拖入组件的asset面板属性中
  • 自动创建:点击BehaviorEditor组件的Editor按钮,插件会在asset根目录生成当前节点同名json文件,并自动拖进 BehaviorTree组件asset面板属性

3、行为树编辑界面

点击BehaviorEditor组件的Editor按钮,会打开行为树编辑界面:

  • 左边是行为树绘图界面
    • 左上角会根据用户的操作打印warn日志,可以收起展开
    • 中间有个Root根节点,不可编辑和移动
    • 右上角指定当前行为树编辑的JSON文件,对行为树界面的操作都会实时保存在文件中
  • 右边是操作面板
    • Node面板可以添加行为树界面,包括Composite组合节点、Decorator装饰节点、Condition条件节点、Action行为节点 点击节点就会在绘图区生成响应节点
    • Inspector界面可以编辑选中节点的属性,包括节点名称、节点中断类型、事件派发等

4、行为树搭建步骤

  1. 点击Node面板的各个节点类型,即可创建节点
  2. 点击节点右上角的X即可删除节点
  3. 指定根节点:从Root节点下方面板拖出箭头,即可把所选节点设置为根节点
  4. 设置子节点:同上
  5. 解除父子关系:通过点击箭头处的X断开父子关系
  6. 指定Action或者Condition事件触发场景节点、组件、方法、参数等属性来执行真正的逻辑,方法务必返回NodeStatus类型的节点状态
  7. 自定义脚本可以通过"db://behavior-eden/index"路径引入插件暴露的类或者枚举
  8. 自定义脚本可以通过this.getComponent(BehaviorTree).enableBehavior()disableBehavior()来暂停和启动行为树
  9. 可以设置中断类型AbortType来实现中断某个正在Running状态的节点
  10. BehaviorTree可以设置Restart When CompleteStart When EnabledPause When DisabledLog Node Change等面板属性
  11. 退出面板,运行Cocos项目查看业务逻辑是否符合预期

开发

1、目录分析

2、补充类型文件

  • npm i补充fsnode等模块类型
  • npm run watch实时编译ts
  • 修改代码后,在插件面板按下ctrl + r或者command + r查看修改是否生效