新浪博客

UE4:行为树切换与条件判断

2019-02-21 10:42阅读:
UE4:行为树切换与条件判断
在UE4的AI系统中,如果需要指定ai使用的行为树,可以在aicontrol中通过run behavior tree节点启动 UE4:行为树切换与条件判断
但有时候,我们需要在行为树中运行另一个行为树,如吃饭的时候,碰到其他人,需要聊天。
如果直接用aicontrol切换行为树,那么会导致,我聊天完切换回吃饭,要从头执行,即从头开始吃饭。这样显然是不方便的,因此,可以使用行为树中的run behavior节点
UE4:行为树切换与条件判断

需要注意,通过此种方法切换行为树,新的行为树相当于作为一个子树,替代了原行为树中的Run behavior节点。当该子树执行完之后,则会去执行原行为树接下来的节点,而不是重新运行子行为树。
另外一点需要注意的是,子行为树与原行为树需要用同一种黑板,才能切换成功
在行为树中,有时候需要添加条件判断,此时可以用blackboard based condition修饰器来作为分支,需要注意的是,如果使用变量是对象,则会检测对象是否被设置过,如果是bool变量,则is set和is not set分别代表True和False
UE4:行为树切换与条件判断
但需要注意,此时添加了该装饰器的节点会返回失败值,如果上层是sequence并且想继续执行后续节点,则可以另外加一个force success装饰器
UE4:行为树切换与条件判断

我的更多文章

下载客户端阅读体验更佳

APP专享