转载
每个 PostProcessVolume 实质上是一个类型的混合层。其他混合层可以来自游戏代码(比如命中特效),UI 代码(比如暂停菜单),摄像机(比如暗角效果),或者 Matinee(旧胶片效果)。每个混合层都能有自己的权重值,这样混合效果能容易控制。混合的做法始终是 Lerp(线性插值),当前启用的体积将会参与混合。一个 PostProcessVolume 仅在 Camera 在该体积内才会参与混合,除非体积的 Unbound 选项被勾选,这时该体积作用于整个场景。
后处理设置都是一些用于后处理效果的属性,我们可以控制这些属性并且覆盖这些属性。 这些属性在UScene类中的FPostProcessSettings中定义 。每个PostProcessVolume 包含一FPostProcessSettings 结构体作为 Settings 属性,其中包含了每个属性定义,并能够在体积中对他们进行覆写。PostProcessVolume里面搜索settings就可以看到各种特效配置,如图1-1。如果我们想添加自定义的后处理效果,就要在图1的Misc里面Blendables数组添加自己的特效材质。 图 1 我们可以在Misc里面添加不同的材质,来调节全局对比度,饱和度以及色温的效果,也可以做一些镜头的特效,比如模糊,景深等。另外,我们也可以利用他实现描边的效果,这需要一个菲涅尔效果的材质,同时要把他添加到当前的渲染层里面。UE4为了方便开发者,特意在Mesh组件里面提供了一个这样的接口bRenderCustomDepth来允许在游戏线程里面单独渲染自定义的效果材质。不过要在材质里面做好对应的设置(在UE4官方商城有教程)。 注意:一般来说,我们也可以在摄像机组件里面添加后处理效果(与上图的内容类似),这样我们在地图任何位置都可以看到效果。如果我们使用的是PostProcessVolume ,就需要保证摄像机的视点(理解为摄像机的位置即可)位于这个体积里面。 |