虚幻5|简单的设置角色受到伤害,远程攻击机关设置,制作UI,低血量UI

虚幻5|制作玩家血量,体力(还未编辑,只用于引用)-CSDN博客

需完成制作玩家血量及体力部分

一.给角色添加死亡动画

1.为了保证角色在播放死亡蒙太奇的时候,不会重新播放,而是保持原来倒地的姿势,需要给动画蒙太奇取选如下

2.打开角色蓝图找到引用down up函数的事件,事件任意伤害

如下整体图

范围内随机浮点就是在0到1的范围内取小数,如果大于等于0.5执行真,播放向前倒地动画

否则播放侧倒地动画

加入设置碰撞已启用,当播放dead动画的时候,就不会再此受击而播放此动画。就是人物死了,但还是受到击打就又播放动画,就会很鬼畜

网格体和胶囊体都要设置

二,陷阱打中主角,造成伤害

1.创建一个Actor蓝图

2.打开后添加一个骨骼网格体组件,两个box collision组件,一个box组件用于触发机关,一个用于给机关添加碰撞,防止人物穿模机关

3.碰撞预设的设置

骨骼网格体机关的碰撞预设是NO Collision

触发机关的碰撞预设如下

机关box的碰撞预设如下

只写这个红圈,是远程机关的蓝图布置,远程不需要在触发时直接受到伤害,远程机关触发,只需要将子弹射出,要受到伤害就需要给子弹射出的蓝图写入应用伤害蓝图

tag标签,我们需要给主角添加标签,在主角的角色蓝图,选中BP_CB(自身),右侧细节栏就可以找到,之前也有讲过就不多说了

如果你写了下面全部的蓝图基本上是应用了近战机关的触发并直接造成伤害

我这里只讲远程触发机关,并受到伤害,近战触发机关,自己也可以衍生

三.子弹打到主角,使主角受到伤害

1.再创建一个蓝图,跟上面的一样是Actor

2.打开后创建一个sphere和静态网格体,还有一个发射物组件

3.设置如下

包裹子弹就行

设置发射速度,选中发射物组件,右侧细节栏

sphere的碰撞预设,如果你没有子弹对象类型,可以在编辑>项目设置>碰撞>新建object

静态网格体的碰撞预设

打开事件图表,编辑如下蓝图

看好红圈位置,在位置处生成发射器是击中主角,出血特效

tag标签,我们需要给主角添加标签,在主角的角色蓝图,选中BP_CB(自身),右侧细节栏就可以找到,之前也有讲过就不多说了

四.制作UI,低血量UI

1.创建一个UI控件蓝图,命名为Player_LowHP

2.再导入一个血量爆在屏幕的纹理

3.打开UI,设置如下

放入一个画布画板和图片作子级

选中图片image_55,右侧细节栏,编辑如下

锚点,展开后选择,全填充的

添加素材,并调整透明度

调整一下大小,让爆血不会太大

4.制作动画

改一下图片名称Blood

再添加一个动画,命名为LowHP

添加一个轨道,颜色和不透明度

设置长度,A:0-0.2,0.5-0.5,1-0.2(0秒的时候,A为0.2;...)

5.添加动画

打开玩家数据Actor组件

找到,down hp的函数,降低血量的函数

找到血量小于百分之25的后面,或者是播放血量小于25时,血量跳动动画的后面,编写如下

Num loops to play为0,是使动画循环播放

接着,把LowHP_UI有效链接到后面的branch

运行测试一下,发现降低血量可以达到,提示效果,但是我血量超过百分之25后,还在播放就不可理了

改进一波

6.打开玩家数据Actor组件,还是原来的地方,打开UP hp函数,增加血量的函数

运行一下,发现我们回血量后,没有动画了,但再次降低到百分之25,就没有低血量动画了

分析:由于上面的,我们的从父项移除,移除的不是前面的有效get变量,而是控件,因为从父项移除的目标是控件,变量还是存有值的

所以再到down hp的函数,到LowHP_UI变量的有效,必须要绕过创建控件

如图

运行后,发现血量扣到负数了,我们只需要显示0即可,修改如下,在down hp函数最后面加

7.给远程机关添加音效,我这是ak47,一般枪声,但我没有枪声,就用人物受到伤害的音效吧

相关推荐
charlie1145141911 分钟前
C++ STL CookBook
开发语言·c++·stl·c++20
小林熬夜学编程12 分钟前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
倔强的石头10623 分钟前
【C++指南】类和对象(九):内部类
开发语言·c++
军训猫猫头2 小时前
20.抽卡只有金,带保底(WPF) C#
ui·c#·wpf
A懿轩A2 小时前
C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·数组
云边有个稻草人2 小时前
【优选算法】—复写零(双指针算法)
笔记·算法·双指针算法
机器视觉知识推荐、就业指导2 小时前
C++设计模式:享元模式 (附文字处理系统中的字符对象案例)
c++
半盏茶香2 小时前
在21世纪的我用C语言探寻世界本质 ——编译和链接(编译环境和运行环境)
c语言·开发语言·c++·算法
wuningw3 小时前
ant-design-ui的Select选择器多选时同时获取label与vaule值
ui·arcgis
Ronin3053 小时前
11.vector的介绍及模拟实现
开发语言·c++