实时合成工具

包含虚幻引擎4参考和指南的产品文档

Windows
MacOS
Linux

在虚幻引擎4(UE4)中,利用实时合成插件 Composure 可处理图像合成过程。使用此插件,在编辑器或游戏中操作时可将如计算机生成(CG)或现实源到图层等不同源中的视觉元素合并为单个无缝混合图像。在影视视觉特效(VFX)行业,针对电影和电视,单帧合成主要为离线处理进程,迄今为止各帧均需花费时间进行渲染。

若开始合成时已考虑预可视化,此插件对导演或其他现场创作人员尤其有用,可使其了解最终渲染效果,甚至可修改表演或镜头设置方式。对于合成人员,预可视化可作为指导,帮助其完成如Nuke、Fusion等其他第三方行业标准软件中的工作。

启用Composure插件

要访问Composure合成工具,前往 编辑(Edit) 菜单并打开 插件(Plugins) 浏览器。在 合成(Compositing) 类别下,启用 Composure 并重启编辑器,以使更改生效。

1_EnablingComposure.png

合成树面板

Composure插件启用后,在 窗口(Window) 菜单中访问 Composure合成(Composure Compositing) 面板。

2_ComposureCompositingWindow.png

使用此面板构建合成 元素 的层级。此类元素是负责渲染一段合成场景的对象。例如,上述层级由名为"My_Composite"的合成构成。其共有三个元素,分别为"FG_Element"、"BG_Element"、"Media_Plate"。各元素包含合成在一起的不同场景部分。FG_Element和BG_Element元素是 CG图层 元素,同时包含场景中的前景和背景对象。Media_Plate是 媒体板 图层,用于将视频输入到合成管道。

右键点击Composure合成(Composure Compositing)面板时,选择New Comp Shot**.mp Shot**添加自己的合成。

AddNewCompShot.png

右键点击此合成镜头时,通过选择 添加图层元素(Add Layer Element) 并在 选取元素类型(Pick an Element Type) 选择窗口中选择要添加的元素类型,添加新元素。

AddNewLayerElement.png

元素可以在层级结构中上下嵌套,以决定可在层级树中较高级别的元素中进行跨元素使用的元素。注意:元素即关卡中的Actor,可像其他Actor一样添加。此面板提供此类元素的嵌套方法,进行整理并公开部分控件,以便于使用。

为了在场景中可移植和易用,需确保元素添加到各自的子关卡。由于其为关卡Actor,因而可在能打开的其他关卡中加载合成树。

Composure合成面板剖析

  1. 元素行(Element Row) 由合成镜头构成,而合成镜头则由场景内合成元素组成。启用拥有代表当前加载贴图中各图层的行。

  2. 元素命名(Element Name) 是给定各各添加图层元素的唯一命名,用于引用合成材质图表中找到的特定元素。

  3. 使用 眼睛(Eye) 按钮可开启或关闭各合成镜头或图层元素。

  4. 透明度 框控制选定合成镜头或图层元素的不透明程度。在此文本框中输入值或点击下拉菜单,使用滑块可控制可见性。

  5. 可切换冻结帧元素。针对流送进入的动画或视频,此功能可暂停元素渲染,同时冻结其位置。

  6. 利用 媒体输出(Media Output) 开关可开启/关闭选定合成镜头或图层元素的渲染结果。首次开启此开关时,将提示选取(或创建)媒体输出定义 资源。提供目标输出的资源细节(例如卡或端口)。

  7. 选择合成镜头或图层元素时,可在关卡的 细节(Details) 面板中找到此元素的属性和特性。可在 Composure 类别下找到合成特定设置。

  8. 选择合成镜头或图层元素时,关卡视口中将显示 元素预览窗格(Element Preview Pane),与摄像机Actor(Camera Actors)预览窗格类似。其显示选定元素的渲染,元素处于错误状态时还将显示错误消息。例如,若无信息显示,将显示"空白(Empty)"。

    在线性颜色空间中处理元素。预览将默认显示sRGB的线性转换,并显示无色调映射的图像,结果可呈现曝光效果。可选择更改元素的预览方式,如通过自定义材质添加色调映射。

