实时合成工具

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

Windows
MacOS
Linux

本节包含实时合成工具和整体进程的总览。

Composure插件

要访问合成工具需要启用 Composure 插件。

image13.gif

合成树面板

Composure插件启用后便能访问 Composure合成(Composure Compositing) 面板(可在 窗口(Window) 菜单下找到)。

image17.gif

使用此面板可构建合成 元素(Elements) 的层级结构。元素是负责渲染某个合成场景的对象。要添加顶级合成元素,请右键点击面板并从菜单中选择 新建合成(Create New Comp)
元素可以在树结构中相互嵌套。层级结构决定哪些元素可以在更高级别的元素中进行跨元素使用。

元素只是关卡中的actor。可以像其他actor一样把它们添加到场景中。该面板只是为您提供了一种嵌套元素的方法,并公开了一些控制方法以便使用。

为保证可移植性,请确保元素被添加到其自身的子关卡中。由于它们是关卡actor,这使您可以在其他地图中加载您的合成树。

合成树面板剖析

image1.png

项目

描述

A. 元素行

合成元素是存在于在场景中的actor。合成面板中有一行表示当前已加载地图中的每个元素。

B. 元素名称

每个元素都有一个唯一名称。元素名称用于引用合成材质图表中的特定元素。

C. 活跃切换

所有元素均可禁用,或者可通过外部手段禁用。可使用此按钮关闭单个元素的渲染。
睁眼 图标代表元素处于活跃状态并正在渲染。闭眼 则代表该元素被禁用。

D. 透明度滑条

百分比框指定元素的不透明度。点击下拉按钮会出现一个增加或减少不透明度的滑条。这适用于对齐合成视图中彼此重叠的内容。

E. 冻结帧切换

有时元素可能正在动画化(视频正在流入,或场景中的CG对象在动画化)。这个切换按钮可暂停元素的渲染和冻结元素的帧,以便使用。

F. 媒体输出切换

这通过采集卡切换元素渲染结果流出的开/关。首次打开时,它会提示您选择(或创建)媒体输出定义资源——您需要提供目标输出(卡、端口等)的资源细节。
这只是可以添加到元素中的诸多输出类型之一。

G. 元素属性

选择一个元素时,细节 面板将列出它的属性。合成特有的设置将列在 Composure 类目下——类似于列出所有元素内部通道的设置。

H. 元素预览窗格

选择“元素”时会将预览窗格添加到“关卡编辑器”窗口中。预览窗格显示元素的最终渲染结果。当元素处于较差的状态(如“空”)时,预览窗格还会显示错误消息。

元素在线性色彩空间中进行处理。默认情况下,预览显示为线性到sRGB的转换,并显示没有色调映射的图像(因此它们看上去会曝光过度)。但是您可以选择更改元素的预览方式,例如添加自己的色调映射。

合成元素

元素是用于构成合成的各个构建块。每个元素代表一个合成层,或合成层本身。他们是各个关卡的actor,分别负责渲染合成场景的一个部分。

内部通道

每个元素都有一组内部通道,这些通道是元素内部的连续步骤。渲染元素时,每个通道便是一个独立的步骤。没有通道的元素不会执行任何操作。通道有很多不同的类型。还有一些元素原型带有预定义通道,所以无需从头构造。

元素剖析

image11.png

项目

描述

1. 输入

某些元素需要访问合成系统之外的资源(例如用于视频输入的媒体纹理)。输入提供了将这些依赖关系转存到元素的方法。输入是一种特殊的通道,可供其他后续通道引用。部分元素类型带有预定义输入。

2. 目标摄像机Actor

部分元素类型(如CG采集)需要一个参考点来查看。如未设置,元素将在场景中搜索并使用它能找到的第一个摄像机。可以为单个元素覆盖此项,或从根元素进行继承。 

3. 变换通道

变换是接受某种类型的输入并更改它或用它来生成新内容的一种通道。例如,颜色变换将图像从一个色彩空间转到另一个色彩空间。此列表中的最后一个变换将生成元素的最终渲染结果。

4. 内部通道

通道有多种类型,但它们均共享一些属性:

  • 4a. 通道启用
    和元素一样,单个通道可被禁用。被禁用后,元素将把通道视为不存在。

  • 4b. 通道名称
    通道拥有名称,以便被后续通道引用。如果要在渲染材质中引用通道,则必须对其进行唯一命名。

  • 4c. 通道材质资源重复使用标签
    为每个渲染通道分配一个渲染目标。默认情况下,假定您只需要该结果以通过下个通道。之后,它的渲染目标将被释出,以便被另一个通道使用。如果需要更长时间访问通道的结果,请取消勾选此框。

    元素和通道的渲染使用共享渲染目标池。所有目标都将在每一帧返回到池中并重新发布。池中未使用的目标将被清空。

5. 输出

输出是另一种形式的通道。它们对元素的渲染结果没有贡献,而是负责将结果转存到他处。例如,将结果转存到视频采集卡或播放器视口。

6. 渲染分辨率

