UE – Sequencer 平滑过渡

发布于 2022-04-15  376 次阅读


用户可以使用 Sequencer 中的多轨道编辑器来创建游戏过场动画。通过创建关卡序列、添加轨道和创建关键帧,你可以为对象、角色和摄像机添加动画。官方文档中是这样用以描述 Sequencer 的,这里不再赘述。

虚幻引擎Sequencer电影工具概述 | 虚幻引擎5.0文档 (unrealengine.com)

笔者在使用 Sequencer 开发的过程中,遇到了一个需要平滑过渡的问题,具体的情况就是要在播放 Sequence 之前与之后,自然的融合到玩家背后的相机。

我以为这应该是一个较为简单能实现的功能,然而开始检索以后,却发现整个网络平台中竟然很少有相关与镜头平滑过渡的问题。包括官方文档,竟然没有平滑过渡问题的相关内容。在检索无望之后,笔者尝试将角色背后相机移动至 Sequence 结束和开始的位置,自己实现相机的平滑过渡,然而,Cine Camera Actor 相较与普通的 Player Camera 多了 Current Focal Length 属性,也并不能很轻易的复现 Sequence 镜头中看到的场景。

接触 UE 没有多久,很多功能可能还不了解,因此还是寄希望与检索之中,最终,还是找到了相关的解决方案,这一问题系统已经实现,并且能够很轻易的使用,但是没有相关的文档教程,不知是功能未完善还是怎样,总之感觉挺奇怪的,因此记录于此。

by Chris Murphy

图中描述的已经足够清晰了,在 “Camera Cuts” 轨道右键勾选 “Can Blend”,然后拖动 “Camera Cuts” 轨道上方两侧的小三角,即可完成融合。

这里让我们新建一个物体测试一下。

先完成制作一个测试用的 Seuqnece,

测试 Sequence 内容

仅简单的设置了三个 Transform 的关键帧。

再新建一个测试物体,简单的添加一个触发器,蓝图内容如下:

测试物体蓝图

摆放到场景中,测试一下,效果如下:

未添加镜头融合

可以看出,Player 背后的相机切到 Sequence 的相机是一个瞬切的过程,这种效果略有瑕疵,但不知为何网络中针对这一内容的解决方法并没有多少。

让我们尝试一下  Chris Murphy 的解决方案:

首先,在 “Camera Cuts” 轨道右键,勾选 “Can Blend”。

勾选 Can Blend

将出现的两个小角标向中间拖动一段距离

拖动角标

最终效果如下

完成的 Sequence 截图

再来测试一下:.

添加镜头融合后

添加后,果然完成了这一效果。

这一问题解决方法挺简单的,但是搜索解决方案的过程却是及其艰难的,官方文档里并未提及,可能需要这一需求的开发者并不多吧(感觉还是个挺需要的功能),总归希望生态能够好些吧。

补:

在 sequence 播放的过程中,如果对角色的位置进行了修改,则会出现无法对 sequence 末尾镜头平滑过渡的问题。

例如简单的写一个电梯:

简易电梯蓝图

触发 sequence 后同时将角色抬升,此时相机融合的表现是这样的:

Sequence 播放中修改角色位置

显然末尾的表现并不太好。

在检索后,笔者发现了这一文章,对镜头融合这一方法提出了解决方案,总结的较为全面:

UE4:在游戏玩法和序列器过场动画之间平滑过渡 ·SteveStreeting.com

其中也给出了 Sequence 中移动角色的解决方案,

勾选 Lock Previous Camera

勾选了 “Lock Previous Camera” 这一选项后,Sequence 会在初始位置复制玩家相机的 Transform,并始终从这一相机开始过渡或过渡到这一相机,因此可以在 Sequence 播放图中对角色的位置进行改变,其会自动融合到角色开始或结束时相机的位置。

最终效果如下: