[官方培训]11-Sequencer - UE动画制作核心 戴浩军 Epic 笔记

Sequencer-UE动画制作核心

  1. 将Sequencer作为动画数据的组织中心
  2. 使用Sequencer最大化实时CG流程的价值
  3. 案例简析

将Sequencer作为动画数据的组织中心

Sequencer如何组织数据

  • 各类数据的组装工具

我们可以在Sequencer编辑器中通过添加各类轨道,在轨道上绑定对象就可以对这个对象的各类属性进行读取和编辑,也就是k帧,只要是Sequencer支持的数据都可以在轨道上进行k帧。

在这里插入图片描述
在这里插入图片描述

比如在蓝图中新建的变量只要勾上这个选项就可以在轨道上选择这个属性进行编辑。
在这里插入图片描述

而读取和编辑依据的模式就是数据和时间的对应,所以我们可以理解Sequencer本质上就是基于时间或帧数来采样或修改所有可以被支持数据的工具。

  • 实时非线性序列编辑器

实时意味着Sequencer中读取或者编辑的数据都是实时发生的,数据是实时的就可以动态改变,可以在Sequencer内部改变也可以在外部改变,比如通过gameplay,物理输入等方式来改变。

非线性就和很多非线性视频剪辑软件一样,可以在任意时刻跳转编辑。

  • 支持对封装后的数据进行实时采样和修改

比如在蓝图中各类组件的属性或是在蓝图里新建的向过场动画公开的变量。都可以在Sequencer中进行采样或编辑,所以在很多时候我们可以在蓝图里编写简单的脚本,将一些常用的零散的数据,通过一些较小的核心数据集中驱动,而不是将零散的数据放在Sequencer轨道上进行编辑,这样做不仅可以让Sequencer的轨道更简洁,可读性更强,同时也大大提升了这些数据修改时的效率。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

除了基于对象的轨道,还有下图所示不需要绑定对象的轨道,称之为主轨道,便于用来控制常见的特定的数据。

在这里插入图片描述

其中通过关卡可见性轨道,我们可以通过Sequencer来切换关卡的可见性,实现时间与空间的关联,这对于更好的发挥Sequencer数据组织中心的作用至关重要。

CG动画项目中Sequencer最常用的相关工具

  • Sequencer编辑器和Level Sequence资产
  • 主序列(Master Sequence)

主序列是一套模板工具,可以帮助我们按照自定义的规则快速生成一套Sequence框架包括目录和Level Sequence资产
在这里插入图片描述

  • 次数(Take)

次数又叫镜头试拍,是影视行业中经常提到的场次的次,是针对镜头轨道提供的试拍管理工具,帮助我们在创作时可以灵活切换同一个镜头的不同版本,创建的资产可以通过内容浏览器或者镜头试拍浏览器来进行浏览或管理。
在这里插入图片描述

  • 镜头(Shot)

镜头是一种专用主轨道,通常用于将多个包含相机切换轨道Sequencer资产作为多段镜头素材拼接在一起进行非线性剪辑。这是我们对整段影片进行统一调度和剪辑的主要工具。
在这里插入图片描述

  • 影片场景捕获(Capture Movie)

影片场景捕获是旧版的内容输出工具,负责将Sequencer中的数据驱动得到的画面捕获后存储为图像或视频文件。
在这里插入图片描述

  • 影片渲染队列(Movie Render Queue)

影片渲染队列是新版的内容输出工具,可以批量选择Sequence进行渲染输出,并且支持分层渲染。

  • 镜头试拍录制器(Take Recorder)

镜头试拍录制器是独立于Sequencer 之外的工具,主要用于场景中添加的源对象的属性录制为一段Sequence资产。比如可以用它来录制角色面部动画,刚体物理模拟等数据。
在这里插入图片描述

  • Sequencer脚本插件(Sequencer Scripting Plugin)

