UE4简易QTE

本文介绍了一种简单的UE4快速时间事件(QTE)实现方法,通过蓝图节点setcustomtimedilation实现时间滞缓效果。QTEUI包括进度条和触发按键图标,使用UI动画来表示成功或失败。当进度条过半时,玩家可按下F键触发QTE,成功条件为在规定时间内按键。蓝图逻辑详细阐述了角色和UI之间的交互,提供了一种实用的QTE实现思路。
摘要由CSDN通过智能技术生成

UE4简易QTE

在游戏中会时不时碰到QTE的操作,类似于触发了某段剧情后,弹出一个UI,必须在规定时间内点击指定按键才能完成QTE。之前也有看到网上有教程,但是觉得挺复杂的,就自己想了一个比较简单的逻辑实现了一下效果。借此分享,欢迎大家交流。

需求

因为是简易的QTE,所以大概的效果就是,按键触发 qte,然后弹出一个UI,UI只包含一个进度条,当进度条减到一定范围,按下特定的键位表示 qte成功。

设计

主要采用的蓝图结点为:set custom time dilation(如下图) 这是一个类似于设置停滞效果的结点。其次还会结合定时器以及UI的动画实现效果。
在这里插入图片描述
具体流程图:
在这里插入图片描述

实现

先来看UI蓝图
在这里插入图片描述
在这里插入图片描述

主要部分就是一个进度条,还有一个标识触发QTE按键操作的图标。
同时该UI有两个UI动画:
在这里插入图片描述
在这里插入图片描述
主要是变化进度条的颜色,变绿标识QTE成功,变红表示QTE失败。
同时该UI的事件蓝图如下:
在这里插入图片描述
123事件:进度条递减操作。在UI生成的时候立刻执行定时器循环执行该事件。
Tick函数主要用于判断是否可以执行QTE案件操作。当进度条过半的时候将蓝图中的Canpress布尔变量设置为真,表示可以按下按键触发QTE。
接着看角色蓝图的逻辑。主要看按键响应:
在这里插入图片描述
玩家按下Q键后触发QTE。先播放一个特定的动画。

在这里插入图片描述
设置CanQTE变量为真。该变量是为了保证在QTE过程中屏蔽其他的按键响应。然后创建QTE UI同时设置 custom time dilation为0.1,因此产生一个时空滞缓的效果。
在这里插入图片描述
接着设置一个定时器事件quite,并且将qteUI的canpress变量设置为假表示刚开始进行qte时没达到指定进度条的长度不接受其他按键响应。
具体的quite逻辑如下:
在这里插入图片描述
首先判断 qteQTE的进度条是否为0是则直接关闭定时器同时销毁UI。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果此时 QTE进度条不为0,则判断是否已经到可以按键的时候(即canpress为真,表示进度条过半,可以执行QTE操作)、如果可以,判断Sucess变量是否为真(该变量由具体的指定QTE按键操作。在本工程中按下F键表示执行QTE,即按下F该变量为真,表示QTE成功),则表示QTE成功,则播放成功的UI动画(进度条变绿),然后等播放结束后销毁QTEUI然后设置canQTE为假,然后将 custom time dilation设置为1取消掉滞缓效果,然后停止角色的动画。
在这里插入图片描述
在这里插入图片描述
如果canpress为假,则去判断success,如果为真,表示在QTE未到触发按键的时候按下了按键,则视为失败。此时清除定时器,然后播放失败的UI动画(进度条变红),然后
删除UI,设置canQTE为假,然后 custom time dilation设置为1取消掉滞缓效果,然后停止角色的动画。
在这里插入图片描述
本工程QTE的板顶按键为F键,按下设置suceess.
具体效果如下:
在这里插入图片描述

在这里插入图片描述

本文主要功能是演示一个简单的 QTE效果,主要实现滞缓,然后qteUI,按键判定。其余的操作可以忽略,是测试的时候其他的功能。变量,函数起名较随意望见谅以后会注意,对于该思路有其他想法的欢迎交流意见,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值