行为树编辑器使用指南
行为树编辑器提供了可视化的方式来创建和编辑行为树。
启动编辑器
bash
cd packages/editor-app
npm run tauri:dev基本操作
打开行为树编辑器
通过以下方式打开行为树编辑器窗口:
- 在资产浏览器中双击
.btree文件 - 菜单栏:
窗口→ 选择行为树编辑器相关插件
创建新行为树
在行为树编辑器窗口的工具栏中点击"新建"按钮(加号图标)
保存行为树
在行为树编辑器窗口的工具栏中点击"保存"按钮(磁盘图标)
添加节点
从左侧节点面板拖拽节点到画布:
- 复合节点:Selector、Sequence、Parallel
- 装饰器:Inverter、Repeater、UntilFail等
- 动作节点:ExecuteAction、Wait等
- 条件节点:Condition
连接节点
拖拽父节点底部的连接点到子节点顶部建立连接
删除节点
选中节点后按 Delete 或 Backspace 键
编辑属性
点击节点后在右侧属性面板中编辑节点参数
黑板变量
在黑板面板中管理共享数据:
- 点击"添加变量"按钮
- 输入变量名、选择类型并设置默认值
- 在节点中通过变量名引用黑板变量
支持的变量类型:
- Number:数字
- String:字符串
- Boolean:布尔值
- Object:对象引用
导出运行时资产
导出步骤
- 点击工具栏的"导出"按钮
- 选择导出模式:
- 当前文件:仅导出当前打开的行为树
- 工作区导出:导出项目中所有行为树
- 选择资产输出路径
- 选择TypeScript类型定义输出路径
- 为每个文件选择导出格式:
- 二进制:.btree.bin(默认,文件更小,加载更快)
- JSON:.btree.json(可读性好,便于调试)
- 点击"导出"按钮
加载运行时资产
deserialize方法会自动识别数据格式(JSON或二进制):
typescript
import { BehaviorTreeAssetSerializer, BehaviorTreeAssetLoader } from '@esengine/behavior-tree';
// 加载二进制格式
const binaryData = await loadFile('enemy-ai.btree.bin'); // Uint8Array
const asset = BehaviorTreeAssetSerializer.deserialize(binaryData);
const aiEntity = BehaviorTreeAssetLoader.instantiate(asset, scene);typescript
import { BehaviorTreeAssetSerializer, BehaviorTreeAssetLoader } from '@esengine/behavior-tree';
// 加载JSON格式
const jsonString = await loadFile('enemy-ai.btree.json'); // string
const asset = BehaviorTreeAssetSerializer.deserialize(jsonString);
const aiEntity = BehaviorTreeAssetLoader.instantiate(asset, scene);支持的操作
Delete/Backspace:删除选中的节点或连线Ctrl+ 点击:多选节点- 框选:拖拽空白区域进行框选
- 拖拽画布:按住鼠标中键或空格键拖拽