UE4后处理详解

发表于2018-01-22
评论0 5.7k浏览

虚幻4提供了后处理特效的功能,可以实现景深,光溢出,色调调整,饱和度等等。要使用虚幻4的后处理,就一定要用到PostProcessVolumn,这是一种特殊的体积,可以放置在场景中的任何位置。

每个 PostProcessVolume 实质上是一个类型的混合层。其他混合层可以来自游戏代码(比如命中特效),UI 代码(比如暂停菜单),摄像机(比如暗角效果),或者 Matinee(旧胶片效果)。每个混合层都能有自己的权重值,这样混合效果能容易控制。混合的做法始终是 Lerp(线性插值),当前启用的体积将会参与混合。一个 PostProcessVolume 仅在 Camera 在该体积内才会参与混合,除非体积的 Unbound 选项被勾选,这时该体积作用于整个场景。

属性

描述

Settings

体积的 后处理设置,大部分属性前的勾选框定义了该行的属性是否使用该体积的 Blend Weight 参与混合。

Priority

当多个体积重叠时定义它们参与混合的次序。高优先级的体积会被当前重叠的其他体积更早计算。

Blend Radius

体积周围基于虚幻单位的距离,用于该体积开始参与混合的起始位置。

Blend Weight

该体积的影响因素。0代表没有效果,1代表完全的效果。

Enable

定义该体积是否参与后处理效果。如果勾选的话,该体积则参与混合计算。

Unbound

定义该体积是否考虑边界,如果勾选的话,该体积将作用于整个场景而无视边界。如果没有勾选,该体积只在它的边界内起效。

       

后处理设置都是一些用于后处理效果的属性,我们可以控制这些属性并且覆盖这些属性。这些属性在 UScene 类中的FPostProcessSettings中定义 。每个PostProcessVolume 包含一个 FPostProcessSettings 结构体作为 Settings 属性,其中包含了每个属性定义,并能够在体积中对他们进行覆写。PostProcessVolume里面搜索settings就可以看到各种特效配置,如图1-1。如果我们想添加自定义的后处理效果,就要在图1的Misc里面Blendables数组添加自己的特效材质。


                                                                    图 1

我们可以在Misc里面添加不同的材质,来调节全局对比度,饱和度以及色温的效果,也可以做一些镜头的特效,比如模糊,景深等。另外,我们也可以利用他实现描边的效果,这需要一个菲涅尔效果的材质,同时要把他添加到当前的渲染层里面。UE4为了方便开发者,特意在Mesh组件里面提供了一个这样的接口bRenderCustomDepth来允许在游戏线程里面单独渲染自定义的效果材质。不过要在材质里面做好对应的设置(在UE4官方商城有教程)。

注意:一般来说,我们也可以在摄像机组件里面添加后处理效果(与上图的内容类似),这样我们在地图任何位置都可以看到效果。如果我们使用的是PostProcessVolume ,就需要保证摄像机的视点(理解为摄像机的位置即可)位于这个体积里面。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引