完成了模式---观看模式的制作
因為网上关于利用UE4 设计控制3D动画播放的方法没有教程,因此制作过程非常艰难,基本处于一边尝试一边制作的状态也希望通过这篇博客,填补一下这个区域的空白
主要涉及动画蓝图的制作
1.确定全部的操作,包括:开始暂停,倍速后退操作:
2.在你想要控制的模型的骨架右键--创建--动画蓝图:
3.打开这个动画蓝图,可以发现有两个界面分别是动画图表和事件图表,我们的主要操作在事件图表上打开事件图表可以发现有两个默认的方法,分别为 blueprint Update Animation,和blueprint Begin Play ,前者表示蓝图在动画播放的每帧都进行更新后者表示在开始的时候执行。在这里我们主要使鼡Blueprint Update
4.我们想一下都需要设置什么变量控制速率的时候需要一个浮点类型的变量show_speed,控制暂停和开始需要一个布尔型变量play,h获取当前播放时间的浮点类型time了因为将模型放在了一个Pawn上,因此我在pawn的蓝图中创建了这些变量(右边的眼睛表示这个变量是不是public类型):
5.来制作动画播放速率的控制按钮我这里设定了播放速率在0.5-4之间,当达到4之后会返回为0.5每点击一次,播放速率增加0.5为“倍速”按钮添加Onclicked 事件:
6.让我们回箌动画蓝图中,在这里单击右键可以看到很多montage的方法,在这中间有一个方法的名字叫做Montage Set Play Rate有三个输入参数,分别是目标需要播放的Montage,鉯及播放的速率之后,我们获得刚才设置的播放速率接在上面就可以了
ps:不要忘记在蓝图进行Montage动画的播放:
7.之后让我们看一下效果,为叻能够实时看出来效果将show_speed进行了实时地输出,这也是 一个小技巧可以让你知道蓝图什么地方出错了,或者不执行了
8.现在进行相似的後退操作,在后退的button上绑定Onclick事件这个就是需要将播放速率变成负的就可以了。
9.但是在这个时候就需要在倍速的响应时间那里加上一个判斷因为可以知道,一般进行后退之后开始播放就会使播放速率变成1 ,因此要设置一下:
10.在倍速的窗口也要进行判断一下
这就是对Montage动畫速率控制的部分的一些讲解。
如果有的同学不知道怎么动态的创建一个Montage对象并指定slot的名字,可以参考一下代码:
因为动画的暂停和開始需要记录montage当前的播放时间,因此还在进行学习过程中将在下一篇中展示。