开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

教程分享

关注:708

当前位置:游戏蛮牛 技术专区 教程分享

查看: 1601|回复: 1

[自学总结] 行为树:Behavior Tree学习笔记

[复制链接]  [移动端链接]
抢楼 抢楼 本帖为抢楼帖,欢迎抢楼! 
排名
14458
昨日变化
13

15

主题

30

帖子

160

积分

Rank: 9Rank: 9Rank: 9

UID
58239
好友
2
蛮牛币
240
威望
0
注册时间
2014-11-28
在线时间
48 小时
最后登录
2016-3-31
发表于 2015-3-31 17:37:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 yogi07 于 2015-3-31 17:40 编辑

行为树    本质上是一种设计模式,和playmaker类似,是基于节点的开发方案。

区别
  • 行为树是一种树形结构扩展,只有一个根结点作为进入节点;playmaker是一种图形结构,可以从任意一个节点切入执行(SendEvent方式);
  • 行为树流转方向是从根部开始向下执行,由子节点返回执行结果(成功还是失败)到父节点,父节点继续向上返回,直到根结点,行为树执行完毕;playmaker可以从任意一点开始执行,按照事件触发到达下一个节点执行,完成之后,要么按帧循环执行,要么向下一个节点执行,要么停留在这个节点,没有终止状态。


组成:Action(行为),Conditional(条件),Decorator(装饰),Composite(复合)

行为树组件:    Behavior Tree
    可以循环运行一个行为树

Action节点:
  • 行为节点,包含一个具体的行为,可以是移动,转向,播放动画,变色等等各种行为。
  • 执行一次,返回结果:执行成功。
  • 可以自定义行为。
11.png



Conditional节点:
  • 判断节点,返回成功或者失败。
  • 可以自定义,重写OnUpdate方法,返回枚举类型:成功或者失败。
12.png


13.png





Decorator节点:
  • 用于附加额外的功能。
  • 可以自定义装饰节点。
14.png


15.png



Composite节点:


  • Selector:从左到右依次执行子节点,直到有个节点返回成功时,终止执行,返回结果。
  • Sequence:从左到右依次执行子节点,直到有个节点返回失败时,终止执行,返回结果。
  • Parallel:平行节点,同时执行,全部返回成功时,返回成功结果。
  • 随机Selector和随机Sequence:顺序随机
  • Priority Selector:选择顺序按照优先级,需要重新父类中的优先级方法。
平行节点源代码:
循环遍历所有子节点的状态,只要有一个失败,即返回失败。
16.png


返回失败:
17.png
返回成功:
18.png




Selector和Sequence:

19.png

20.png


Priority Selector:

21.png




案例介绍:
攻击:
22.png


重复攻击:
23.png


重复攻击的其他实现方式:
24.png


加血:
25.png





























评分

参与人数 1鲜花 +1 收起 理由
11000011 + 1

查看全部评分


回复

使用道具 举报

5熟悉之中
569/1000
排名
3307
昨日变化
2

0

主题

79

帖子

569

积分

Rank: 5Rank: 5

UID
28209
好友
0
蛮牛币
629
威望
0
注册时间
2014-6-5
在线时间
140 小时
最后登录
2017-10-26
发表于 2015-5-13 20:44:44 | 显示全部楼层
好东西啊,楼主还有更详细的例子没啊想学这个

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表