Skip to content

wangjian8006/BehaviourTree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

一个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

About

A behaviour tree framework in unity

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages