【UEAI】虚幻AI人机基础(下)
AI原理
AI的处理过程可以分为三大阶段,往复循环:
- 感知(对AI当前状态作记录)
- 思考(利用感知阶段收集到的信息,评估并做出下一步动作)
- 行动(有可见的,如跳跑;也有不可见的,如通信)
一. 实现随机移动与跟随
1.1 创建AI角色蓝图,并调整角色视口
1. 创建一个AI角色蓝图,使胶囊体包裹:

2. 注意:检查蓝图里的 “类默认设置” - “AI控制器” 是不是“AI Controller”(默认给AI Controller)

1.2 设置添加简单移动/待机动画
1. 创建AI角色混合空间

2. 创建AI动画蓝图,挂上动画
- 在事件图标中设置速度:
- 在动画蓝图中(层层)设置动画:
3. 将上面做好的AI动画蓝图添加到AI角色蓝图

1.3 AI随机移动/玩家跟随
1. 添加 “导航网格体”(UE5是真难找啊),并包裹AI的活动范围,按P变绿查看

2. 在AI角色蓝图中写逻辑:

1.4 (拓展)呼唤AI过来
1. (假如要做一个宠物AI,则)在玩家角色蓝图中创建一个事件分发器:

2.然后在AI角色蓝图中写逻辑:

二. 行为树工作流设计AI行为
2.1 行为树工作流的前期准备工作
1. 创建基于AIController的蓝图类,并挂载到AI角色蓝图的 “类默认设置” - “AI控制器” 上:

2. 创建行为树和黑板:
- 行为树:控制并显示AI的决策制定过程
- 黑板:可以看做是行为树的创建一些公有变量,外部可以修改行为树黑板的变量值,达到修改行为树状态的逻辑

3. AI Controller蓝图类中,运行行为树(挂上你刚建的行为树):

4. 在黑板中存要用的数据:

5. 在行为树中 “新建任务”,并在任务的事件图表 “接收执行AI”:

2.2 设计AI行为
1. (接上条)在任务的事件图表 “接收执行AI”,并添加变量接住黑板传值:随机移动位置

2. 在行为树中的逻辑:

三. 分支行为判断AI感知跟随玩家
3.1 设计AI行为
1. 同上, “新建任务”:跟随玩家位置

2. “新建任务”:实时跟随玩家

3. 在行为树中的逻辑:

3.2 使用分支判断触发逻辑
1. 在黑板中添加变量,是否看到玩家:

2. 在行为树中,给Sequence添加 “装饰器:Blackboard”:


3.3 AI感知
1. 在自己创建的AI Controller蓝图类中,添加AI感知组件:

2. 在右边的属性面板按项目需求添加AI感知(这里我添加了AI的眼睛,):

3. 添加实时感知更新事件:

4. 在AI Controller蓝图类中的实时AI感知逻辑:

未完待续...

浙公网安备 33010602011771号