合成元素

元素 是用于构建合成图像的单个构建块,其可为合成镜头或单个图层元素。各元素共同组成合成图像,合成图像又由图层或关卡Actor构成,分别负责渲染一段合成场景。图层Actor分别负责渲染一段合成场景。

内部通道

各元素均拥有其执行的内部通道集。此类通道是该元素类型特有的连续步集。在渲染合成中的元素时,各通道均为独立的步。无通道的元素不进行操作。可用的通道类型众多,某些元素原型还附带自己的预定义通道。例如,媒体板元素已内置色度镶迭和防溢出通道。

元素剖析

在Composure合成树(Composure Compositing Tree)窗口中选择元素时,关卡中的 细节(Details) 面板将显示此选定元素的信息和属性。

ElementAntomy.png

  1. 利用 输入(Inputs) 属性,有些元素可访问合成系统之外的资源,例如使用视频输入的媒体纹理。此类资源提供将依赖项传到元素的方法,同时充当特殊通道,供其他后续通道和部分带有预定义输入的元素类型引用。

  2. 利用 目标摄像机Actor,部分需要视点进行参考的元素类型可在关卡中使用摄像机Actor。若未定义,元素将搜索关卡,并指定找到的首个摄像机Actor。可为单个元素覆盖此项,或从根元素进行继承。

  3. 变换(Transforms) 是一类通道,其会获取某类输入并将其修改,或将其用于生成新内容。例如,颜色变换获取一个颜色空间的图像,并将其放入另一颜色空间。此列表中的最后变换将产生元素最终渲染结果。

  4. 通道 的类型众多,例如色度镶迭、防溢出,甚至是可添加的自定义通道。此类通道通常共享部分属性,但有的通道也可能具有有独特属性。

    1. 启用(Enabled) 标签可开启/关闭通道。禁用后,通道将不执行通道自身操作。

    2. 通道命名(Pass Name) 提供后续通道可引用的命名。

      若要在材质中引用通道,其必须使用唯一命名。

    3. 中级(Intermediate) 标签控制后续通道是否使用此通道。通常默认仅下一通道需要进行使用。之后,将释放其渲染目标,供其他通道使用。若需延长通道结果的访问时间,则禁用此标签。

      元素和通道的渲染共用一个渲染目标池。所有目标每帧均返回到此池并重新分配。此池中未使用的目标将被清空。

  5. 输出(Outputs) 是另一种形式的通道,其对元素的渲染结果无贡献。相反,其会将通道的结果路由到他处,如视频采集卡或玩家视口。

  6. 渲染分辨率(Render Resolution) 定义元素的分辨率输出。其可被覆盖,或自父项继承,而部分通道可覆盖或扩展此设置。

  7. 预览变换(Preview Transforms) 中,元素于其线性颜色空间中处理。预览元素时默认无色调映射,因此其颜色将发生曝光。利用元素上的可选变换,可调节编辑器中预览图像的方式。

  8. 自动运行(Auto Run) 标签可切换元素状态,防止其运行(或渲染)。Composure合成面板树视图中的眼睛图标同样会反映此标记状态。

合成材质

以下章节对UE4中合成流程各部分的工作原理和合并方式进行了详细讲解。

欲了解使用Composure创建基本合成的分步指南,参见Composure快速入门

嵌套元素

元素可嵌套在另一元素之下,并可将任意类型的元素放入层级,但应将最终合成放在顶部,图层元素列在下方。要添加新嵌套元素,右键点击所需父元素,并在快捷菜单中选择 添加层元素(Add Layer Element)。然后,在窗口中选择要添加的元素类型。

嵌套元素将决定合成中使用的元素渲染顺序。最后渲染父元素,并预先渲染其下内容。父元素可使用其渲染通道中子项的渲染结果。

自定义材质通道

自定义材质通道 为变换通道,利用其可将用户编写材质添加到合成流程。在此材质中,可按命名引用子元素。

