ai 行为树

根据判断   

           没钱   --  拿钱

没花 

           有钱   --  买花

有花    约会

这是正常人的逻辑 if 判断, 当转换到ai行为树的时候需要另外处理

先把 总结行为  3个 行为 ,约会, 买花 , 拿钱

然后ai行为树的结点是由子节点的结果来决定,所以   不能在  父节点 判断有没花,此时把条件结点 的逻辑放到子节点去实现

没钱

拿钱

有钱

买花

这样可以合并掉  有钱没钱的结点, 继续合并

没花

没钱

拿钱

没花

有钱

买花

此时合并掉   有没花 结点

最后用  选择结点放在最外层, 和上图稍微有点不一样

                   没花

                   没钱

                  拿钱

                 没花

                 有钱

                 买花

选择结点

                 有花

                  约会

由于这样判断 逻辑太多重复

所以项目里面增加了  if 的判断  增加选择结点new, 把他放在父节点

选择结点new  可以 直接获得  true  和 false 去执行对应的逻辑,当然 选择结点new 的结果依然由子结点来决定

当选择有true 和false 的时候 使用选择结点new才有意义

当只有true 没有false 的时候  可以直接使用  原来的行为树概念的选择结点,把  结点放在子节点里面,即上文的图

选择结点 和  选择结点new  各有优点,而且可以互相转换

当只有true 没false 建议用旧的

当有true 有false 建议用新的

猜你喜欢

转载自blog.csdn.net/a133900029/article/details/86563998
今日推荐