UE4行为树任务节点注意事项
发表于2018-03-11
行为树中最重要的节点就是任务节点,作为行为树的叶子节点,它主管了所控制actor的所有动作行为信息。比如我们需要控制一个角色移动,攻击,等待,或者逃跑等等,这些动作都需要放进任务节点中。当然在UE4中,除了我们自己建立的任务节点外,还有系统为我们默认设置的一些节点,比如等待节点,运行另外一个行为树节点,播放声音节点等等。
下面就给大家介绍下在学习行为树任务节点时要注意的几个部分。
1、首先控制应该写在 Event Receive Execute 或 Event Receive Execute AI中,推荐使用后者,跟装饰器时候的原因相同,后者在AI行为树中使用比较方便。
2、任务节点必须用 Finish Execute 事件作为结束回调,不然行为树运行到该节点时候,不会产生返回,永远的卡在该节点上。
3、为了防止任务节点卡主,可以在任务节点加上 timelimit的装饰器节点,强制其在一定时间内结束。
如下图:
再附一张任务节点在行为树中运行的样子
还需要注意的一点是,当任务节点在运行时候,其他的节点并不会执行,比如该任务节点需要运行10秒,但是运行了5秒的时候,有其他数据发生了变化,那么它需要在10秒后才能对该节点做出反应。所以尽量把任务节点细化到比较短的时间段内,这样才能让AI比较快速的反应数据的变化。