虚幻引擎程序设计浅析-第六章-游戏性框架概述
虚幻引擎程序设计浅析-第六章-游戏性框架概述
6.1 行为树:概念与原理
6.1.1 为什么选择行为树
从UE3到UE4,Epic将AI框架由状态机替换为了行为树。状态机下的AI模式会涉及到大量的跳转,相比之下行为树就更加简化,且其“退行”特性更接近人类的思维方式。
6.1.2 行为树原理
行为树一种通用的AI框架,并不依附于特定的引擎或者程序存在,并且UE的行为树也并非标准的行为树。
我们来看一个行为树的例子:
从图中我们可以看到,行为树包含节点与连接线。具体来看,节点有三种类型:
流程控制:包含Selector、Sequence和Parallel
装饰器:用于处理子树的返回结果
执行节点:用于执行具体的任务,并根据执行结果返回true或者false。执行节点必然是叶片节点
回到上面的例子,Selector是一个流程控制的节点,它会从左到右的执行下面的子树。如果有一个子树返回true,那么Selector就会返回true。当所有子树均返回false,才会返回false。所以,我们的例子所反映的故事是:如果吃不了饭,就只能睡觉了。
下面是一个Sequence的例子:
如图所示,我们将流程控制节点更换为了Sequence。这就意味着,行为树会依次执行子树,任何一个步骤失败,都将导致任务的失败。具体来说,就是先吃饭,再睡觉。
现在,我们可以归纳一下两种流程控制节点的特性:
Selector:
终止性:只要有子树返回true,就直接向Root节点返回true。
同样存在优先级,也就是有固定的执行顺序
Sequencer:
- 顺序性:有明确的执行顺序
6.2 UE网络架构
完全空白的领域
[TODO]
本文由作者按照 CC BY 4.0 进行授权

