Skip to content

Latest commit

 

History

History
22 lines (19 loc) · 903 Bytes

readme.md

File metadata and controls

22 lines (19 loc) · 903 Bytes

一个Unity行为树框架。

带了两个例子,一个简单的例子,类似hello world。
一个打boss的例子,这个例子也是仓促写完,模块的解耦度不是特别高,玩家用状态机可能更顺手一些,但是还是用了行为树。

设计目的:

1.避免反射
2.不用每次都从根节点运行。
3.可以xml解析

简单介绍:

Agent是BlackBoard的实现,用于数据共享,以及继承实现树与外部的代理。
Genaral用来生成行为树的:所有代码用BehaviourCodeGenaral的接口来生成【统一管理】。BehaviourXmlGenaral生成xml的行为树对象。
Node是节点对象类型
用BehaviourTree来管理一棵树
BTG是全局函数
BTMapping用来注册所有类型的,避免反射。

扩展

1.对象缓存(暂时未实现,具体扩展可以参考BTG,以及BehaviourPoolNode)
2.前置条件以及后置条件,未实现,可以根据代码扩展(例子里面的打断用的是在行为里面写死的)
3.未实现子树的概念,也可以在框架基础上进行扩展
4.未实现工具化,暂时是手动填写xml