这是针对虚幻编辑器蓝图脚本和Python脚本提供的一套API,方便我们编写针对Sequencer的自动化工具,仅限编辑器模式下使用,在播放后或者输出时不生效。
在这里插入图片描述

CG动画项目中Sequencer相关环节

  • 导入和导出FBX数据(场景对象,相机,控制器动画)

这里的FBX数据主要指和Sequence相关的场景对象时间轴动画数据,相机动画数据的导入导出以及control rig控制器动画数据动画的导入等。

  • 帧率设置

帧率控制一般指的是在DCC中的角色动画帧率,UE中的Sequencer的播放帧率,场景的实时运行帧率,录制帧率,最终输出帧率都保持统一可控。

比如在Maya中我们把动画轨道的播放速率设置为目标帧率,导出为FBX格式,并导入引擎时。确保采样帧率和目标帧率一致。

在这里插入图片描述
在这里插入图片描述

同样的我们要在UE中把Sequencer的播放帧率设置为目标帧率。同时勾上运行时锁定显示率。可以确保播放后场景实时运行帧率不会超过Sequencer的播放帧率。当然如果运行帧率低于播放帧率,就需要考虑对场景进行优化。
在这里插入图片描述
在这里插入图片描述

通过镜头试拍录制器进行数据录制时,同样需要选择录制频率为目标帧率。确保录制后得到的Transform动画数据,骨骼动画数据等帧率和Sequencer保持一致。
在这里插入图片描述

在输出阶段以影片渲染队列工具为例,只要设置输出帧率为目标帧率即可。
在这里插入图片描述

这样就是实现了整个生产流程中动画帧率的统一可控。

  • 视频素材和实时数据混合剪辑

视频素材可以通过Sequencer的媒体轨道进行播放,而不是在场景中庸媒体播放器结合纹理来播放。因为通过媒体轨道可以确保视频的采样率和其它数据保持一致。而不会受到场景实时帧率的影响。
在这里插入图片描述
在这里插入图片描述

  • 封装数据

封装数据有两种方式,一种是通过Sequencer本身提供的工具,将一些常用的数据封装到某些关卡序列文件中,然后在镜头轨道或子序列轨道中复用,拼接,剪辑这些关卡序列。

第二种是通过蓝图进行封装,在Sequencer中编辑其中少量的核心数据,同时通过蓝图中的函数,事件等功能来驱动更多的数据。达到精简Sequencer提高修改效率的目的。

  • 在引擎内创作动画

在引擎内创作动画指的是通过control rig和动画模式在Sequencer的control rig轨道上通过控制器创作动画。或导入外部DCC软件制作好的控制器动画,完成后可以烘焙成基于角色骨骼的动画序列。同时也可以根据现有的角色动画序列反向烘焙为控制器动画轨道数据,方便进行二次编辑。

此外结合镜头试拍录制器,我们可以将一些外部数据例如动捕数据,真实相机运镜数据等录制到Sequencer轨道上,并支持反向烘焙到控制器上进行二次编辑。通过这种方式我们将角色动画数据,也都统一到了Sequencer框架内。帮助我们在创作角色,场景,音效等元素具有交互的镜头时,获得更高的效率,统一度和灵活度。

在这里插入图片描述

  • 预览和输出

预览可以直接在编辑器中播放并录屏达到快速输出的目的。正式输出再用MRQ。

Sequencer在UE5中的现有发展

  • 数据层(Data Layer)轨道

新增了数据层轨道,数据层是UE5世界分区功能中的一项特性,可以让我们将场景中的actor对象分批归纳到不同的层。看起来与以往的场景图层功能很相似,核心区别在于图层功能仅限于在编辑器状态下管理场景对象,在播放后并不会生效。并且层的管理逻辑是显示与隐藏,所有的actor对象实际已经加载到内存中了。

