当前课程知识点:虚幻引擎(UE4)技术基础 > 第十章 蓝图应用 > 10.1 击中事件 > 10.1 击中事件
大家好
欢迎来到《虚幻引擎技术基础》课堂
我是主讲教师黄颖翠
现在我们将针对
《虚幻引擎技术基础》课程中
蓝图应用章节
通过蓝图实现击中事件
进行讲解
如果你创建的游戏要对玩家
敌人
或物件造成某一类型的伤害
你可能需要确定
它们是否被某些东西击中
如果击中
还要确定谁是打击者
撞击点在哪里
或是其他与检测到的攻击有关的信息
击中事件将提供此类信息
如果发生碰撞则提供更多信息
这时你可以用数据来驱动游戏中的变化
无论是要影响生命值
摧毁物件
还是其他与游戏性相关的动作
首选我们要打开虚幻引擎
新建一个第一视角的项目
选择“First Person”
第一人称视角的模板进行创建
然后我们需要创建一个红色材质
用于圆柱体受到攻击后进行变色
这里是这个材质需要设置的元素值
颜色上
R=1
G=0
B=0
金属光泽为0.1
粗糙度为0.1
这里的数值都是0到1直接的浮点数
1为最高值
现在我们看一下用蓝图实现
当圆柱体受到攻击后
进行变色
那么着就需要用到Hit事件触发
当Hit事件被触发后调用设置材质的函数
并选择目标材质为TargetRed
同时我们需要它只是子弹碰撞后变红
那么就是需要判断攻击圆柱体的是什么东西
攻击者就是就是other
我们判如果other是子弹
则变色
如果不是子弹
则不做处理
现在我们想把被击中后的圆柱体
过段时间自动恢复原来的颜色
这里有两个需要注意的点
过一段时间
恢复颜色
首先我们需要Delay
来做到过一段时间
改颜色应该用什么呢
还是这个SetMaterial
只是Material这里
改成基础颜色BaseMaterial
然后把他们连接其他
设置成红色后
间隔3秒后
把颜色再设置成原来的颜色
当然这SetMaterial中
还需要输入被修改的物体的目标
我们连接一下即可
现在我们来实际操作一下
打开引擎
点击“游戏”项目
下一步
选择“第一人称游戏”
下一步
我们这里
修改项目名称为Chapter1
默认选择蓝图模式
点击绿色“创建项目”即可
这样它就会帮助我们创建一个
默认的第一人称游戏的一个场景
我们试玩一下
我们有一把枪
并且可以发射子弹
可以行走
但是子弹发出后
只能有简单的物理碰撞
并不会产生其他效果
假设我们需要子弹碰撞到一个圆柱体后
圆柱体会受到伤害变成红色
那么我们应该怎么做呢?
在FirstPersonBP文件夹中
右键新建文件夹
取名Materials
然后进入Materials文件夹
点击鼠标右键
选择“材质和纹理”选“材质”
这样就创建成功了一个材质
我们修改下该材质名称
TargetRed
我们可以双击该材质球
对其进行编辑
我们把窗体调整成最大化
从材质面板中
找到
“基础颜色”拉出
VectorParameter
来做一个基础颜色的输入值
取名Color
我们双击这块黑色
其他通道不修改
修改R值为1
其他通道为0
这就是红色的效果了
我们再拉“金属”
取名为Metellic
把他的数值
默认值那里
修改成0.1
我们拷贝一个Metellic
改名为roughness
粗糙度
参数依然是0.1
并把它连接到面板的粗糙度上
那么这样
这个红色的材质
美美的呈现出来了
我们可以点击保存按钮
进行保存
我们拖入一个圆柱体
我们在场景可以看到
一个蓝色的摄像机
就是我们主角
我们把这个圆柱体
放置到摄像头前面地板上
在场景中选中这个圆柱体
右边有个细节
点击“蓝图”添加
在这个窗口中创建圆柱体的类蓝图
选择
文件夹
Blueprints
选择
确定
这样就创建了一个新的蓝图
把蓝图窗口放大
我们可以看到现在内容浏览器中
我们可以找到刚刚创建出来的类蓝图
在事件图标面板中
把默认创建的事件选中
先删除
圆柱体变颜色的时候
是被打到的时候
那么由被打到这个事件开始
所以我们右击输入event hit
中文就是事件命中
回车
好了
选中圆柱体对象
这样我们就可以方便修改他的属性
右击输入setmaterial
选中
设置材质
在SetMaterial面板的
Material中
选择我们之前创建的材质TargetRed
然后与击中事件连接
点击编译按钮
然后保存一下
可以发现子弹攻击它会变红
但是我们再次运行
我们可以看其实
任何碰撞都会触发它变红
人走过去也会变红
但我们只想子弹碰撞变色
怎么办
我们需要创建一个处理
cast to firstPersonProjectile
转换类型为子弹
在击中事件中
输出引脚是other
other actor是什么
UE4中所有的游戏对象都是actor
所以other是撞击我的东西
我们把other连接到object引脚中
相当于把other尝试转换成子弹这个类型
如果它是子弹你就会转换成功
如果它不是子弹就会转换失败
那么转换成功就会从第一个引脚出去
这里的连接线也修改下位置
好了
我们在运行一次
试一下效果
好了
我们再试一下
试一下效果
再试试如果我们走过去
它不会变红了
Ok了
因为我不是子弹
不会变色
功能完成
本小节的操作讲解已经完成
留给大家一个课后练习
请大家课后自己操作一下
在引擎上实现以下功能
创建一个可以被击中的物体
该物体被击中后变成红色
3秒后自动摧毁
好
本节课内容就讲解完毕
感谢大家聆听
同学们再见
-1.1 虚幻4引擎简介
--1.1 小节习题
-1.2 虚幻4引擎的安装及环境部署
--1.2 小节习题
-1.3 创建项目及试玩
--1.3 小节习题
-第一章 章节测试
-2.1 虚幻4编辑界面介绍01
--2.1 小节习题
-2.2 虚幻4编辑界面介绍02
--2.2 小节习题
-2.3 视口导航及基本操作
--2.3 小节习题
-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 小节习题
-第三章 章节测试
-4.1 初识材质
--4.1 初识材质
--4.1 小节习题
-4.2 编辑基于物理材质
--4.2 小节习题
-4.3 使用贴图纹理创建材质
--4.3 小节习题
-第四章 章节测试
-5.1 大气照明和定向照明
--5.1 小节习题
-5.2 添加点光源
--5.2 小节习题
-5.3 添加聚光源
--5.3 小节习题
-5.4 光源质量和反射
--5.4 小节习题
-第五章 章节测试
-6.1 几何体及纹理贴导入
--6.1 小节习题
-6.2 素材整理和项目准备
--6.2 小节习题
-6.3 搭建流程
--6.3 搭建流程
--6.3 小节习题
-第六章 章节测试
-7.1 动画资源与编辑器
--7.1 小节习题
-7.2 混合空间
--7.2 混合空间
--7.2 小节习题
-7.3 动画窗口及编辑动画
--7.3 小节习题
-7.4 创建自定义角色
--7.4 小节习题
-第七章 章节测试
-8.1 创建粒子系统
--8.1 小节习题
-8.2 虚幻粒子基础功能介绍01
--8.2 小节习题
-8.3 虚幻粒子基础功能介绍02
--8.3 小节习题
-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.2 实现物体来回移动
--10.2 小节习题
-10.3 Input输入与玩家快捷键交互
--10.3 小节习题
-10.4 用户界面和HUD
--10.4 小节习题
-10.5 创建游戏约束
--10.5 小节习题
-10.6 游戏结束与重玩功能
--10.6 小节习题
-第十章 章节测试
-11.1 行为决策的AI
--11.1 小节习题
-11.2 AI监听玩家行为
--11.2 小节习题
-11.3 AI与玩家的攻击伤害
--11.3 小节习题
-11.4 AI生成点与随机巡逻
--11.4 小节习题
-11.5 优化游戏体验
--11.5 小节习题
-11.6 渲染及代码优化
--11.6 小节习题
-第十一章 章节测试
-12.1 音频基础
--12.1 小节习题
-12.2 音频混成器
--12.2 小节习题
-12.3 声音特效
--12.3 小节习题
-第十二章 章节测试