UE4后处理详解
虚幻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 ,就需要保证摄像机的视点(理解为摄像机的位置即可)位于这个体积里面。