HDR 与 UE 内容渲染输出管线实践(流程设计)

HDR 与 UE 内容渲染输出管线实践

引言

在 UE5.0 预览版阶段,Epic 就引入了和传统 DCC 软件相同的可自定义工作色域。这可能意味着:

  1. 引擎可以渲染出颜色过渡更细腻、更饱和的画面(更广色域的贴图)。
  2. 虚幻正在朝着更专业的电影制作流程迈进。
  3. 游戏引擎和传统 DCC 软件的界限正在变得更模糊,越来越多团队开始采用 UE 作为影片制作工具。

以下内容是自己做的一个实验:使用 UE5.2 输出广色域物料,并制作杜比 8.4 内容。

这次实验的目标是:

  1. 尽量在全流程中保留素材的高动态范围信息。
  2. 完成一次电影工业流程中的 HDR 内容制作。
  3. 在输出后对 HDR 与 SDR 模板内容进行一次模拟对比。

物料准备

需要先下载 ACES 的 OCIO 配置文件。这里面包含很多电影工业流程里常用的转换,本质上就是色域映射和 Gamma 变换。

我当时使用的是较新的 1.2 配置文件。

关于 OCIO 配置文件的结构,我之前也单独写过一份文档,可以结合阅读。

UE5 中的输出设置

1. 修改工作空间

打开 UE,进入设置,先修改软件的工作空间。

这里将工作空间改为 ACES AP0(ACES 2065-1)。这是 ACES 中最大的转换色域,理论上覆盖了所有人眼可见光范围。在这个空间里进行渲染,可以理解为:尽量以更高的颜色范围去模拟现实世界。

修改完成后,画面颜色可能会有一些变化,这是正常现象。

UE5 工作空间设置
UE5 工作空间设置为 ACES AP0(ACES 2065-1)

2. 配置 OCIO 资源

创建一个 UE 内的 OCIO Configuration 资源,并在其中设置需要调用的转换值。

这里我使用:

  • ACEScg
  • ACES 2065-1
OCIO Configuration 资源配置
UE5 中的 OCIO Configuration 资源配置

3. 设置 Movie Render Queue

打开 Movie Render Queue 插件,选择需要导出的内容,然后重点调整以下配置:

  1. 删除原本的导出格式,改为 EXR。因为 EXR 位深更高,能够承载高动态范围信息。
  2. 增加抗锯齿选项,将 Temporal Sample Count 调整到 16,并勾选 Override。
  3. 增加 Color Output 选项,选择刚刚新建的 OCIO 配置。
  4. 将 Source 设置为当前工作空间 ACES 2065-1。
  5. 将 Destination 设置为需要导出的空间,这里是 ACEScg。
  6. 勾选 Disable Tone Curve。

其中,Disable Tone Curve 这个选项非常关键。它的意义是:不让 UE 在输出时自动做 Gamma 变换,而是保留完整的线性高动态范围信息。

如果不勾选这个选项,UE 会默认使用 ACES 的 Filmic Tone Curve 进行 Tonemapping,把原本场景中的大量动态范围压缩到标准动态范围中。这样一来,HDR 所需的动态信息在导出阶段就已经丢失,后续流程也就无法真正做 HDR。

最后再根据需求修改分辨率和输出位置即可。

达芬奇中的后处理与导出

在 DaVinci Resolve 中,我习惯把工作空间设置为 ACEScct。不过达芬奇自己的 DaVinci YRGB Color Managed 其实也可以用于这一流程,而且我个人觉得它的整体体验也很好。

这里的设置思路大致如下:

  1. Input Transform 可以选择 ACEScg - CsC。
  2. 如果项目中输入素材类型很多,不建议在项目级统一设置 Input Transform,而是针对每个素材单独设置。
  3. Output Transform 设置为杜比 8.4 标准对应的 Rec.2020 HLG。

另外还有一个容易漏掉的选项:记得在 Dolby Vision 相关设置里启用 Enable Dolby Vision。

如果素材类型很多,可以逐个素材指定 Input Transform。这里我设置为和 UE 导出选项一致的 ACEScg。

调色完成之后,也可以使用杜比的自动分析工具,对素材逐一分析并生成相应元数据。

导出视频时,如果不是输出母版,可以选择:

  1. MP4
  2. H.265 编码
  3. Main10
  4. 高级选项中选择 Profile 8.4
达芬奇导出设置
达芬奇中 HDR 视频导出设置
## 流程总结

整个流程可以概括为:

Unreal 工作空间(ACES 2065-1 Linear) -> Unreal 输出素材(ACEScg Linear) -> 达芬奇调色与输出(Rec.2020 HLG / Dolby Vision Profile 8.4)

一些补充思考

这个工作流程仍然有不少可以优化的地方。

例如,工作空间也可以直接使用 ACEScg。按照 ACES 官方的说法,ACEScg 会更适合贴图等内容的渲染。

另外,如果最终内容是广色域和 HDR,那么制作阶段所使用的图片物料,是否也应该采用更高位深和更高精度的格式,这也是一个值得继续验证的问题。

本文没有详细展开监看设置,但实际配置并不复杂:只需要在 OCIO 配置中添加 sRGB 作为输出,然后在 Lit -> OCIO Display 中选择 ACES 2065-1 与 sRGB 即可。

成品对比

HDR vs SDR 对比 1
HDR 与 SDR 对比 — 场景 1
HDR vs SDR 对比 2
HDR 与 SDR 对比 — 场景 2
HDR vs SDR 对比 3
HDR 与 SDR 对比 — 场景 3
HDR vs SDR 对比 4
HDR 与 SDR 对比 — 场景 4
左边是 HDR,右边是 SDR。需要下载到本地后,用 Mac 设备进行播放对比。

参考资料