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

扫一扫,访问微社区

开发者专栏

关注:1577

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 1007|回复: 3

[云图] behave行为树学习使用第五天.完结

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

43

主题

346

帖子

3758

积分

Rank: 9Rank: 9Rank: 9

UID
42814
好友
31
蛮牛币
5702
威望
0
注册时间
2014-8-31
在线时间
1133 小时
最后登录
2017-2-23

专栏作家

QQ
发表于 2015-11-24 14:32:54 | 显示全部楼层 |阅读模式

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

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

x
大家好,今天给大家带来最后一段behave行为树的基础,并行节点。
   不过在这之前有几位朋友说我的工程里面运行好像不太正确,这里我说一下有几个需要设置的地方,后面会附上我的运行工程。
   5-1.png 当打开行为树时候,如果这里的行为树有添加或者修改操作,都应该点一下AgentBehaveLib 里面的 Build Library deBug

用来重新生成一遍新的行为树的dll,补充一点,如果生成完后出现一个错误信息,请到Player Settings 里面的Api compatibility Level 把.net2.0改成.net2.0 subset 或者改回来,
我也不清楚为什么每次重新生成都需要来回改一次才能解决报错问题,如果高手知道求告知。

5-5.png 回到代码 ,我们会在Start里面 重新引用我们要运行的那段行为树,这样行为树才能正确运行 5-2.png
这里也别忘记了该脚本需要挂载到游戏的物体里面,我是挂载在我的工程的一个gameobject里面。

  好了,我们回到今天的主题,并行节点,并行节点会从左到右触发它所有的子节点工作,对于并行节点有两个重要的设置,一个是子节点完成,一个是组件完成,子节点完成参数决定了子节点的返回值该如何处理
   1  如果并行节点设置为成功或者失败,那么无论它返回的是成功还是失败,子节点的输出都标记为完成。
   2  如果并行节点设置为成功,那么子节点的输出只在返回成功时候才标记为完成。在触发所有的子节点工作后,一个子节点返回失败就会让整个并行组件返回失败。
   3  并行节点设置为失败的话也会同理,子节点只有在返回完成时,它才会返回失败。
       5-8.png 我们首先先新建一个新的并行节点的行为树,画好今天的并行节点图,先在一个顺序节点下面有两个子节点,并行节点和一个工作的子节点。在并行节点下面有两个子节点,一个是检查邮箱,一个是听音乐,我们要模拟 先检查邮箱,然后听音乐,最后去 工作 这样的状态。
5-3.png 首先是顺序节点 选中后,Frequency 属性设置为1,让脚本每一秒执行一次。
5-4.png 然后选中并行节点,注意这里两个属性,一个是component completion 设置为all ,一个是child completion 设置为success,意思就是全部子节点都返回成功,才完成该节点,然后转到下一个节点,然后我们回到代码,我和往常一样 新建了一个空的脚本 ,叫bingxing ,在里面我定义了3个方法,检查邮箱,听音乐和干活,

[C#] 纯文本查看 复制代码
 public BehaveResult TickCheckEmailAction(Tree sender)
    {
        Debug.Log("查看邮箱");
        return BehaveResult.Success;
    }
    public BehaveResult TickListenMusicAction(Tree sender)
    {
        Debug.Log("听音乐");
        return BehaveResult.Success;
    }
    public BehaveResult TickWorkAction(Tree sender)
    {
        Debug.Log("干活");
        return BehaveResult.Failure;
    }



这里如果我们把听音乐的返回设置成return BehaveResult.Failure; 失败的话,保存运行 就会出现 5-6.png 的结果,
行为树就会一直在检查邮箱和听音乐之间运行,没办法跳到工作去,因为我们前面设置了 all success 就代表了全部都返回成功才跳过去,现在我们改回刚才的状态,全部都返回success
然后我们保存,运行

5-7.png 就可以看到我们的脚本可以运行到干活的方法Work 去了。  这个就是我们的并行节点,也是介绍基础的最后一节内容,感谢大家收看,
下次再给大家带来一个小案例,来更好的演示一下behave的使用。


behave.rar

358.56 KB, 下载次数: 44

售价: 2 蛮牛币  [记录]

评分

参与人数 2鲜花 +52 收起 理由
514126722 + 2 赞一个!
朱迪 + 50 赞一个!

查看全部评分


回复

使用道具 举报

排名
815
昨日变化
50

1650

主题

2576

帖子

9153

积分

Rank: 16

UID
101536
好友
17
蛮牛币
84353
威望
0
注册时间
2015-5-19
在线时间
2589 小时
最后登录
2017-2-23

七夕浪漫情人蛮牛妹

发表于 2015-11-24 15:15:13 | 显示全部楼层


排好队献花喽,辛苦啦!
[发帖际遇]: 朱迪 捡了钱没交公 蛮牛币 降了 1 . 幸运榜 / 衰神榜

回帖是美德~是一种行动认可和支持~希望更多蛮牛小伙伴参与到支持行动中~
回复

使用道具 举报

排名
1546
昨日变化
1

18

主题

445

帖子

2196

积分

Rank: 9Rank: 9Rank: 9

UID
31561
好友
47
蛮牛币
118
威望
0
注册时间
2014-6-27
在线时间
381 小时
最后登录
2017-1-24

七夕浪漫情人认证开发者

QQ
发表于 2015-11-25 13:34:12 | 显示全部楼层
加油。支持一下。。

回复

使用道具 举报

排名
375
昨日变化
3

43

主题

346

帖子

3758

积分

Rank: 9Rank: 9Rank: 9

UID
42814
好友
31
蛮牛币
5702
威望
0
注册时间
2014-8-31
在线时间
1133 小时
最后登录
2017-2-23

专栏作家

QQ
 楼主| 发表于 2015-11-25 13:46:57 | 显示全部楼层
zhang247124629 发表于 2015-11-25 13:34
加油。支持一下。。

感谢大神鼓励

回复

使用道具 举报

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

本版积分规则

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