Home

Awesome

BehaviorTreeEditor

目录结构

使用说明

基于UIToolkit实现行为树数据编辑,支持赋值粘贴,撤销回退,运行时预览等操作。当需要支持BT.Runtime部分脱离Unity环境运行,用于服务端或者帧同步框架上时,可以直接拷贝源码,或者导出BTRuntime.dll到外部工程,引用上Newtonsoft.Json即可。节点的Inspector面板和黑板面板都是用Odin插件实现编辑效果,支持节点变量绑定黑板数据,实现逻辑可以看BTCore.Editor部分代码。

外部工程使用说明

编辑效果图 打开Scenes/2. ExternalNode.unity场景,里面有提供一个简单的示例Demo,相关脚本在Examples/ExternalNode目录下。提供了Condition,Action外部节点类型扩展,一般来说外部工程的代码不放到Unity里面,无法识别具体的类型,Unity侧提供了ExternalCondition,ExternalAction两个节点做编辑占位处理。在每个节点Inspector上有对应的映射字段TypeName便于创建对应外部类型,Properties字段方便向外部传递数据。运行时会将占位节点替换为具体映射类型,然后重建树节点之间的连接关系。

效果图

编辑效果图 运行时预览效果图

已知问题

参考