当前课程知识点:虚幻引擎(UE4)技术基础 >  第十一章 游戏AI >  11.4 AI生成点与随机巡逻 >  11.4 AI生成点与随机巡逻

返回《虚幻引擎(UE4)技术基础》慕课在线视频课程列表

11.4 AI生成点与随机巡逻在线视频

下一节:11.5 优化游戏体验

返回《虚幻引擎(UE4)技术基础》慕课在线视频列表

11.4 AI生成点与随机巡逻课程教案、知识点、字幕

大家好

欢迎来到虚幻引擎技术基础课堂

我是主讲教师 黄颖翠

现在我们将在虚幻引擎技术基础课程中

游戏AI章节

学习实现AI生成点与随机巡逻

在我们上节课中

可以实现一个敌人的AI决策

但是一个游戏不可能只有一个敌人

并且往往是无限个敌人

同时敌人的位置

也是多处出现的

我们这节课将学习

如何在游戏世界产生新的敌人

也就是我们开发中

常说的敌人生成点

同时我们还要学习

如何设置敌人AI在关卡中的随机巡逻逻辑

开始操作部分

现在我们一起实际操作一下

实现我们这节课需要达到效果

我们先实现生成点

如何生成敌人呢

我们可以用原来的巡逻点

point1

改名SpawnPoint

用它来做生成点

这样我们就不用新建一个actor了

我们给它放好一个合适的位置

然后把它的球状碰撞体删除

然后如何生成敌人呢

我们可以在蓝图这里

找到打开关卡蓝图

把逻辑添加到这里

我们决定每隔一段时间

在某个位置生成敌人

所以需要创建变量相隔时间

SpawnTime 浮点型

5秒

然后还有一个

最多有多少敌人

MaxEnemyNum

整数

5个人吧

我们可以添加BeginPlay事件

间隔5秒触发一个自定义事件Spawn

这个Spawn逻辑就是生成敌人

我们可以先判断当前有多少敌人

满足条件才生成敌人

否则世界上敌人太多了

我们在玩家蓝图中

创建一个当前敌人数量变量

CurrentEnemyNum

整数类型

然后回到关卡蓝图中

使用这个变量

我们先获取玩家角色

然后尝试转换类型为

FirstersonCharacter

如果转换成功说明是玩家

获取玩家身上的当前场景敌人数量

CurrentEnemyNum

判断是否小于MaxEnemyNum

最多玩家数量

如果小于

则说明敌人还不够

我们去生成AI

Spawn AI from class

位置就是刚刚我们设置的生成点

但是它是世界中的一个物体

我们应该怎么获取他呢

我们先选中这个点

然后在蓝图里面空白处右击

这时候就有了它的引用

然后我们获取他的位置

Get Actor Location

然后人生成之后面向哪里

我们想他有一点随机性

我们就构造一个随机旋转

Make rotate

我们看一下

拖入一个人物

这个人物是延Z轴旋转的

所以我们给这个z一个随机数

因为z这个值是0

到360

我们给它赋一个随机数

random float

然后乘以一个360

最后赋值给Y

在后面添加一个IsValid

判断是否执行有效

如果真则当前敌人数

CurrentEnemyNum加1

我们修改下需要击杀的数量

从2改成6

当然我们还要考虑击杀一个

就应该把当前敌人数减一

在敌人控制器中

在击中事件里面

我们从玩家身上获取敌人数量

然后-1赋值回CurrentEnemyNum

运行一下

运行后会报错

可能是一些释放的问题

敌人死亡后黑板已经被释放

但是依然被调用了

那就是敌人控制器这里

在每个获取黑板这里添加一个isvalid

检查一下黑板是否ok

没有问题才设置

再次测试

没有问题了

任务完成

那么第二个任务随机巡逻怎么实现

首先原来的巡逻点可以不需要了

我们再把原来行为树里面的

定点巡逻逻辑删除

然后在敌人蓝图里面的巡逻

有关的也删除调用

我们给他创建一个随机巡逻点

我们在行为树这里创建一个Wander

然后

移动

巡逻点先空着

还有一个等待wait

两秒

加减1秒

那巡逻到哪个点呢

我们到黑板里面新建一个键值

WanderPoint

这个就是需要移动到的巡逻点

在行为树这里选择一下

我们还需要生成一个新的任务

来做巡逻这个事情

名字改成FindWanderTask

然后我们在行为树上用上它

怎么找巡逻点呢

我们打开这个新任务编辑

先添加接收任务和结束任务

首先我们需要找到自己的位置

先转换类型为AIController

AI控制器

然后通过Nav网格获取位置

然后在圆点给定半径中生成一个随机位置

范围是一万

然后在这个随机的位置就是需要巡逻的点

把这个值传给黑板

设置给黑板的value

而key我们创建一个变量key对应

键值是黑板键值

打开眼睛

方便外部设置

然后连接剩下的线

成功一定要勾选上

Key值就在外面行为树上

设置成WanderPoint巡逻点

这节课我们实现了场景中

最多有五个敌人

敌人生成后随机方向

巡逻点是随机的

攻击完6个人后显示胜利界面

本小节的操作讲解已经完成

留给大家一个一个课后练习

请大家课后完成我们讲到的操作

并完善游戏的生成点和巡逻轨迹

使该游戏更具趣味性

本节课内容就讲解完毕

感谢大家聆听

再见

