Slay

通过借鉴Slay中的过场动画技巧,学会在虚幻引擎中实现你自己的虚拟制片工作流。

Choose your operating system:

Windows

macOS

Linux

虚幻引擎为用户提供了多种过场动画工具、渲染功能和工作流,以此支持用户的虚拟制片流程。Slay是一款由 Mold3D Studio 打造的演示短片,用于演示虚幻引擎为虚拟制片提供的各类技术、渲染功能和工作流。

本文介绍了Slay的查阅方式,以及Slay在制作中用到的各种工作流程和制片技巧。

先决条件

  • Slay中的场景包含大量的图形内容。它要求你的配置至少为 Intel Core i9 Series 处理器和 GeForce RTX 2080 Ti 或类似配置。

  • 首次打开项目或关卡时,加载时间可能很长,因为许多资产皆是首次加载和编译。

设置

用Slay示例设置项目的步骤如下:

  1. 打开 Epic Games启动程序 ,点击 虚幻引擎 部分,然后打开 学习 选项卡。

    ImageAltText

  2. 向下滚动到 Slay 示例,然后点击示例下的 免费 按钮,将示例添加到你的库中。

    ImageAltText

  3. 点击 创建项目 ,然后按照屏幕上的说明下载Slay示例内容并启动新项目。

    ImageAltText

  4. 虚幻编辑器 中打开新项目。

现在你应该在能视口中看到 temple_P 关卡。

slay temple level

查看Slay中的序列

要查看Slay中的序列,请点击主工具栏中的 过场动画 按钮并选择 TF_Edit

open slay cinematic

这将打开Slay过场动画的 主序列 。在这个视图中可以看到组成整个序列的多个镜头。

slay master sequence

选择镜头轨道上的 摄像机 按钮,查看每个镜头的 摄像机 ,并点击 播放 按钮来播放序列。

play slay sequence

Quixel Megascan资产

神庙关卡同时采用了大量特有资产和 Quixel Megascan 资产。这些资产被用作Slay中的背景细节、道具和植被。在项目中使用Quixel Megascan资产有助于你在创建大型场景时节约大量时间和资源。

slay quixel megascan

打开 Quixel Megascan 网站,你可以找到一些Slay示例中使用的Quixel Megascan资产。一些比较有趣的资产包括:

基于镜头的工作流

Slay中的序列用到了 Sequencer 以及 基于镜头的 流程。这样做是为了让每个镜头只包含最低限度所需的内容,而不必把所有镜头安排在单个超大序列中。Sequener允许你在一个全局视角下快速修改多个镜头,镜头可以被 编辑、删剪、重新组织 ,就像其他非线性编辑软件那样。

在主序列 TF_Edit 中,你可以看到 镜头轨道 以及其中的镜头。另外,还有 音频轨道 ,用于播放音频——这些音频已经根据序列调整过。还有一条 淡入淡出轨道 ,控制淡入淡出效果。

slay master sequence

双击镜头可以打开并查看其内容。

关卡可视性

Slay的第一个镜头是神庙的外景。由于角度比较特殊,我们需要专门创建一个自定义的 地形 和资产,以便专门在 Shot TF0010_02 镜头中的某个关卡中显示。关卡的可视性由 关卡可视性轨道 控制,该轨道可以在 TF0010_02 (镜头1)中看到。

关卡可视性轨道添加到镜头中后,它只会在镜头的持续时长内进行相关计算。在这个例子中,在进入神庙内部时,包含低分辨率地形的关卡将被隐藏,而包含高分辨率地形和其他资产的关卡将被显示。

slay level visibility terrain

你可以导航到 关卡 面板,手动预览高分辨率的地形关卡,方法是启用 Terrain_TF0010 ,禁用 Terrain

使用可生成物

动态生成对象(Spawnables) 是指动态生成的Actor,通常只存在于单一序列中。在Slay中,许多镜头中都用到了动态生成对象,以此解决各个镜头特有的需求。由于每个镜头都相当于单独的序列,可生成物会只存在于单个镜头中,这使得管理这些Actor更容易。

