博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
游戏AI:行为树
阅读量:6041 次
发布时间:2019-06-20

本文共 1313 字,大约阅读时间需要 4 分钟。

Behavior Tree

行为树通过子Task的返回值决定整棵树的走向

Task

行为树上的每个节点都称为一个Task, 每个Task存在三种状态, success, failure, running。

其中running是临时状态,仅叶子节点才能返回running状态,running结束后也要返回success或者failure。

Task的种类:

  • Composite
  • Behaivor(Action, Conditional)
  • Decorator

Composite


 

组合节点,可以组合其他任意的节点,从而构成一个数,根节点一般为组合节点

  • Sequence
  • Selector
  • Parallel(这个没有实现)
  • Random

Sequence

从左到右遍历Sequence的子Task。

  • 遇到failure则停止继续遍历,则Sequence直接返回failure
  • 遇到success则继续遍历,若Sequence的全部子Task都返回success,则Sequence返回success
  • 遇到running则停止继续遍历,并则等待running的返回值(failure或者success)

Selector

  • 遇到failure继续遍历,若Selector中子Task全返回failure,则Selector返回failure
  • 遇到success则停止遍历,并返回success,
  • 遇到running则停止继续遍历,并等待running的返回值(failure或者success)

Priority Selector

  • 类似于Selector,但是并不是顺序遍历,而是根据优先级(Priority)的顺序进行遍历
  • 优先级高的优先运行
  • Task的默认优先级都是0

Random Selector

  • 类似于Selector,但是并不是顺序遍历,而是随机(Random)的顺序遍历

Random Sequence

  • 类似于Sequence,但并不是顺序遍历,而是随机(Random)的顺序遍历

Decorator


 

修饰节点,可以包含一个Action,对其进行修饰

  • Failure 一直返回failure
  • Success 一直返回success
  • Inverter 对Action返回结果取反
  • Repeater 一直重复Action指定的次数
  • UntilFailure 一直重复Action,直到Action返回failure
  • UntilSuccess 一直重复Action,直到Action返回success

Contional


 

条件节点,用于描述条件

  • RandomProbability 随机概率,可以指定概率返回成功

Action


 

具体的行为执行节点

  • Event 发送指定的事件,并返回success
  • Invoke 调用指定方法,并返回success
  • Restart 重启行为树,并返回success
  • Wait 等待指定时间,在这个时间内一直返回running,时间到了后返回success
  • Log 打印日志,并返回success

转载于:https://www.cnblogs.com/luweimy/p/4394971.html

你可能感兴趣的文章
OC语言Block和协议
查看>>
使用xpath时出现noDefClass的错误(找不到某个类)
查看>>
.Net规则引擎介绍 - REngine
查看>>
CSS3 transforms 3D翻开
查看>>
利用传入的Type类型来调用范型方法的解决方案
查看>>
Top命令内存占用剖析
查看>>
转 网络IO模型:同步IO和异步IO,阻塞IO和非阻塞IO
查看>>
求带分数(蓝桥杯)
查看>>
Bootstrap系列 -- 11. 基础表单
查看>>
Retrofit 入门学习
查看>>
Spring Boot学习笔记
查看>>
python3存入redis是bytes
查看>>
laravel 集合接口
查看>>
C/C++二进制读写png文件
查看>>
thymleaf 常用th 标签
查看>>
RTB 广告系统
查看>>
Linux signal 那些事儿(2)【转】
查看>>
InfluxDB安装及配置
查看>>
Dynamics CRM Microsoft SQL Server 指定的数据库具有更高的版本号
查看>>
PAT Perfect Sequence (25)
查看>>