虚幻引擎(UE4)技术基础课程列表:

第一章 UE4引擎基础

-1.1 虚幻4引擎简介

--1.1 虚幻4引擎简介

--1.1 小节习题

-1.2 虚幻4引擎的安装及环境部署

--1.2 虚幻4引擎的安装及环境部署

--1.2 小节习题

-1.3 创建项目及试玩

--1.3 创建项目及试玩

--1.3 小节习题

-第一章 章节测试

第二章 UE4编辑器

-2.1 虚幻4编辑界面介绍01

--2.1 虚幻4编辑界面介绍01

--2.1 小节习题

-2.2 虚幻4编辑界面介绍02

--2.2 虚幻4编辑界面介绍02

--2.2 小节习题

-2.3 视口导航及基本操作

--2.3 视口导航及基本操作

--2.3 小节习题

-2.4 导入资源、项目迁移和管理

--2.4 导入资源、项目迁移和管理

--2.4 小节习题

-第二章 章节测试

第三章 地形系统

-3.1 地形工具

--3.1 地形工具

--3.1 小节习题

-3.2 新建地形

--3.2 新建地形

--3.2 小节习题

-3.3 塑造地形

--3.3 塑造地形

--3.3 小节习题

-3.4 使用植被工具

--3.4 使用植被工具

--3.4 小节习题

-第三章 章节测试

第四章 材质系统

-4.1 初识材质

--4.1 初识材质

--4.1 小节习题

-4.2 编辑基于物理材质

--4.2 编辑基于物理材质

--4.2 小节习题

-4.3 使用贴图纹理创建材质

--4.3 使用贴图纹理创建材质

--4.3 小节习题

-第四章 章节测试

第五章 光照系统

-5.1 大气照明和定向照明

--5.1 大气照明和定向照明

--5.1 小节习题

-5.2 添加点光源

--5.2 添加点光源

--5.2 小节习题

-5.3 添加聚光源

--5.3 添加聚光源

--5.3 小节习题

-5.4 光源质量和反射

--5.4 光源质量和反射

--5.4 小节习题

-第五章 章节测试

第六章 场景搭建

-6.1 几何体及纹理贴导入

--6.1 几何体及纹理贴导入

--6.1 小节习题

-6.2 素材整理和项目准备

--6.2 素材整理和项目准备

--6.2 小节习题

-6.3 搭建流程

--6.3 搭建流程

--6.3 小节习题

-第六章 章节测试

第七章 动画系统

-7.1 动画资源与编辑器

--7.1 动画资源与编辑器

--7.1 小节习题

-7.2 混合空间

--7.2 混合空间

--7.2 小节习题

-7.3 动画窗口及编辑动画

--7.3 动画窗口及编辑动画

--7.3 小节习题

-7.4 创建自定义角色

--7.4 创建自定义角色

--7.4 小节习题

-第七章 章节测试

第八章 特效系统

-8.1 创建粒子系统

--8.1 创建粒子系统

--8.1 小节习题

-8.2 虚幻粒子基础功能介绍01

--8.2 虚幻粒子基础功能介绍01

--8.2 小节习题

-8.3 虚幻粒子基础功能介绍02

--8.3 虚幻粒子基础功能介绍02

--8.3 小节习题

-8.4 粒子特效的综合运用

--8.4 粒子特效的综合运用

--8.4 小节习题

-第八章 章节测试

第九章 蓝图概念

-9.1 初识蓝图

--9.1 初识蓝图

--9.1 小节习题

-9.2 蓝图类型

--9.2 蓝图类型

--9.2 小节习题

-9.3 蓝图通信

--9.3 蓝图通信

--9.3 小节习题

-9.4 创建蓝图

--9.4 创建蓝图

--9.4 小节习题

-第九章 章节测试

第十章 蓝图应用

-10.1 击中事件

--10.1 击中事件

--10.1 小节习题

-10.2 实现物体来回移动

--10.2 实现物体来回移动

--10.2 小节习题

-10.3 Input输入与玩家快捷键交互

--10.3 Input输入与玩家快捷键交互

--10.3 小节习题

-10.4 用户界面和HUD

--10.4 用户界面和HUD

--10.4 小节习题

-10.5 创建游戏约束

--10.5 创建游戏约束

--10.5 小节习题

-10.6 游戏结束与重玩功能

--10.6 游戏结束与重玩功能

--10.6 小节习题

-第十章 章节测试

第十一章 游戏AI

-11.1 行为决策的AI

--11.1 行为决策的AI

--11.1 小节习题

-11.2 AI监听玩家行为

--11.2 AI监听玩家行为

--11.2 小节习题

-11.3 AI与玩家的攻击伤害

--11.3 AI与玩家的攻击伤害

--11.3 小节习题

-11.4 AI生成点与随机巡逻

--11.4 AI生成点与随机巡逻

--11.4 小节习题

-11.5 优化游戏体验

--11.5 优化游戏体验

--11.5 小节习题

-11.6 渲染及代码优化

--11.5 优化游戏体验

--11.6 小节习题

-第十一章 章节测试

第十二章 音频系统

-12.1 音频基础

--12.1 音频基础

--12.1 小节习题

-12.2 音频混成器

--12.2 音频混成器

--12.2 小节习题

-12.3 声音特效

--12.3 声音特效

--12.3 小节习题

-第十二章 章节测试

11.4 AI生成点与随机巡逻笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。