UE4的AI学习(1)—基本概念

发表于2018-02-26
评论0 3.3k浏览
在所有的学习中,打好基本功是最基础的,对于AI学习来说也不列外,只有知道行为树基本概念才能明白行为树在具体案例中的操作意义。本篇文章做为AI学习的第一篇,主要是给大家介绍行为树的基本概念,对于刚入门AI的开发人员来说有必要看看。

一、AI学习中的两大概念

1.行为树
行为树是驱动AI运动以及做出AI决策的一棵逻辑树。
                                                                             图一

2.Blackboard
行为树中所需的数据都存储在Blackboard里。

二、行为树中的几大节点

1.Root节点
Root节点是行为树的根。

特点:
(1)只能有一个连接
(2)无法被Decorator或Sevice节点附着
(3)Root没有自身属性,选中后可以显示行为树的属性,如:Blackboard资源。

2.Composite节点
Composite是行为树分支的非Root非叶子节点,即对分支以及分支的执行方式进行定义。



有三种类型的Composite节点:
(1)Selector
(2)Sequence
(3)SimpleParallel

3.Task节点
Task节点是行为树的叶子节点,也是行为树的执行节点,可用来执行具体的任务。如:移动AI,发出噪音等。

4.Decorator节点
Decorator节点是行为树中的条件判断语句。它们可以附着在Composite节点或者Task节点上,实现分支数的调整以及Task节点的执行与否。如:判断的AI当前距离与玩家的距离是否小于阈值。图中的蓝色框图都是Decorator节点。需要注意的是:图中的Blackboard Based Condition是Decorator节点是判断Blackboard中的某个key值是否被set,而Blackboard里的数据去Blackboard asset中查看。

5.Service节点
Service节点是行为树中Tick的存在。它们附着在Composite节点上,而且只有当Composite节点的分支被执行时,Service节点才会按所定义的频率进行执行。Service节点通常对Blackboard的值进行更新和修改,如:检测AI附近是否有玩家,有的话将Blackboard里定义的bool变量bIsEnemyNearBy置为True。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签: