序列、镜头和镜头试拍

使用序列、镜头和镜头试拍,在非线性编辑器中编辑过场动画。

虚幻引擎 中创建过场动画内容时,可以使用多个 子序列(Sub-Sequences),制作更为复杂的 序列(Sequences)。 通过将序列作为子序列添加到更大的关卡序列中,可以将更大的过场动画内容组织成为更具表现力的分段,让团队成员能够分别进行处理。 类似于其他非线性编辑器,你可以在一个序列或子序列中创建 镜头(Shots),也可以在过场动画中创建单独的镜头切换。

可以向镜头中添加内容和游戏对象,如摄像机、角色和其他Actor。 镜头可以修剪并移动到序列中的任意位置,实现完整的非线性编辑体验。 还可以使用"镜头试拍(Take)"系统,将各个镜头彼此区分开,以便在不修改原始镜头的情况下,试验不同的镜头和内容。

可以参考以下文档,详细了解如何使用序列、镜头和镜头试拍,在虚幻引擎中制作过场动画内容。

先决条件

关卡序列

关卡序列Actor(Level Sequence Actor) 是用于在虚幻引擎中为游戏和传统动画创建过场动画内容的基础资产。 关卡序列可包含摄像机、角色和其他游戏对象,你可以对它们进行动画处理,然后在游戏中播放或进行渲染。 可以将子序列和镜头添加到关卡序列中,以获得更加逼真复杂的过场动画。