Shot TF0020_01 (Shot 2)中有一个可生成物Actor。在这个镜头中,原来的静态网格体门已隐藏,并被一个可生成的 骨骼网格体 门所替换。这扇门包含动画,可以匹配角色的开门动作。当镜头播放完成后,这扇门会自动消失。

slay spawnable door actor

美术师协作

在Slay示例中,每个镜头自身都相当于一个序列,因此其自身就是一个资产。镜头还包含 Subscene轨道 ,同样是它们自身的序列资产。由于这种资产的划分,让多个美术师同时处理一个序列或镜头会简单许多,而不会出现文件冲突。Subscene还可以复制,从而在多个实例之间重复使用和共享相同的内容。

在几个镜头中,你可以看到用于 灯光 视效 的自场景轨道,这使得这两方面的美术师能够在这些序列中工作,而非在主镜头序列中工作。通过这种方式,子场景不仅有助于限制文件冲突,而且有助于Sequencer组织。

slay multi user subscene

你可以双击"子场景"部分将其打开并查看其内容。

subscene contents

从父序列中打开一个镜头或子场景时,它将显示在主序列的上下文中。这意味着即使你只看到一个子场景,来自主序列和当前镜头的所有轨道也仍然可见。你可以编辑灯光、添加视觉效果,并用场景的完整视觉上下文执行其他操作。

subscene editing

可以通过开关Sequencer 播放菜单 中的 对隔离中的子序列进行求值 来启用或禁用此上下文视图。

摄像机动画

Slay的摄像机动画完全是在Sequencer中 创建 的。在某些情况下,additive摄像机动画也被用于增强摄像机运动。这是使用 摄像机动画序列 完成的,这是一种 模板序列

additive camera animation

双击这些 模板动画 将打开相应的模板序列,在那里你可以看到使用中的动画。

camera animation sequence

灯光和材质

灯光、材质和特效在Slay中扮演着重要作用。只要善用主序列(Master Sequence)和镜头(Shot)系统,美术师就能更高效地打光,并应用每个镜头的材质调整。

灯光工作流

正如 上文 所述,子场景(Subscene)中可以包含光源和其他工作流。常见的打光流程是将必要的 光源Actor 作为 可生成物 添加到序列中。这样做是为了让光源仅在镜头播放时保持可见,并且不需要手动打开或关闭。

spawnable light

你可以借助其他打光技术来处理你的镜头效果,如使用 遮光物(Light Blockers) 让场景的部分区域接收不到来自主关卡的灯光。然后,你可以使用可生成光源来更直接地控制镜头的灯光效果。

例如在 Shot TF0020_01 (Shot 2)中,如果禁用 摄像机 按钮以停止它的移动,然后在视口中移动到神庙入口区域,你应该会看到一个巨大的 遮光物 。它可以为镜头创建一个更可控的灯光环境。

light blocker

有了遮光物后,可以继续生成其他光源,更好地增强此镜头中的灯光效果,比如聚光灯穿过附近的点阵,在门上投下柔和的阴影。

slay lighting

在某些情况下,可能需要隐藏某些网格体,让光线穿过并照射到Actor上。在 Shot TF0080_01 中,为了让阳光照射在角色Oni身上,神庙的部分结构被隐藏了起来。

hide level for lights

Slay还使用了 光照通道 来控制光照对环境和角色的影响。在这个示例中,可生成光源只会影响 通道2 。所有角色都启用了这个通道,因此他们会被这些光源照亮。环境不受影响,因为场景网格体只启用了 通道0

lighting channels

材质工作流

如果某个 材质 通过 参数 来设置,你可以在Sequencer中引用这些参数来进行重载,以便调整材质参数。在Slay中,这样做是为了根据每个镜头的需求微调材质。与之前的打光流程以及基于镜头的工作流相似,这些编辑可以只针对单个镜头,不必持续到下个镜头。

TF00110_01 Lighting Subsequence 这个镜头中,你可以看到Oni铠甲材质上的 粗糙度(Roughness) 和其他参数通过 材质元素轨道(Material Element Tracks) 被调整过了。材质元素的编号对应于网格体上的材质元素的ID。

material parameter track

