posts - 72,  comments - 4,  trackbacks - 0


行为树的理解:
传统的AI习惯用FSM来管理状态规则,一个管理类对多个状态类进行管理。
FSM可以通过转换状态来处理(如:泰坦之旅),
也可以让状态并行处理(如:mythos). 另外为了处理某种状态下的某种子行为,派生出了
分层状态机(mythos通过栈来实现分层)。

FSM为了处理并行以及分层,在处理上让人感觉不是非常清晰。而行为树天生就是分层的,每一层又是并行的
通过条件以及控制结点可以清晰地使用图形化来控制各种分支行为。
个人觉得搞行为树就像是在搞流程图
一般的行为树都会有控制结点、条件结点、动作结点。
用控制结点根据不同的条件结点让程序按不同的控制结点分支进行运行,当某些条件结点成立触发相应的动作结点。
为了控制分支,控制结点有选择、序列、并行等方式控制。同时还有一些用于装饰的如循环、结果取反等之类的特殊结点。

光晕2、LOL等游戏用了行为树。
可以参考:
行为树
http://aigamedev.com/premium/tutorial/second-generation-behavior-trees/
行为树
http://aigamedev.com/premium/interview/league-of-legends/

posted on 2012-09-24 14:46 flipcode 阅读(941) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理