做一个有交互的血条
UE4技术虚幻引擎Thepoly 15035 1
实名

通过了实名认证的内容创造者

发布于 2022-3-26 15:45:56

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 Thepoly 于 2022-3-26 15:53 编辑

            
640.jpg

174551k9r66ex7z719e99h.jpg



Hello . 大家好
今天给大家带来交互血条的制作
我是很久不见


大家好,我是很久不见,主要从事的方向是引擎美术。

本期文章使用虚幻引擎中制作一个有交互效果的血条,先来看一下最终完成的效果。



下面来说一下实现的过程。


1创建项目工程




首先创建一个第一人称的射击项目,这个是虚幻引擎自带的工程内容。


在模板里选择“第一人称游戏”,并创建项目。





2
创建血条和攻击对象





首先新建一个控件蓝图。



把原有的画布面板删掉,用一个垂直框代替。



在垂直框中拖入文本和进度条。



把垂直框的大小设置为200*40。


适当修改一下文字的大小。



修改后的血条长这样。



然后新建一个蓝图类,类型选择Pawn。


在蓝图类的视口中添加一个圆柱体和一个控件组件。




选中控件组件,将刚才制作的血条界面放到用户界面的控件类中,绘制大小调整为与之前界面尺寸一致。


适当调整一下位置比例关系。




3
血条与摄像机的相对旋转





首先创建一个自定义事件。


然后设置Widget的场景旋转。



Widget的旋转需要与摄像机的一致,这里用到了一个“寻找查看旋转”节点。


然后做了一个分支开关。


然后把这个自定义事件连给Tick,运行后就有了血条朝向摄像机的效果了。




4
子弹伤害效果的实现





创建两个浮点类型的变量,总生命和当前生命值浮点都设置参数为100,并开启可编辑实例。



右键创建“事件任意伤害”,当前生命值减去伤害就是剩余的当前伤害数值了。


当生命值小于0时候,销毁组件。



这里有一个问题,就是当Widget组件销毁后,之前的摄像机与血条的旋转还没有停止,所以在这里做了一个分支用来切断刚才的Tick事件。


接下来需要把子弹的伤害数值给到对应的蓝图中。

在工程里找到枪和子弹的蓝图。



在子弹的蓝图中,修改了碰撞体的碰撞预设类型,并开启了“组件命中时”事件。



应用伤害,并设置了子弹的伤害数值。


打开枪的蓝图,此时会看到在开火事件中的从类生成Actor中,多了一个刚才设置的子弹伤害数值,拖出来并设置这个变量为20,开启可编辑实例。


回到刚才的血条界面里,应用刚才的伤害数值。


首先选中进度条,在百分比这里创建绑定。


获取类的Actor,选择刚才带血条的攻击对象蓝图,用当前生命除以总生命就是血条进度条的浮点数值,注意这里的进度百分比只能是0到1之间。


在文本内容这里也创建绑定。


把刚才的数值乘以100,就是当前血量的数值了。


最后直接运行就可以看到效果了。


以上就是本次案例的内容了。

本次案例是我的个人练习,如有不足之处,希望大家可以一起交流学习,一起变得更强!


- End -


喜欢Thepoly的可以通过三种方式与我们建立联系。分别是公众号、微信群以及QQ群。公众号是我们最为官方的窗口,更多内容都必须关注公众号后才能获取。另外现已开通网站:www.thepoly.cn更多精彩请关注我们。

         

本帖被以下画板推荐:

还没有设置签名!您可以在此展示你的链接,或者个人主页!
使用道具 <
Teny  发表于 2022-3-26 18:42:31  
2#
谢谢楼主分享!!!
回复 收起回复
使用道具
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表