点击 添加参数(+) 将显示该元素可用材质参数的列表。选择一个参数,为其添加为轨道。

add material

渲染设置

Slay示例被创建为渲染为 最终像素 ,展示了可以用虚幻引擎来渲染的高质量图像。因此正在对几个重要参数进行设置,以提高在视口中及使用 影片渲染队列概述 进行渲染时场景的保真度。

后期处理体积

后期处理 可用于在场景中控制 光线追踪 相关的效果,例如 全局光照、反射 阴影 。场景中还用到了 颜色分级和胶片色调映射器 属性来应用颜色校正。

要查看Slay中使用的后期处理属性,请在关卡中选择 后期处理体积 。在 世界大纲视图 中搜索即可找到。

post process volume

你可以启用或禁用细节面板中的 已启用(Enabled) 属性,来预览各种后期处理体积的效果。使用后期处理能够让你的场景效果更加生动。

Post Processing Off

Post Processing On

视口优化

由于Slay包含大量图形内容,所以有必要优化编辑器视口,确保虚幻引擎能够流畅运行。方法是设置在 DefaultEngine.ini 配置文件 中调整部分 控制台变量

可调整的变量包括:

  r.HairStrands.Enable 1.0
  r.HairStrands.DeepShadow.Resolution 512.0
  r.RayTracing.Shadows.AcceptFirstHit 1.0
  r.RayTracing.SkyLight.ScreenPercentage 55.0

如需查看其他使用中的控制台变量,请打开Slay的工程目录中的 Config 目录,然后用文本编辑器打开 DefaultEngine.ini

影片渲染队列设置

Slay的最终画面是由虚幻引擎的 影片渲染队列(Movie Render Queue)工具 渲染。影片渲染队列支持多种功能,可以输出高质量的渲染效果,例如它的时序子采样(temporal subsampling),可以产生高品质的径向动态模糊效果。此外,Slay中还使用了控制台变量来提升渲染过程中的图形保真度。

要打开影片渲染队列窗口,请点击Sequencer工具栏中的 渲染 按钮。

open movie render queue

Slay中使用的渲染设置会被保存为 影片管线主配置资产(Movie Pipeline Master Config Asset) 。要将此预设应用到渲染画面,请点击 设置 下拉菜单并选择 Slay_MovieRenderQueue_Preset

render settings preset

要查看采用设置后的效果,请点击 Slay_MovieRenderQueue_Preset 设置文本。这会打开 渲染设置 窗口,其中包含了渲染过程中所采用的各种输出、质量和其他设置。

render settings

抗锯齿

为减少图像噪点,形成平滑的边缘和动态模糊,示例采用了 抗锯齿 ,并且将 时序采样数(Temporal Sample Count) 设为 19

Slay的抗锯齿设置

控制台变量

为了从多个方面提升画面的真实度,包括 动态模糊 次表面散射 光线追踪 等,Slay如下设置了 控制台变量

slay console variable render settings

  r.MotionBlurQuality 4.0
  r.MotionBlurSeparable 1.0
  r.DepthOfFieldQuality 4.0
  r.ScreenPercentage 125.0
  r.ViewDistanceScale 50.0
  r.SSS.Quality 1.0
  r.SSR.Quality 4.0
  r.Shadow.DistanceScale 10.0
  r.ShadowQuality 5.0
  r.Shadow.RadiusThreshold 0.001
  r.SkeletalMeshLODBias -4.0
  r.RayTracing.GlobalIllumination.FireflySuppression 1.0
  r.RayTracing.SkyLight.ScreenPercentage 100.0
  r.RayTracing.AmbientOcclusion 1.0
  r.DiffuseIndirect.Denoiser 1.0
  r.RayTracing.Shadows.AcceptFirstHit 0.0
  r.HairStrands.Enable 1.0
  r.PathTracing.MaxBounces 2.0
  r.TemporalAACurrentFrameWeight 0.3
  r.RayTracing.GlobalIllumination.SamplesPerPixel 4.0
  r.RayTracing.Reflections.MaxRoughness 1.0
  r.RayTracing.GlobalIllumination.MaxBounces 2.0
欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消