风格化渲染后期处理

虚幻引擎4风格化渲染演示中所使用后期处理效果的概览。

Windows
MacOS
Linux

PostProcessHeader.png

演示的主要功能之一是使用后期处理,其主要用于在场景中的对象周围创建出卡通式轮廓。其也可用于在场景上提供类似于纸质的纹理覆层。还可用于在视图外部创建胶带美术效果。后期处理效果完全在一个单一的后期处理体积中进行处理。该后期处理体积包含后期处理效果的最重要部分:后期处理材质。要使材质成为后期处理效果需要两个步骤,以下我们将进行详细讲解。

为此场景创建的多数材质实际均通过一个材质实例常量应用。使用者能够借此快速进行属性调整和修改,无需等候材质完成重编译。

后期处理材质应该节约使用,仅在真正需要时使用。在可能的情况下,如颜色校正或调整、泛光、景深和各种其他效果,您应该使用后期处理体积中固有的设置,这些设置已经过优化,而且更有效。

为了获得这些参数,您需要根据后期处理材质创建一个材质实例。

如果您是新用户,希望学习后期处理材质的设置教程,请参见Post Process材质文档

自定义后期处理材质

PostStylized.png

此材质分解为一系列的效果。以下是它们的整体介绍:

  • 在对象周围创建轮廓。

  • 只在无环境光遮蔽的区域选择性地进行绘制。

  • 为场景中对象周围线条的整体颜色增添饱和度。

  • 为视图边缘的颜色增添饱和度。

  • 遮挡视图边缘创建胶带美术效果。

  • 创建类似于纸质的纹理覆层。

后期处理材质技术含量颇高,对刚开始在虚幻引擎4中创建材质的新用户而言可能较为困难。此处的讲解重在概述材质的原理和作用,而非具体的步骤说明。

建议打开 M_PostProcess_BaseM_PostProcess_Paper 材质,了解效果每个部分的创建方式。

卡通轮廓

Outline.png

在上图中,我们提取了后期网络中处理轮廓的网络部分,并显示其自身,使效果更加清晰。

此效果可在M_PostProcess_Base材质中看到,主要位于 线条渲染(Line Render) 的部分下。

针对以上各图,如果希望以完整大小查看,建议对每个 点击右键 并选择“另存为”(材质网络仍能在风格化演示中找到)。

场景中对象周围轮廓的处理方式是通过一个SceneTexture表达式对场景深度进行采样。在正负方向上轻微水平和垂直调整UV坐标即可进行偏移。之后结果将被组合,并用于定义轮廓的位置。

然而在线条被实际渲染前,将从环境光遮蔽计算第二个SceneTexture。其用于遮挡掉轮廓。目的是防止部分线框边缘上出现内部线条。可按如下显示:

Before AO Masking

After AO Masking

纸质效果

围绕视图外部的轮廓实际上由两个部分的效果组成。屏幕最远的边缘被转换为一个纸质纹理。此处内部的区域已加重饱和度,以便为屏幕边缘添加更多视觉效果。

这主要的实现方式是使用一个特殊的屏幕对齐纹理。此纹理使用R、G、B通道来保存遮罩。以下是纹理和每个单独的通道。

T_MaskedPaper_Screen_RGB.png

T_MaskedPaper_Screen_R.png

T_MaskedPaper_Screen_G.png

T_MaskedPaper_Screen_B.png

RGB

仅R

仅G

仅B

用绿色通道遮挡掉屏幕边缘并覆盖噪点纸质纹理和颜色后,便会出现场景绘制在一张纸上的效果。

除此之外,纸质纹理被分布到整个视图中,为整个场景赋予一种纸质颗粒效果。

StylizedPaper.png

此系统的核心在于 纸质遮罩(Paper Mask) 评论区。此网络使用上方显示的纹理,但利用了一个 ScreenAlignedUVs 材质函数。其将获取纹理坐标并将其应用到屏幕之上,将纹理有效拉伸到整个屏幕上。用作后期处理材质的部分时,出现的结果是纹理将完美填充视图。

PaperMaskNetwork.png

Select Skin
Light
Dark

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

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

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

发表反馈意见