虚幻引擎(UE4)行为树中Run Behavior和Run Behavior Dynamic
前言
虚幻引擎行为树中允许将行为树做为其他行为树子树来使用,这可以大大扩展设计灵活性,将AI的行为细化。在行为树中提供了两个任务节点,以保证使用“子行为树”。两个节点分别是:Run Behavior和Run Behavior Dynamic。两者的设计目的相同,但在使用时存在一些差异,针对特定设计需求,Dynamic的节点会更加灵活。
- Run Behavior:允许将其他行为树做为当前树的子树来使用。
- Run Behavior Dynamic:允许将其他行为树做为当前树的子树来使用,并提供运行时,动态调整节点执行树。
Run Behavior节点,更像是将复杂的树结构拆解成独立的功能树,让行为树看起来更加的清晰。Run Behavior Dynamic是在保证拆解行为树的基础上,增加了运行时可以更换添加的子树,使得AI设计依据运行时变化,做出动态调整。
Run Behavior Dynamic节点使用
1、添加标签
当一颗行为树中有多个Run Behavior Dynamic节点时,引擎通过使用标签GamePlayTag区分动态设置到哪个节点上。所以在使用Run Behavior Dynamic节点前需要添加标签,添加方法参照官方介绍。
此设置有点类似蒙太奇中的插槽。
2、添加Run Behavior Dynamic节点
在行为树中添加节点,并设置,参照下图。
3、运行时执行修改子树节点(蓝图)
如需修改子树节点,则需要获取运行行为树组件,并调用成员方法Set Dynamic Subtree,蓝图参照如图:
4、C++中调整(样例代码)
在C++中使用时需要添加模块“AIModule”,“GameplayTasks”,“GameplayTags”
c++
|
|
引擎版本:4.27.2
Tags: