当前课程知识点:虚幻引擎(UE4)技术基础 >  第十一章 游戏AI >  11.3 AI与玩家的攻击伤害 >  11.3 AI与玩家的攻击伤害

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

11.3 AI与玩家的攻击伤害在线视频

下一节:11.4 AI生成点与随机巡逻

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

11.3 AI与玩家的攻击伤害课程教案、知识点、字幕

大家好

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

我是主讲教师黄颖翠

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

游戏AI章节

学习实现AI与玩家的攻击伤害

有了敌方和我方

那么一定有相互伤害

这样才有数值的流动

才有胜利失败

今天我们要学习两个功能操作

第一

实现敌人AI监听玩家位置

当在我方在敌人的可识别的有效范围下

自动追逐玩家角色

并对其进行攻击

第二

我方玩家也可以对敌人AI进行攻击并造成伤害

现在进入操作部分

现在我们来实际操作一下

如何实现这个两个逻辑

现在我们首先做敌人可以过来攻击我们

并且被攻击后

我们的健康值会下降

这样就相当于AI对我们进行了攻击伤害的效果

攻击我们这个问题

我们需要改一下我们的行为树

这里我们回顾一下

这里的行为是看到玩家后

向玩家方向移动

等待2秒

然后清除Player键值中玩家信息

这样就忘记了玩家

继续去巡逻

那么这只是等待了2秒

并没有给玩家造成伤害

我们需要新建一个任务

这样就在行为树的同一个目录下

创建了一个任务

名为DoAttack攻击任务

双击打开

在这个任务中

我们需要做什么

常用的方法

先添加好一个接受事件

一个退出功能

返回值为真

这里一定要设置为真

否则任务完成后

这条序列接收到假

后面的任务就可能不会执行

然后我们需要对玩家进行攻击

我们如何获取到玩家信息呢

我们需要定义一个变量作为目标

改名为Target

类型为黑板键值

因为这个任务里面的变量都是来自黑板的

所以这也是它与黑板的关系

这个Target需要外部传值进来

所以需要打开眼睛

可被外部访问

还有一个是伤害值Damage

类型为浮点数

打开眼睛

因为我们的健康值也是浮点数

方便用于计算

把这两个变量都拖出来

我们等下要用到它们

Target

因为我们需要从黑板中拿到玩家

所以是get blackboard value as actor

因为玩家是Actor

然后我们检查是否有玩家

IsValid

并且是有效的玩家

如果确实有玩家

则给它造成伤害

我们给一个泛型伤害ApplyDamage

这个伤害值是Damage

这个对谁的伤害

就是玩家actor

然后我们在行为树上添加这个攻击任务

然后在详细信息这里target这里选择玩家

伤害值为0.3

这样就会走到玩家身边进行伤害

我们运行一下

我们跑到AI前面

让他看到

然后他跟随我们过来

在我们面前暂停没动了

说明他在执行攻击

我们走开他也走开了

但是我们的血条并没有因为攻击而下降

说明我们这里还缺少处理玩家血条数据的逻辑

实际上是造成伤害了

但是我们主角没有接收到伤害

我们找到主角蓝图

打开

然后在空白处

来处理我们受到的伤害

AI给我造成伤害

我们这里应该需要一个事件来接受

找到AnyDamage事件

任意伤害事件

当敌人攻击我们

这个事件就会被触发

我们找到伤害值

给它做一个减法

伤害值减去受到的伤害Damage

然后用max限制不能小于0

然后最后值赋值给Health健康值变量

因为之前这个值已经和UI绑定了

所以当这个值被修改

UI也会更新

编译一下

我们运行试一下

血量下降了

这个攻击基本完成了

那么玩家如何攻击敌人AI呢

其实这在我们之前的课程中

攻击圆柱体中已经有了一个逻辑

我们先把场景中的两个圆柱体可以删除了

我们的敌人就是这个AI

我们找到圆柱体的蓝图中击中事件

我们复制一份

把它粘贴到敌人的蓝图中

但是因为这里有一些

原来蓝图的变量和变色

我们都不需要所以删除掉

我们调整一下

因为打两下就会死亡

太容易了

游戏感较差

我们给这个敌人也定一个血量Health

整数

值为3

我们这里首先在被攻击后

我们需要对血量先判断是否小于2

小于2

最大的整数也就是1

也就是只有一滴血

就进入这个分支

为真

那么被攻击一下也就是没有血了

判断死亡

如果不小于2

则为假

设置健康值Health

等于当前Health-1的结果

也就是扣一滴血

这里因为我们子弹的碰撞预制体是Pawn类型

敌人的碰撞预制体也是Pawn类型

但是关键我们子弹

对Pawn类型的物体是忽略碰撞的

因为这里是默认为了

让子弹不要打到玩家自己

我们这里就把子弹的碰撞

对Pawn这个类型还是改成有阻挡的

block

这样才能被击中

我们测试一下

AI是否是被击中3次后

然后死亡

任务完成

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

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

请大家课后自己操作一下

做一个来回行走的人物AI

当他看到玩家

则会往玩家方向靠近

当靠近玩家

会对玩家进行攻击

攻击会伤害玩家血量

每0.2秒攻击扣1滴血

当玩家离开AI后

超过一定范围AI不会跟来

继续返回原来路径进行巡逻

同时玩家离开攻击后每1秒回一滴血

本节课内容就讲解完毕

感谢大家聆听

再见

虚幻引擎(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.3 AI与玩家的攻击伤害笔记与讨论

也许你还感兴趣的课程:

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