行为树

https://blog.csdn.net/xiaomogg/article/details/81588132

 

行为树(BT,Behaviour Tree)

1、行为树每个节点都需要向其父节点返回一个值(可以理解为在执行程序前先通过一个函数来判断JSON数据的子节点是否允许执行),以允许父节点根据子节点运行情况继续运行。

 

〇、每棵树都有一个根节点(Root node),这个节点没有特殊意义,只是用来开始的。

一、Composite Node(可以理解为行为的关系处理函数)

1、Selector:实现子节点或关系,按定义顺序遍历子节点,直到有一个子节点返回true时停止,并返回true。如果子节点全部返回false,则返回false。

2、Random Selector:类似Selector,不同之处在于,按照随机顺序遍历子节点。

3、Sequence:实现子节点与关系,按定义顺序遍历子节点,直到有一个节点返回false时停止,并返回false。如果子节点全部返回true,则返回true。

4、Parallel:实现逗号表达式的效果,依次执行所有子节点,返回最后一个子节点的返回值

二、Behaviour Node

1、Action:执行其中定义的行为,并返回true。

2、Condition Action:如果条件为真,则执行Action,并返回true;否则,不执行Action,并返回false。

三、Decorator Node

1、Successor:拥有一个子节点,执行子节点后返回true。

2、Failure:拥有一个子节点,执行子节点后返回false。

3、Negate:拥有一个子节点,返回子节点返回值的相反之(true变false,false变true)。

四、Condition Node

1、Filter:如果Filter为真,则执行子节点,并返回true;否则,不执行子节点,返回false。

 

posted @   忘忧般若汤  阅读(412)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示