UE4学习笔记:学习UE4中的UMG(图形UI设计器)工具(四):UMG中的动画

学习完了各自控件及操作后来了解控件蓝图中的动画功能

一.简单的UI动画
我们先来接触控件蓝图左下角的动画面板,首先在视觉界面中添加一个Image控件,并设置图片

在这里插入图片描述
在动画面板中单击+Animation,添加一个动画轨
在这里插入图片描述
在Timeline时间轴中单机+Track,并在列表中选择之前的创建的Image控件在这里插入图片描述
现在就可以为Image控件添加关键帧了,我们想要实现一个简单的动画,让Image控件可以左右移动
,让Image0-1s右移,1-2s左移。
在时间轴右侧面板中,我们可以设置整个动画的时长,绿色帧表示起始帧,红色帧表示终止帧,滑块用来添加关键帧。我们先确立好动画的时长
在这里插入图片描述
然后移动滑块,在滑块所处位置即可添加关键帧,添加方法是找到详情中想要添加关键帧属性右侧的添加关键帧图标,单击即会在滑块处添加一个以这个属性值设定的关键帧,这里需要的是左右移动,所以找到控件详情中的位置x,因为起始帧与终止帧坐标重合,所以以相同的位置x在起始帧与终止帧添加两个关键帧,添加之后发现帧线出出现圆圈代表添加的关键帧
在这里插入图片描述
在这里插入图片描述
这里我们可以用同样的方法在1s处添加一个移动终止位置X的关键帧,即可完成这个时间轴制作。但是,我们还应该了解另一种添加关键帧的方法,自动添加关键帧。单击Timeline菜单的自动添加关键模式图标
在这里插入图片描述
单击之后我们进入自动关键帧模式,可以看到视觉界面右上角出现录像中提示

在这里插入图片描述
我们在自动关键帧模式中一旦对属性值进行修改,会自动在当下滑块处添加一个应用修改过属性值后的关键帧,我们先将滑块移到1s,然后去修改位置x的值,可以看到自动在1s处添加了一个关键帧
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样就完成了动画的制作,但是还需要在事件图表中将其播放才能显示,进入事件图表,我们需要利用Play Animation结点来进行动画播放,在结点中我们可以修改播放模式,循环次数等,我们创建的动画也会作为一个变量,这样连线即可
在这里插入图片描述
将蓝图添加到屏幕上即可看到会左右来回移动的Image控件了
二.利用结点制作自定义动画
除了可以利用动画面板制作动画,我们也可以在事件图表中利用结点制作动画
这次我希望实现将很多按钮按A键向左移动,按D键向右移动的效果
首先我们先创建一个控件蓝图,添加一个VeritcalBox控件,并在其中添加若干带Text子控件的Button控件
在这里插入图片描述
然后为其添加一个函数,这个函数的作用是为了修改其位置X坐标,函数命名为SetX,并添加一个Input输入参数,并这样连线
在这里插入图片描述
函数通过Set Position结点根据NewX输入修改了控件所在画板的X坐标

编译保存后我们进入用于添加此控件蓝图的蓝图,比如关卡蓝图,首选依旧是添加刚才创建的蓝图到屏幕

在这里插入图片描述
然后核心在于添加Timeline结点与Ease缓动结点
先添加Timeline结点,进入其时间轴,添加一个浮点型轨迹
在这里插入图片描述
在时间轴面板右键添加两个关键帧,并将数值(time,value)分布修改为(0,0)与(3,1),将时间轴总长length改为3
在这里插入图片描述

返回事件图表,我们可以看到Timeline结点上的引脚
在这里插入图片描述
输入执行引脚对应采用何种播放模式,而右侧输出执行引脚中,执行动画动作的在Update引脚,我们的思路就是通过Update引脚连接调用之前的SetX函数,用其不断改变控件坐标,实现动画,
而缓动结点提供了一些预设函数用于帮助实现动画效果
在这里插入图片描述
我们这里选择Linear的话,缓动含义为Result=(B-A)*Alpha+A,我们用它的返回值传递给SetX输入参数即可线性控制控件的位置x,通过这两个结点配合SetX我们即可实现动画

除此之外我们还需要有一些额外的操作,我这里新建了一个变量用以initX获取当下控件的位置,同时将Timeline返回的Alpha乘上了500,整体流程比较繁琐,不再赘述,但理清整个流程就不难理解,现在看完整的连线

在这里插入图片描述
这样即可实现在界面中按D控件整体持续右移,按A控件整体持续左移

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值