UE4 AI行为树笔记()

1.创建一个BehaviorTree1(behaviorTree),一个blackboard4(blackboard),一个ai_controller(AIController)。

 2.在黑板中创建一个布尔变量 is see player。在behaviorTree1中空白处点击左键绑定blackboard4。在ai_controller中运行behaviorTree

 

 这就完成了这三个之间的绑定。他们和AI,四个之间关系是当blackboard中的值发生改变,behaviorTree根据改变值,通过AIController让AI需要做出的相应的行为。

3.复制一个character命名为AI_bp,删除里面的所有蓝图,变量,相机,创建一个球形碰撞。点击class defaults与创建的ai_controller绑定。

 4.在behaviorTree1中在root下创建一个selector,在selector下创建两个sequence,右键sequence,选择add decorator,选择blackboard。左键点击sequence中的blackboard修改blackboard key为is see player。

 前面的key query为is set,后面的为 is not set。is set表示布尔值is see player为真时,is not set表示布尔值is see player为假。

5.is see player为假时,我们要AI不停地随机移动。在behaviorTree1中点击new task创建任务find_loc。

 

 clearfocus 是清除AI的视角锁定,AI moveTo是AI的移动,getRandomReachablePointInRadius是在半径内随机找到一个点。一定要加 finish execute,不然会一直执行这个task。我添加了一个wait让AI到达地点后有一个停顿。

 同理我们写一个AI发现为玩家时,靠近玩家的task。

 6.ai_controller中添加一个AIPerception的组件,并设置senses config,AI Sight config是AI的视角,点击下方创建事件。

 

 根据是否看到玩家为条件 改变黑板中的布尔值,set value as bool中的key name是要设置的值得名称,make literal name 是将输入的东西传入。

猜你喜欢

转载自blog.csdn.net/m0_72249574/article/details/128567802