相反数据层的管理是基于加载和卸载,也就是我们可以控制播放后哪些actor对象需要被加载到内存,而哪些actor对象可以完全从内存中卸载。那么结合Sequencer的数据层轨道,我们就可以在时间轴上自由的控制任意时间点场景中某一批对象的状态。使用数据层功能需要先启用世界分区。再根据相机位置自动加载卸载场景对象的默认逻辑基础上,通过Sequencer数据层轨道管理场景对象给我们提供了一种更为精确,可控的补充手段。

在这里插入图片描述

  • Sequencer播放列表

Sequencer播放列表工具,可以让我们在编辑器状态下,同时播放多个Sequencer中的数据。并且可以手动控制每一条Sequence开始播放的时间。有了这个工具我们在Take Recorder录制实时数据的时候,就不用提前把多条Sequence通过例如sub Sequence的方式整合到一起在播放录制。而是可以根据实时状态自主决定什么时间点播放那一条Sequence,提高录制灵活度。
在这里插入图片描述
在这里插入图片描述

  • Sequencer导出到USD文件

在UE5中支持将Sequencer中的地形,场景模型,材质,橘色模型,角色动画,灯光,镜头等元素统一导出为一组USD文件。然后就可以在Maya等DCC软件中使用USD插件后串流加载USD场景。而无需像FBX导出复杂场景那样面对漫长的等待和不确定性。当然镜头轨道和子轨道序列上的剪辑数据是Sequencer专有的所以不能导出。

在这里插入图片描述
在这里插入图片描述

使用Sequencer最大化实时CG流程的价值

行业常见述求

  • 实时预览
  • 快速迭代
  • 环节并行
  • 内部协作和外部协作
  • 自动化

运用Sequencer搭建更灵活的工作流

  • 合理组织,管理Sequence和Level数据

  • 合理组织内容目录
    在这里插入图片描述

  • 多环节并行开发,统一在Sequencer中组装
    在这里插入图片描述

  • 统一连续的数据生产和传递(从Layout到输出)

  • 在引擎中创作动画

  • 通过Sequence嵌套和蓝图合理封装数据

  • 定制工具提高自动化程度

  • 定制工具提供实时性能管理功能

一些常见问题

  • 可控制(Possessable)和可生成(Spawnable)问题

在Sequencer中可以直接绑定场景中现有的对象实例称为可控制对象,也可以通过某些轨道实时生成一些对象,播放结束就会自动销毁,也就是可生成。并且这两种对象可以互相转化。

可控制对象适合在场景中始终存在的对象,可生成适合那些只在特定镜头少量镜头出现的对象。这样就会在镜头需要的时候加载到场景中,而不会浪费实时性能。

  • 布料,毛发等物理解算问题

在原型阶段可以通过实时物理模拟进行快速预览,在确定镜头和角色动画之后,再通过外部DCC软件进行高精度物理模拟,再作为几何缓存导入Sequencer进行播放,这样既提高了迭代效率有确保了最终品质。

  • 大量Geometry Cache数据导入的问题

大量几何缓存在导入引擎时很费时,同时也很浪费磁盘空间,引擎提供了串流几何缓存的功能,使用下面插件,在场景中添加下面Abc File Actor,选择外部的abc文件就可以以串流的方式播放几何缓存动画,而不需要导入庞大的数据。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我们还可以把Geometry Cache Abc File Actor绑定到Sequencer中,添加几何缓存轨道来控制动画的播放。
在这里插入图片描述

  • 影片场景捕获,MRQ和Level Sequence Actor的问题

Sequencer的本质是基于时间驱动各类数据的组织工具,除了在CG项目中最终用于视频输出以外,在实时交互体验例如游戏项目中Sequencer同样可以用于组织播放实时过场动画,而Level Sequence Actor就是用于运行时播放Sequencer的工具(可以理解为播放器)。

影片场景捕获实际上就是把当前通过Level Sequence Actor播放的数据驱动的实时画面原样录制下来,录制结果与实时运行画面完全一致。