CustomMaterialPass.png

在材质中引用元素

在材质中,创建 纹理参数 并使用子元素的渲染结果自动填充该参数。以合成树中找到的子元素名,命名参数。

CompositeMaterial.png

由于输出只需单个颜色,将使用后期处理材质合成此类材质。若需要,可启用后期处理材质的 输出透明度(Output Alpha)

使用细节(Details)面板将此材质插入 材质 槽中。若设置全部正确,其应开始在视口预览中工作。

CustomMaterialApplied.png

若预览中未显示子元素,重新检查命名是否完全匹配。拼写错误或多余空格可能导致此操作失败。

若子元素已禁用且尚未渲染,将使用透明黑色纹理填充纹理参数。若未找到指定元素,纹理将使用材质中的默认纹理。

使材质可移植

在材质中按命名引用元素十分简单,但会导致材质变得非常专用化;该方式仅适用于拥有特定命名的元素。或者,给定材质纹理参数泛型命名,对对其设置,以引用通道属性中的子元素。

CustomMaterialPassInputs.png

在通道上设置材质后,其将拥有名为 输入元素(Input Elements) 的属性部分。输入元素(Input Elements) 部分将列出材质中的所有纹理参数,以便设置以引用特定子元素。

在材质中引用其他通道

与元素类似,材质可引用已运行的其他通道,这就是在单个元素中进行渐进变换的方式。举例而言,我们可以通过媒体板构成色度镶迭通道,以及使用镶迭结果的防溢出通道。

CustomMaterialInputsParameters.png

若需引用通道(非当前通道之前通道),则需取消勾选此通道的 中间(Intermediate) 标签。

特殊参数名PrePass

PrePass 为特殊参数名,可解释为_引用此之前运行的通道_。在材质中使用可使其可移植性更强,而无需在细节(Details)面板中设置参数映射。

image20.png

将两个元素合成在一起

项目会默认通过后期处理流程发送透明度数据。为使CG图层正常运行,需将项目设置中的 启用后期处理中的透明度通道支持(Enable alpha channel support in post processing) 设为 仅线性颜色空间(Linear color space only)。该设置位于渲染(Rendering)> 后期处理(PostProcessing)类别下。

利用以下功能可降低元素在材质中合成的难度:

Over 节点获取输入A并将输入B覆盖在其上,同时使用A的不透明度将两者混合。此节点获取flaot4 RGBA向量,并期望RGB通道与其透明度值预乘。

CompositingTwoMaterials.png

在下例中,Over材质表达式正将 FG_ElementBG_Element 进行混合。FG_Element 的透明度用于将前景对象和背景板进行混合。

CompositeMaterialsBlend2.png

公开材质参数

材质标量和向量参数将自动向 材质参数(Material Parameters) 类别下的通道细节(Details)面板公开。如此便可轻松调整、调节和试验合成。

MatParameter_Blend.png

在此范例材质中,融合(Blend) 标量参数将自动向元素的细节(Details)面板公开。在编辑器中操作时,调整此参数的值便于快速编辑或试用设置。

公开混合标量值 = 0.0

公开混合标量值 = 0.5

输出合成

输出 通道负责将不同元素的最终结果路由到某个外部使用者。各元素均含有供添加输出通道的位置。

点击 输出(Outputs) 旁的 添加(add) (+)按钮,将显示以下选项:

OutputCompositeFormats.png

  • 媒体采集(Media Capture)

  • 图像序列(Image Sequence)(exr)

  • 玩家视口(Player Viewport)

  • 渲染目标资源(Render Target Asset)

最常见(或主要)的输出是利用 媒体采集(Media Capture) 通道输出到采集卡。使用树面板按钮可轻松、快捷地向元素添加媒体采集通道:

ToggleMediaCapture.png

使用Sequencer导出合成

备选工作流是通过Sequencer 渲染出合成和其他图层或通道。

SequencerOutput.png

欲了解更多信息,参见使用Sequencer实时合成

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback