当前课程知识点:虚幻引擎(UE4)技术基础 >  第十一章 游戏AI >  11.2 AI监听玩家行为 >  11.2 AI监听玩家行为

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

11.2 AI监听玩家行为在线视频

下一节:11.3 AI与玩家的攻击伤害

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

11.2 AI监听玩家行为课程教案、知识点、字幕

大家好

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

我是主讲教师

黄颖翠

现在我们将在

虚幻引擎技术基础课程中

游戏AI章节

学习实现AI监听玩家行为

这章

我们再深入学习敌人AI设计

学习用NavMash控件实现跟随逻辑

同时学习AI如何通过

听觉判断玩家位置和做有效决策

开始操作部分

现在我们来实际操作一下

让AI通过听觉判断玩家位置跑过去

第一要发出声音

我们什么时候发出声音

理论上

开枪

跳事件中应该出声音

然后就是收声的地方

就是行为树上面接收到声音

并收到后可能做点什么

现在我们实现一下通过听觉

发现玩家靠近

因为看到我们跑过来和听到声音跑过来

肯定是看到跑过来优先级高

巡逻是最不重要的事情

所以我们在行为树中间这里

也就是看到玩家的序列后面

创建一个新的序列

节点名称FindPlayer

这个序列后面做一些听到声音后的动作

然后它添加一个装饰器

节点名称为HeardPlayer

观察者终止选择

低优先级

也就是当这个序列满足条件

低优先级的序列就会被中断

不选这个中断就不会执行

然后需要在黑板那里定义一个变量

用于设置下

是否听到了声音

在黑板这里加一个布尔类型的变量IsHeard

在行为树面板这里黑板键值选择IsHeard是否听到

如果听到了我们就可以做他下面的任务了

这下面的任务有什么呢

首先肯定是会走向玩家

走到玩家跟前后

在设置个等待

4秒后

在回到听序列这里

然后再回到选择器这里

然后它又要往下来走

等待4秒后

需要重置这个Isheard变量

让AI忘记刚刚听到了玩家发出的声音

我们来做一下

我们新加一个任务

取名ClearLocation重置位置任务

在最开始调用该任务

因为如果放到等待后面

就会出现本来是‘听’到声音过来

因为优先级的原因

在过来的途中触发了‘看’

然后攻击完成后

又走回刚开始听到的位置

现在这个新任务主要是重置这个IsHeard布尔变量

我们在任务这里定义一个变量key

来表示这个IsHeard变量

是个黑板键值类型

打开眼睛

然后创建一个接收事件

一个完成事件

选择返回真success

然后再设置一个value变量

存储值

布尔类型

我们在接受事件后设置黑板上的布尔值

添加key和value

因为在行为树上

如果在“听”这个序列正在执行时

如果正好有“看”这个序列也满足条件

就是听到声音

像玩家走过来

那就很容触发“看”

由于优先级

‘听”就会被直接中断

进入“看”的序列

这样就不应该了

所以我们需要在这个任务中加上放弃事件

也就这个任务被放弃时触发

加上放弃事件的开始和结束

然后在这里依然设置黑板的布尔类型值

并且连接好key和value

那么在听这里的移动是移动到哪里呢

听玩家吗

因为玩家会跑掉

应该是听到产生位置的地方

也就是location位置

所以我们再在黑板定义个变量SoundLocation

然后在行为树的听到移动这里

修改下黑板的键值为SoundLocation

我们需要声音的位置

那这个声音位置是什么位置呢

在行为树也能赋值

但是比较麻烦

我们到敌人的控制器里面

把黑板里面的设置声音位置在这里赋值

我们先获取黑板

先把黑板的做一个添加变更路线节点

放到这里

方便后面用

我们通过这个节点出来

设置一个布尔值

设置set value as bool

然后在设置一个方向值

set value as vector

我们肯定是需要先设置好它要听到的位置

然后在设置听到状态

然后什么事件触发设置这两个变量呢

我们需要一个听的事件

听到声音再设置位置

然后设置布尔

那现在设置位置的

KeyName键值

名称SoundLocation

设置布尔类型的键值名称IsHeard

然后把声音发出的位置赋值

给sound location

然后布尔类型值勾上

就是真意思

我们可以看到场景中

这个就是AI的视角范围

也就是这个绿色线

视角的检测范围

然后这里是无遮挡的听觉范围

蓝色圆形线

然后这个黄色的圆形线球

是如无遮挡的听觉范围

我们回退数值

我们看到这个黄色球范围有点大

否则我们不好区分它的听觉范围

但是我们如果只是在场景中改这三个值

它只能把这个一个敌人的数值修改了

我们需要每一个敌人

每一个新生成的敌人都改成一样的

所以我们需要在敌人的控制器里面改

这个听的逻辑就做完了

那出声的地方需要添加下

我们可到玩家蓝图中的开枪

跳这几个动作加点声音

我们先给人加上噪音发射器

我们在射击这里

播放枪声的后面添加噪音

make noise

这里位置就用自己玩家位置就可以了

编译一下

然后在加速奔跑这里

也加上这两个函数

这样我们就会在跑

和射击的时候会发出噪音

好我们来试一下

靠近他

在他后面发射子弹

他走过来了

这个通过听觉和视觉

来监听玩家行为的AI功能基本完成了

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

留给大家一个课后练习

请大家课后自己操作一下

做一个游戏AI

当玩家靠近他

他会走向一盏灯

并把这盏灯点亮

本节课内容就讲解完毕

感谢大家聆听

再见

虚幻引擎(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.2 AI监听玩家行为笔记与讨论

也许你还感兴趣的课程:

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