MRQ是直接从Sequencer中顺序读取数据,并根据设置将图像渲染出来。得到的结果可能和实时效果并不一样。
在这里插入图片描述

  • 通过Sequencer管理关卡问题
  1. 我们可以通过关卡可见性轨道来控制特定时刻哪些关卡可见,但代价是要先在关卡管理器中将所有要用到的关卡先添加进去,一旦关卡数据较大就会相当浪费内存。
  2. 通过Sequencer的事件轨道结合蓝图的功能,串流加载关卡。根据需要手动加载或卸载关卡,缺点是不够自动化也不够直观。
  3. UE5特有的方式,通关世界分区功能将整个CG动画要用到的场景,都放到一个大的关卡中,通过世界分区自动管理场景分块的加载和卸载。
  • Sequencer多人协作问题

首先我们要根据岗位合理划分Sequencer的结构,关卡的结构和资产目录,不同人员负责不同的镜头,关卡和资产。并且互不干扰的进行更新工程。
在这里插入图片描述

其次,需要借助例如PERFORCE,SVN,git等版本管理协作软件,并通过合理的权限设置来提高团队的协作效率和数据安全性。

在这里插入图片描述
在这里插入图片描述

此外,如果采用了世界分区功能,借助一个actor一个文件的特性,多个人员可以同时编辑同一关卡里的不同对象。进一步提高关卡编辑的效率。

针对非场景分区关卡,我们还可以使用多用户编辑功能,将一台电脑作为主机,其它电脑通过网络连入主机,也可以实现多人同时编辑同一个关卡的目的。这种方式得到的完整数据都保存在主机电脑上。
在这里插入图片描述

  • 在Sequencer里创作Layout的思路问题

基于原型的创作思维,UE中搭建场景模型会先通过基础形体模型或者BSP或者临时资产来搭建场景轮廓明确空间结构,然后在正式资产制作完成后,通过重新导入等方式替换临时资产,然后在添加灯光后处理等视觉要素,以及道具物品等游戏性相关的对象。这整套制作场景的方法叫做基于原型的场景设计。

  • 在Sequencer中实时动捕的问题
    在这里插入图片描述

案例工程简析

《Slay》案例中Sequencer的应用

  • Sequence的数据组织
  • 通过蓝图封装数据
  • 复用镜头动画

《The Matrix Awakens》案例中的动画流程革新

  • 模糊交互体验和影视作品的边界
  • 通过大世界工具自动按需加载关卡
  • 多种数据在Sequencer中统一管理,统一输出

参考资料

Sequencer 编辑器|虚幻引擎文档

学习地址

地址

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UE4中,导出人物动画有几个常用的方法。 第一个方法是使用FBX文件导出。首先,在3D建模软件(如Maya、Blender)中创建一个包含人物动画的模型,然后将其导出为FBX格式的文件。接下来,在UE4中创建一个新的角色蓝图,并将导入的人物模型添加到这个蓝图中。在动画编辑器中,选择人物的动画片段,并右键点击选择导出为FBX文件。在导出设置中,选择所需的设置,然后点击导出按钮即可生成FBX动画文件。 第二个方法是使用UE4内置的Sequencer导出。Sequencer是UE4中的一个可视化剧情编辑器,可以用于创建和编辑人物动画。首先,在角色蓝图中创建所需的动画序列,并在Sequencer中将动画序列添加到剧情中。然后,在Sequencer中选择要导出的动画序列,并通过右键菜单选择导出为FBX文件。在导出设置中,选择所需的设置,然后点击导出按钮即可导出动画。 第三个方法是使用UE4的Persona编辑器导出。Persona是UE4中的动画编辑器,可以用于创建和编辑人物动画。在角色蓝图中选择需要导出的动画片段,并打开Persona编辑器。在Persona编辑器中,选择要导出的骨骼动画,并通过右键菜单选择导出动画。在导出设置中,选择所需的设置,如动画格式、帧率等,然后点击导出按钮即可生成动画文件。 以上是几种常用的方法,用于在UE4中导出人物动画。根据不同的需求和工作流程,可以选择适合的方法来导出动画。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值