这定义了元素的渲染分辨率。可以逐个元素进行覆盖,也可以从父项继承。部分内部通道也可以覆盖或缩放此设置。

7. 预览变换

在线性色彩空间中处理元素。默认情况下,预览它们时不含任何类型的色调映射,这可能会使其出现曝光过度的效果。元素上的这个可选变换使用户能够调整在编辑器中预览图像的方式。

8. 自动运行

此切换可禁用整个元素,其阻止元素的运行/渲染。切换状态由合成树面板中的眼睛来表示。

合成材质

此处有创建基础合成设置的详细步骤说明。在本节中,我们将浅谈这些细节,但会深入讲述如何在一个元素中使用/引用来自另一个元素的结果。

嵌套元素

image12.gif

元素可以彼此嵌套。虽然任何类型的元素都可以放在层级中的任意处,但一般会把最终的合成放在顶部,在其下面列出它的层元素。添加新嵌套元素的方法是:右键点击所需的父项,然后从菜单中选择 添加层元素(Add Layer Element)。将提示您选择要添加的元素类型。

将一个元素嵌套在另一个下方意味着什么?

嵌套决定了元素的渲染顺序。顶部的父元素在最后渲染,而下方的所有内容均在父元素之前渲染。父元素可以在其自身的渲染通道中使用来自其子项的渲染结果。这就是把所有个体元素合成在一起的方式。

自定义材质通道

有许多不同的通道类型,但合成系统的核心是 自定义材质通道

image10.gif

自定义材质通道 是一个变换通道,它使用户能够将自编的材质添加到管线中。在材质中可以按命名来引用子元素。

自定义材质通道 并不是唯一允许用户在材质中引用元素的通道,其他通道也支持这一点。

在您的材质中引用元素

在材质中,您可以创建一个标准纹理参数,并让它与一个子元素的渲染结果自动挂钩。在合成树面板中将纹理参数的名称设为与子元素名称相同即可。

image18.gif

由于只需要输出一种颜色,我们将为合成材质使用后期处理材质。如果需要,可以为后期处理材质启用 输出透明度(Output Alpha)

把这些材质插入材质通道后便万事俱备。它便可以开始工作了。

image6.gif

没有看到子元素过来?请确保名称完全匹配,输入错误会导致这里出错。

如果子元素被禁用且未渲染,则将用透明黑色纹理填充纹理参数。如果找不到命名元素,则纹理将使用材质中的默认纹理。

让您的材质更加轻便

在材质中按名称引用元素很简单,但这会使材质过于专用化——只适用于拥有特定命名的元素。另一种方法是为材质参数赋予一个通用名称,并将其设为引用通道细节中的子元素。

image5.gif

在通道上设置材质后,它将获得一个名为 输入元素 的属性部分。输入元素 部分列出了材质中的所有纹理参数,便于用户将其设为引用特定的子元素。

在材质中引用其他通道

和元素一样,材质可以引用已运行的其他通道。

image2.gif

这就是在单个元素中进行渐进变换的方式。举例而言,我们可以通过媒体板构成色度镶迭通道,然后构成使用镶迭结果的防溢出通道。

如果需要引用比当前通道之前的通道更旧的通道,则需要将该旧通道的 中间 标签关闭。

特殊参数名称:PrePass

PrePass 是一个特殊的参数名称,可以解释为“引用在此之前运行的任何通道”。

image20.png

在材质中使用 PrePass 可使其更加轻便,而无需在细节中设置参数映射。

将两个元素合成在一起

我们在合成系统中增加了一套材质函数,使合成元素更为简单。

最基础的是 Over 节点。

image16.gif

有经验的合成师不会对此节点的函数感到陌生——它接受输入A并将其覆盖在B上,使用A的不透明度来混合二者。

Over节点接受float4 RGBA向量,并希望RGB通道与其透明度值预乘。

image19.png

Over节点使用输入A的透明度进行混合。默认情况下不会将项目设为通过后期处理管线来传输透明度数据。因此要使CG图层工作,必须启用此项目设置:

image3.png

公开材质参数

标量和颜色材质参数会自动显示在通道的细节面板中。调整、修改合成并进行试验将更简单快捷。

image8.png

在下图的材质中,我们添加了一个标量 Blend 参数,其将在元素/通道的细节中自动公开它的功能按钮。

image4.gif

输出合成

输出路径使用户能够将合成输出到其他地方以供使用。每个元素都有添加输出通道的地方。

image15.gif

输出是负责将元素的最终结果转存到外部消费者的通道。输出通道类型有几种——其中一些拥有自己的变换通道,用于调整输出上的颜色。输出的主要形式也许是通过使用媒体采集通道的采集卡进行。可以轻松地通过树面板向元素添加媒体采集通道:

image7.png

通过Sequencer导出

作为替代工作流,我们的引擎内置过场动画编辑器Sequencer可以与Composure合成系统结合使用,渲染合成与AOV。欲知更多详情,请参见用Sequencer进行实时合成。  

image9.gif

Select Skin
Light
Dark

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见