1 了解行为树
首先制作AI有很多种决策方式,比如 有限状态机(Finite-State Machines),分层状态机(Hierarchical Finite-State Machines),行为树(Behavior Trees),效用系统(Utility Systems),目标导向型行动计划(Goal-Oriented Action Planners),分层任务网络(Hierarchical Task Networks) ,不同的决策方式针对不同的游戏行为,各有优缺点,可以择优选择,我们为什么要选择行为树呢?行为树中的可扩展性是最优的,且灵活性可以适应任何不同的AI情况,其随机性非常可视化判断与调试,但是行为树显而易见也有部分缺点,比如大量判断耗时,且不一定是最优决策选择。
2 走进行为树
行为树的每一个叶子 我们都称为节点,通过一个个节点来搭建一个树结构,即数据结构的树结构。通过树结构的中序遍历来将所有节点串联在一起。其中没有下一个节点的称为 子节点,有下一个节点的 称为父节点。
子节点 又分为 行为节点、条件节点。 父节点 分为 装饰节点、组合节点。其中在Unreal Engine中 条件节点被结合在 装饰节点中。
通过这四种节点的不同排列组合 构建成了一颗行为树。
3 搭建行为树(基于unity的Behavior Designer行为树插件)
每一颗行为树都是从根节点开始