要创建新的关卡序列,请在 内容浏览器(Content Browser) 中依次单击(+添加(Add) > 过场动画(Cinematics) > 关卡序列(Level Sequence)

create new level sequence using add cinematics level sequence

也可以通过在菜单栏中找到 过场动画(Cinematics) 按钮,选择 添加带有镜头的关卡序列(Add Level Sequence with Shots),创建一个预配置了镜头的新序列资产。

create new level sequence with shots using cinematics toolbar button

在新的 带有镜头的关卡序列设置(Level Sequence with Shots Settings) 窗口中,可以设置资产 名称(Name)、保存位置以及要添加的 镜头数(Number of Shots)

new level sequence with shots settings menu

"带有镜头的关卡序列设置(Level Sequence with Shots Settings)"属性列表及相关功能描述如下:

属性

描述

名称(Name)

为正在创建的关卡序列资产及其包含的文件夹指定一个名称。

后缀(Suffix)

设置一个将要应用到关卡序列名称的后缀名,以便将主序列资产或根序列资产与子序列镜头资产区分开来。

基本路径(Base Path)

设置用于保存关卡序列资产及其包含的镜头资产的基本文件目录。 关卡序列将存储在与此相对应的文件夹中。 序列的镜头随后将存储在相对于关卡序列文件夹且以镜头命名的嵌套文件夹中。

镜头数量(Number of Shots)

设置要作为镜头创建并添加到关卡序列中的子序列资产的数量。 每个镜头都将自动添加到关卡序列中,根据你设定的镜头设置进行命名、加长和递增。

要复制的序列(Sequence to Duplicate)

如果已经有了一个包含过场动画内容的关卡序列,而你想要进行复制,则可以使用资产下拉菜单,在这里指定。 指定现有关卡序列后,其内容将被复制,复制份数为你指定的镜头数量。 如果未指定任何序列,那么将创建所有的镜头,并预先配置一个摄像机和一个镜头切换轨道。 如果你想在镜头中自动填充Actor和摄像机,这会很有用。

子序列名称(Sub-Sequence Names)

可以通过这个属性添加和命名将要在每个镜头内创建的子序列。 要为每个关卡序列的镜头添加一个子序列,请选择(+添加(Add),然后使用数组实例设置一个 名称(Name)

实例子序列(Instance Sub Sequences)

启用后,将仅为第一个镜头生成子序列资产。 其他所有镜头都将引用该子序列,而不是为每个镜头都创建一个独特的子序列。

默认开始时间(Default Start Time)

为新关卡序列设置默认的开始时间,以秒为单位。

默认时长(Default Duration)

为新关卡序列设置默认的时长,以秒为单位。

镜头目录(Shot Directory)

可以通过此属性设置文件夹名称,该文件夹中将包含你的关卡序列的镜头资产。 这个文件夹将在关卡序列的父文件夹中创建,紧邻关卡序列资产。

镜头前缀(Shot Prefix)

设置一个将要应用到生成的每个镜头资产的前缀名,以便将你的关卡序列的镜头与其他序列资产区分开来。

第一个镜头编号(First Shot Number)

设置添加到第一个生成的镜头名称末尾的数值。这个值将被添加到镜头资源名称的末尾,例如{ShotName}{0000}

镜头增量(Shot Increment)

设置一个数值,每个生成资源的 第一个镜头编号(First Shot Number) 属性值都将加上这个值。

镜头数字位数(Shot Num Digits)

设置添加到生成的镜头资产名称末尾的总数字位数。

第一个镜头试拍编号(First Take Number)

设置添加到新镜头试拍资产名称末尾的总数字位数。

镜头试拍分隔符(Take Separator)

设置用于分隔新镜头试拍资产名称和编号的字符。

子序列分隔符(Sub Sequence Separator)

设置用于分隔子序列资产名称和编号的字符。

FBX设置(FBX Settings)

[Include:#fbx设置]

用镜头的设置设定完新的关卡序列后,将采用包含子序列镜头资产的文件夹结构,把资产保存在指定的位置。

new level sequence file structure location

可以在这些文件夹中保存替代版本的镜头(叫作"镜头试拍(Take)"),以组织你的序列。

用户界面

查看带有镜头的关卡序列时,有两个主区域用于导航和交互。

sequencer user interface

  1. 操作记录(Breadcrumbs)

  2. 镜头分段(Shot Sections)

操作记录

编辑带有镜头的关卡序列时,工具栏的操作记录区域会展开,可用于在你的主序列及其镜头之间导航。

单击文件夹下拉菜单将显示一个树状图列表,其中包含关卡序列以及内含的镜头。 选择其中的一个项目将打开该序列。

sequencer breadcrumb menu

查看镜头或子序列时,序列的名称区域也将显示其所属的主关卡序列。 选择主关卡序列即可返回。 在子序列或镜头中,你还可以观察"查看上下文(Viewing Context)",或影响你正在查看的子序列或镜头内容的主关卡序列内容。

sequencer breadcrumb trail menu

可以使用 向前(Forward)向后(Backward) 按钮,逐步浏览你的序列查看历史记录。

sequencer breadcrumb navigation demo

镜头分段

镜头(Shots) 在Sequencer的时间轴中显示为 分段(Sections)。 每个镜头分段的运作方式类似于大多数分段,可以移动、修剪或编辑。 双击可打开镜头。

sequencer selection manipulation editing shots demo

使用多个镜头轨道时,将优先考虑放在顶端轨道中的镜头分段。 这意味着,如果其分段与下面的其他分段重叠,最顶端轨道(而不是底部轨道)上的分段范围将求值。

sequencer overlapping shots

也可以通过单击并拖动时间轴上的镜头,使其在同一轨道上相互重叠,让镜头混合在一起。

sequencer blending shots

可以通过单击并拖动镜头缩略图上显示的手柄来调整镜头之间的混合。

sequencer blended shot handles

也可以使用关卡序列蓝图中的 设置权重(Set Weight) 节点来控制混合。

sequencer blended weight shots set weight property

镜头

镜头是关卡序列中的单个序列,可用于在虚幻引擎中创建更复杂的过场动画。 每个镜头都对应于自己的序列资产。 设置过场动画内容时,建议在镜头中添加Actor、摄像机和其他过场动画组件,然后可以在主关卡序列中作为整个序列进行编辑。

sequencer shot organization file structure

创建

通过在序列编辑器中依次单击 轨道(Tracks)+)按钮 > 镜头轨道(Shots Track),可以向现有关卡序列添加镜头。 然后可以在镜头轨道内选择(+镜头(Shot) > 插入镜头(Insert Shot),创建一个新的关卡序列资产,该资产将作为子序列镜头添加至你的主关卡序列。

sequencer insert shot using add in the shots track

选择 插入镜头(Insert Shot) 时,界面上将显示资产创建对话框窗口,要求你将镜头序列资产保存到项目中的某个位置。 默认情况下,该目录将相对于主关卡序列,放到一个镜头子目录中,前提是编辑器项目设置(Editor Project Settings)中定义了子目录。

save asset as settings menu data correlation to level sequences project settings

或者,也可以将现有关卡序列资产作为镜头添加,具体方法是使用(+镜头(Shot),然后选择你希望作为子序列镜头添加的序列资产。

add existing level sequence asset as a shot by selecting add shot in the shot track and selecting asset in drop down

也可以通过将关卡序列资产从内容浏览器(Content Browser)拖动到主关卡序列时间轴的镜头轨道中来添加镜头。

drag and drop an existing level sequence into the shot track

填充内容镜头

选择 插入填充内容(Insert Filler) 时,将创建镜头分段,而不绑定到序列资产。 创建代理镜头或定时后,典型的填充内容稍后会为其指定一个序列。

create a new filler shot using add shot in the shot track and selecting insert filler

右键单击"分段(Section)"并依次单击 属性(Properties) > 子序列(Sub Seqence),然后从下拉菜单中选择资产,即可将序列资产指定给一个空的填充内容分段,或将序列资产重新指定给镜头。

set sub sequence asset by right clicking and selecting properties sub sequence

细节和交互

可以在时间轴上右键单击一个镜头,然后在上下文菜单中导航到 属性(Properties) 以查看其细节。

right click a shot in the shot track and navigate to properties to set and observe the shots properties

镜头的属性列表及相关功能描述如下:

名称

描述

开始帧偏移(Start Frame Offset)

[Include:#开始帧偏移]

可以循环(Can Loop)

如果启用,选定的镜头将在其分段长度超出其默认可播放区域时循环。

结束帧偏移(End Frame Offset)

如果启用了 可以循环(Can Loop) 属性,该属性可用于偏移循环区域结束时间。

第一个循环开始帧(First Loop Start Frame)

如果启用了 可以循环(Can Loop),该属性可用于偏移第一个循环开始时间。

时标(Time Scale)

控制镜头的播放速率。 值`1`是正常速度,数字越大就越快,数字越小就越慢。

层级偏差(Hierarchical Bias)

控制镜头的层级偏差(Hierarchical Bias)。 如果数字更大,此镜头就会在引用相同Actor时优先于其他源。

子序列(Sub Sequence)

选定镜头播放的指定序列资产。

右键单击镜头并前往上下文菜单底部,将显示特定于镜头的操作。

shot specific right click menu items and actions

镜头操作列表以及可用于编辑关卡序列中镜头的相关功能描述如下:

名称

描述

缩略图(Thumbnails)

打开缩略图(Thumbnails)菜单,用于控制镜头分段上的图像预览。

镜头试拍(Takes)

打开镜头试拍(Takes)列表,用于切换镜头的当前镜头试拍。

新建镜头试拍(New Take)

基于此当前镜头创建新的镜头试拍。

插入镜头(Insert Shot)

在播放头的位置创建新的镜头。

复制镜头(Duplicate Shot)

通过复制当前选中的镜头数据,创建一个新的序列资产。

渲染镜头(Render Shot)

打开渲染电影设置对话框窗口。 如果启用了电影渲染队列,则将打开 影片渲染队列(Movie Render Queue) 窗口,并指定选定的镜头以 进行渲染

重命名镜头(Rename Shot)

重命名该镜头。

镜头颜色

可以对根关卡序列中的镜头进行颜色编码,以组织复杂的过场动画。

shot color coding in a root level sequence

要对镜头进行颜色编码,请右键单击该镜头并在上下文菜单中依次单击 属性(Properties) > 色调(Color Tint),然后使用 色轮RGBA 颜色值或 滴管 工具来设置所需的颜色。

color coding demo

缩略图

缩略图是显示在Sequencer时间轴中镜头分段上的图像,用于提供镜头的预览图像。 在放大时间轴时,缩略图会更新,以便显示镜头特定区域的准确预览。

thumbnail images on shots in the sequencer timeline

可以通过右键单击时间轴中的任一镜头并导航到 缩略图(Thumbnails) 菜单,对镜头的缩略图显示进行自定义。

thumbnail settings in the right click menu under thumbnails

缩略图属性列表及相关功能描述如下:

名称

描述

刷新(Refresh)

重新生成此镜头的缩略图。 如果缩略图图像已过期或显示不正确,此选项将非常有用。

将缩略图时间设置为…(Set Thumbnail Time to…)

如果启用了 绘制单个缩略图(Draw Single Thumbnail) 属性,就可以设置一个时间值来显示当前镜头的特定帧,将其用作单个缩略图图像。

全部刷新(Refresh All)

重新生成所有镜头的缩略图。 如果缩略图图像已过期或显示不正确,此选项将非常有用。

绘制缩略图(Draw Thumbnails)

控制所有镜头的缩略图显示。 如果禁用,则不会显示缩略图,轨道也将变小。

绘制单个缩略图(Draw Single Thumbnail)

启用此属性后,将仅显示一个缩略图,它会锚定到镜头的开始区域。 这模仿了Adobe Premiere等其他编辑器中的缩略图显示。

缩略图大小(Thumbnail Size)

控制缩略图的宽度和高度。 调整缩略图高度将增大或减小镜头轨道大小。

质量(Quality)

缩略图图像的渲染质量。

序列上下文

在关卡序列中打开镜头时,它将显示在根关卡序列的上下文中。 其中将包含该序列和其他相邻镜头中的元素,以便提供完整的场景上下文。

从关卡序列上下文中查看镜头时,将针对基础镜头序列以及实际修剪的镜头显示开始和结束时间。 在本示例中,你可以看到 开始(Start)结束(End) 时间在根关卡序列中被修剪,以及该信息在镜头视图中的显示方式。

contextual markers to indicate the shot relative to the root level sequence

  1. 经过修剪的区域。 这是将从根关卡序列播放的区域。

  2. 完整序列可播放区域。 此区域会被编辑掉,并且不会播放。

反过来,你还可以修剪镜头中的 开始(Start)结束(End) 时间,并从根关卡序列观察镜头上经过修剪的区域。

contextual shot trim lines to indicate shot context in root level sequence

如果通过播放菜单(Playback Menu)禁用了 擦除时将光标保持在播放范围内(Keep Cursor in Playback Range While Scrubbing),就可以在修剪的区域边界外擦除,从而进一步利用根关卡序列上下文,并查看之前或后续的镜头。 将当前镜头与相邻镜头的编辑内容对齐时,这会很有用。

keep cursor in playback range while scrubbing property

可以通过Sequencer的播放菜单(Playback Menu)启用 对子序列单独求值(Evaluate Sub Sequences In Isolation),来禁用此上下文视图。 如果你想将特定镜头序列从其根关卡序列中隔离出来,此选项很有用,因为不在此序列中的轨道将不再与你当前正在查看的序列一起进行求值。

evaluate sub sequences in isolation property

层级偏差

鉴于根关卡序列、镜头和子序列系统的性质,可能在一些情况下,镜头和根关卡序列引用了同一个Actor,从而导致冲突。 层级偏差(Hierarchical Bias) 可用于裁定该Actor的哪个引用应优先于其他源进行求值。 右键单击 镜头(Shots)子序列(Subsequences),导航到 属性(Properties) 菜单,然后查找 层级偏差(Hierarchical Bias),即可找到此属性。

set hierarchy bias value in shots properties menu

增大某个源上的偏差数字将导致该源"胜出",减小该数字将导致该源"输掉",各个源的偏差值相等将导致所有源一起求值并混合(如果可能)。

顶级(根)序列上的层级偏差的默认值是 0,而对于子序列,则为 100。 这将导致镜头源优先于根关卡序列源。 偏差还会针对添加的每个子序列层复合,因此,如果某个镜头序列包含子项子序列,其总偏差将为 200 (100 + 100),导致默认情况下级别最深的影响"胜出"。

此效果如下图所示,其中:

  1. 根序列,默认偏差为0,累积偏差为 0

  2. 第一个子序列,默认偏差为100,累积偏差为 100

  3. 第二个子序列,默认偏差为100,累积偏差为 200

偏差示例

以下示例演示了如何利用序列中的层级偏差值。

光源Actor(Light Actor) 放置在关卡中,并由三个不同的序列引用:

  • 根关卡序列(Root Level Sequence) 将引用此光源,其颜色在关键帧中设置为 红色

root level sequence bias 0 red light

  • 根关卡序列中有一个 镜头(Shot),其颜色在关键帧中设置为 绿色

shot sequence bias 100 green light

sub sequence bias 100 cumulative bias 200 blue light

默认情况下,子序列(Sub Sequnce)蓝色 光源优先,因为其累积偏差最大。 下面列出了每个序列的偏差值,以供参考:

  • 根关卡序列 = 0

  • 第一个子序列 = 100

  • 第二个子序列 = 200 (100 + 100)

root level sequence is keyed red but displays blue due to bias

如果右键单击子序列分段并将其层级偏差降低为 -50,这将导致 镜头(Shot)绿色 光源优先。 这是因为,子序列的累积偏差现在小于其父项,导致绿色光源的偏差最大。

此时,每个序列的偏差值将为:

  • 根序列 = 0

  • 第一个子序列 = 100

  • 第二个子序列 = 50 (100 - 50)

negative bias reduces an assets influence

将所有偏差值设置为 0 会导致所有序列一起求值,并且结果将混合。 在本示例中,红色、绿色和蓝色光源颜色值将组合在一起,变为 白色

此时,每个序列的偏差值将为:

  • 根序列 = 0

  • 第一个子序列 = 0

  • 第二个子序列 = 0 (0 + 0)

setting all bias to zero will blend shots evenly

镜头试拍

创建过场动画内容时,有时你可能想在不修改原始镜头的情况下试验镜头。 镜头试拍(Takes) 可用于创建镜头的单独副本,你可以编辑这些副本,而不改动原始镜头。

要创建镜头试拍,请右键单击镜头,然后选择 新建镜头试拍(New Take)。 界面上将显示新的资产窗口,目录指向与原始镜头相同的文件夹。 单击 保存(Save) 以保存新的镜头试拍。

new take

默认情况下,新的镜头试拍将采用镜头的名称加上数字后缀来命名。 你可以在 编辑器项目设置页面(Editor Project Settings Page) 中自定义此后缀。

创建新的镜头试拍时,镜头将切换为使用它,而不是使用原始镜头。 可以右键单击并前往 镜头试拍(Takes) 菜单,在原始镜头试拍(镜头试拍1(Take 1)) 与其他镜头试拍之间切换。 活动镜头试拍由条目旁边的 星形图标 表示。

select a take by navigating to takes menu

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消