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

news/2024/9/18 14:45:34/ 标签: ue5, 笔记, 虚幻, c++, 游戏引擎, 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,一般枪声,但我没有枪声,就用人物受到伤害的音效吧


http://www.ppmy.cn/news/1516498.html

相关文章

《黑神话·悟空》是用什么编程语言开发的?

最近火爆全球的国产 3A 大作《黑神话悟空》,你玩了吗?没玩没关系,有人就是对游戏不感冒,我找了个宣发片,一起感受下3A大作的视觉冲击,而且还是我们从小听到大,那猴子🐒的故事。 ‌‌…

Scrum 敏捷模型、软件测试

三个角色和五大重要会议 三个角色:产品经理、项目经理、研发团队 五个重要会议:需求发布会议、计划发布会议、每日会议、演示会议 每日会议:昨天做了什么( 进度)、今天做了什么(有目标)、遇到…

Objective-C中的MVC架构:构建清晰、可维护的iOS应用

标题:Objective-C中的MVC架构:构建清晰、可维护的iOS应用 在iOS开发中,MVC(Model-View-Controller)架构模式是一种经典的设计模式,用于分离应用的业务逻辑、用户界面和控制逻辑,以提高代码的可…

Flutter-自适用高度PageView

需求 在 Flutter 中,PageView 是一个非常常用的组件,能够实现多个页面的滑动切换。然而,默认的 PageView 高度是固定的,这在展示不同高度的页面时,可能会导致不必要的空白或内容裁剪问题。为了使 PageView 能够根据每…

云计算环境下的等保测评要点分析

在云计算环境下进行等保测评时,需要关注以下几个关键点: 安全责任共担模型:明确云服务提供商(CSP)与云服务用户(CSU)之间的安全责任划分,确保双方在安全防护上的协同作用。 安全控制…

【笛卡尔积】深入理解笛卡尔积及其在SQL中的应用

文章目录 引言笛卡尔积的定义数学背景SQL 中的笛卡尔积 SQL 示例基础示例复杂示例使用 WHERE子句限制结果集 笛卡尔积的实际应用笛卡尔积的性能考虑性能影响 更多相关内容可查看 在一个阳光明媚的周一清晨,听到这个词汇突然觉得有点陌生才有了此文的诞生 引言 在数…

33. 二叉搜索树的后序遍历序列【难】

comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/lcof/%E9%9D%A2%E8%AF%95%E9%A2%9833.%20%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E5%90%8E%E5%BA%8F%E9%81%8D%E5%8E%86%E5%BA%8F%E5%88%97/README.md 面试题 33. 二…

破晓科技与神话:三防平板与《黑神话:悟空》的创新交响

当全球游戏圈因《黑神话:悟空》的震撼预告而沸腾,一款代表中国游戏顶尖制作水平的作品,正以它独特的文化魅力与技术创新,向世界宣告着中国游戏产业的崛起。 点击添加图片描述(最多60个字)编辑 震撼视觉体验…

nginx正向代理与反向代理功能

Nginx是一款高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器。它的正向代理和反向代理功能在实际工作中有广泛的应用。 正向代理 功能 正向代理是位于客户端和原始服务器之间的代理服务器。客户端(例如浏览器)向代理服…

记录一个iOS工程添加文件的问题

遇到一个紧急问题,将工程copy了一份,然后需要将copy工程的一个文件夹 拖到现有的工程里面,由于事情紧急,就直接从工程目录中拖拽文件夹, 如下图 拖过之后,本地项目能跑了,但是远端自动化构建是…

排序算法之选择排序详细解读(附带Java代码解读)

选择排序(Selection Sort)是一种简单且直观的排序算法。它的基本思想是:每一轮从未排序的部分中选出最小(或最大)的元素,放到已排序部分的末尾。通过不断地选择最小(或最大)元素&…

MybatisPlus:实现分页效果并解决错误:cant found IPage for args

我们在做开发使用mybatisplus 做分页查询的时候遇到了个问题: 继承 IPage拦截没有作用会默认分页,这个时候报了cant found IPage for args 错误~~~ 我们分析了下,其实这个问题很简单,是因为没有给默认值赋值,因为查询…

申报合肥市各区县高新技术企业认定奖励补助政策

(一)合肥市 对首次认定为国家高新技术企业给予10万元奖励,并落实国家各项税收优惠支持政策。对符合条件的入库国家科技型中小企业,按符合加计扣除条件的研发费用10%,给予10万元—50万元补贴。 (政策来源&…

鸿蒙高级开发者认证题库(2)

20.项目需要为不同的设备形态(如手机、智能手表)提供定制化构建。请说明如何在DevEco studio中设置不同的构建配置,以生成针对不同设备的hap包? A.在工程级别build-profile.ison5定义多个 product,在每个product的config/deviceType中定义不同的设备类…

攻防世界 1000次点击

做题笔记。 下载解压 查壳。 32位ida打开。 查找字符串。 winmain函数写的,程序运行如下: 一开始思路是想着分析找到关键代码然后去od进行调试。 后来,额,不想看代码了。吐了。 尝试去字符串搜索flag样式,确实一发现…

数据结构(6_3_1)——图的广度优先遍历

树和图的广度优先遍历区别 树的广度优先遍历&#xff1a; 图的广度优先遍历&#xff1a; 代码&#xff1a; 注:以下代码只适合连通图 #include <stdio.h> #include <stdbool.h>#define MAX_VERTEX_NUM 100typedef struct ArcNode {int adjvex; // 该边所指向的顶…

链表(含代码)

好久没更新了&#xff0c;今天浅浅更新一下。 今天给大家主要分享一下链表的一些知识。 链表的首先方式主要有两种&#xff0c;一种是结构体加指针&#xff0c;另一种是拿数组模拟链表。 一、结构体加指针&#xff08;每次都要调用new Node&#xff08;&#xff09;函数&…

优化|计算合作博弈的成本分摊

原文&#xff1a; Caprara, A., & Letchford, A. N. (2010). New techniques for cost sharing in combinatorial optimization games. Mathematical programming, 124, 93-118. https://doi.org/10.1007/s10107-010-0357-7. 原文作者&#xff1a; Alberto Caprara, Adam N…

【功能实现】axios实现动态数据

1.安装axios npm i axios 2.axios调取数据 import { onMounted,ref } from "vue"const titleListref([])//获取数据库数据&#xff0c;将数据赋值给titleListconst getArticles async () > {const result await axios.get(http://127.0.0.1:3000/getAccount)t…

嵌入式Linux学习笔记

1.文件操作命令 2.VI编辑器的部分命令 3.Uboot命令设置环境变量 4. uboot 的顶层 Makefile的重点是“make xxx_defconfig”和“make”这两个命令 &#xff0c;分别如下&#xff1a; 5.在串口SecureCRT中利用uboot启动Linux内核的两种方式 6.Linux内核移植到开发板上也可以反…