游戏AI:行为树
2015-04-05 22:49
232 查看
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
相关文章推荐
- 游戏AI - 行为树Part1:简介
- 使用行为树(Behavior Tree)实现游戏AI (转载)
- 游戏AI - 行为树Part2:框架
- 做游戏长知识------基于行为树与状态机的游戏AI(一)
- 游戏AI - 行为树Part1:简介
- 游戏AI - 行为树Part2:框架
- 游戏AI设计经验分享——行为树的研究
- 使用行为树(Behavior Tree)实现游戏AI
- 使用行为树(Behavior Tree)实现游戏AI
- MMORPG游戏的人工智能(AI)和行为树设计
- 使用行为树(Behavior Tree)实现游戏AI
- 游戏AI之群组行为
- 使用行为树(Behavior Tree)实现游戏AI
- 使用行为树(Behavior Tree)实现游戏AI
- 使用行为树(Behavior Tree)实现游戏AI
- 使用行为树(Behavior Tree)实现游戏AI
- 使用行为树(Behavior Tree)实现游戏AI(转)
- 游戏开发之-AI行为树
- 使用行为树(Behavior Tree)实现游戏AI
- 使用行为树(Behavior Tree)实现游戏AI