UE的AI基础(1)简单的AI基础

1. AI的跟随与跳跃

1.1 创建AI

(1)首先创建蓝图类Character,命名为NPC。

在这里插入图片描述

在NPC蓝图类中,Mesh的Skeletal Mesh选择对应的骨骼,Animation选择对应的动画蓝图。

在这里插入图片描述

(2)在场景中放入Nav Mesh Bounds Volume,并按“P键”激活

在这里插入图片描述

(3)新建AIController蓝图类,命名为NPC_AI,并在NPC蓝图类中的类默认设置中,把AI Controller Class选择为这里新创建NPC_AI。

在这里插入图片描述

在这里插入图片描述

(4)新建黑板和行为树(Behavior Tree和Blackboard)。

在这里插入图片描述

1.2 制作AI的跟随

(1)在Blackboard中新建一个Key,类型选择为Vector,用于表示目标位置

在这里插入图片描述

(2)在Behavior Tree中首先选择对应的Blackboard

在这里插入图片描述

(3)新建BTTask

在这里插入图片描述

在BTTask中我们一般完成下面的两件事,首先创建变量关联黑板和行为树中的值,同时一定要打开变量的小眼睛(可编辑实例),然后在蓝图中编写对应的逻辑即可

在这里插入图片描述

跟随人物移动代码如下,Set Blackboard value as XXX函数能够设置行为树中的变量的值,Finish Execute可输出任务执行成功还是失败。

在这里插入图片描述

在行为树中编写任务流程,记得在任务中暴露出的可编辑实例变量一定要与黑板中的值关联。

在这里插入图片描述

Move To表示移动到哪个位置,该位置一定是一个Vector类型或者Object类型,Wait表示等待多少秒。

在这里插入图片描述

在AI Controller类中使用Run Behavior Tree函数执行对应的行为树。

在这里插入图片描述

这实现了NPC的跟随,使用AI的BTTask的整体流程也大致和上面的一样

1.3 AI跳跃

AI跳跃的逻辑主要判断AI的速度是否大于某个值,如果在运动则通过射线检测来执行跳跃的动作

(1)首先在一开始储存NPC类。

在这里插入图片描述

(2)在Tick中,使用射线检测进行判断。

在这里插入图片描述
在这里插入图片描述

注意:可以在场景中放置Nav Link Proxy,增加AI的移动路径

在这里插入图片描述

2. AI指定位置移动并巡逻

创建一个蓝图类规定AI的移动位置,并将其赋予AI角色类,这样我们就能在AI控制器类拿到对应的所有信息。

(1)新建储存巡逻向量数组和是否循环的Actor类,命名为NPC_PatrolPath

在这里插入图片描述

在地图中拖动这个3D图标,巡逻向量数组里的值就清晰地展示在地图上。

在这里插入图片描述

(2)将这个数组编译成NPC的一个成员变量,我们就可以在AIController中和BTTask中拿到这个值。
新建BTTask_GetNPCPatrolVector,并用一个黑板键Iter用来计数索引值。

在这里插入图片描述

(3)新建BTTask_AutoAddNPCPatrolVectorIter来控制Iter的递增和递减。

在这里插入图片描述

巡逻模式的主要行为树如下。

在这里插入图片描述

上图绿色的为服务节点,在服务节点中我们设置NPC的移动速度。

在这里插入图片描述

在这里插入图片描述

增加表示NPC状态的枚举类型,在黑板键值中对应添加。

在这里插入图片描述

搜索与巡逻的行为树逻辑如下。

在这里插入图片描述
行为树逻辑:AI丢失目标后,会循环搜索3次,然后再进入巡逻模式。

3. 感官配置

3.1 添加感官配置

在AIController中添加AIPerception组件,在人物蓝图ThirdPersonCharacter中添加AIPerceptionStimuliSource组件
在这里插入图片描述 在这里插入图片描述

3.2 视觉感官配置

在这里插入图片描述

在这里插入图片描述

3.3 感官配置的使用

当感官更新时,我们获取感官的类型,并将其存入AIStimulus类型的数组,然后break掉AIStimulus,相应的去设置行为树中的黑板键值。
注意:这里的索引相当于Senses Config的索引

在这里插入图片描述

在这里插入图片描述

所对应的行为树逻辑如下。

在这里插入图片描述

注意:Cooldown为冷却时间,设置很小的值才不会卡顿。

3.3 聆听感知配置

(1)添加AI Hearing config

在这里插入图片描述

(2)增加操作映射,并在人物蓝图中添加操作映射,如按"1"播放音效。

在这里插入图片描述
(3)在感知更新时编写对应的逻辑。

在这里插入图片描述

(4)听觉发现并搜索的行为树逻辑如下

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45617648/article/details/130797103