欢迎光临散文网 会员登陆 & 注册

MMD联动Unity学习笔记 Vol.5.1 Post Processing Stack v2

2019-05-30 21:07 作者:NXL2  | 我要投稿

前言

    v2版本已经发布有一段时间了。官方在技术直播中介绍不建议继续使用v1版本。新版本与原版稍微略有不同。这期我们研究一下新版后处理的使用。

官方说明

    Legacy Post Processing Stack已被弃用于新项目。如果使用Unity SDK 5.6到2017.2,请在Github上找到2.0版的Post Processing Stack。如果使用Unity SDK 2017.3+,则可通过Unity的Package Manager获得Post Processing Stack的2.0版。

v2可以用于标准渲染管线和LWRP中

下载地址:https://github.com/Unity-Technologies/PostProcessing

Unity后处理的Bloom效果

    下面是官方的亮哥带来的Unity Post Processing Stack v2中的Bloom效果的讲解介绍,通过一个常用的后处理效果抛砖引玉,我们可以举一反三应用到后处理其它效果。

    Bloom效果其实是一种泛光效果,在Packages Manager安装Post Processing(现Version 2.1.6)插件包,安装好插件包后,就可以在主相机上添加Post Processing Layer组件,让摄像机能够输出后处理效果。然后我们来设置Layer这个参数,最好是将后处理效果单独设置在PostProcessing这个层上。如果没有,可以新创建PostProcessing层级。这里设置的Layer属性主要是为了匹配后面添加的Volume组件所在的Layer,添加好Layer后,再将Post Processing Layer中的Layer设置为PostProcessing层级。

    接下来我们添加Post Process Volume组件,通过添加Post Process Volume组件,我们可以让场景中的不同区域拥有不同的后处理效果。添加好Volume组件后,我们也需要确保Volume组件层同样是Post Process,然后点击New按钮创建配置文件。

Bloom特效

    创建好配置文件后,我们就可以选择Bloom特效。

    展开Bloom特效的控制面板,我们看到目前的参数状态呈现灰色,因此整个场景中,我们还看不到任何的后处理效果。我们下面通过实际例子来了解和掌握一些参数的配置。

参数状态呈现灰色

参数详解

    Intensity 它代表Bloom(泛光)的强度

提升Intensity后可以看到窗户和广告牌的光线逐渐变强。

    仔细观看可以发现,只有窗户和广告牌呈现了泛光的效果,这是因为默认的情况下,我们有一个颜色的阈值,而场景中只有灯光和广告牌使用了自发光颜色,该颜色使用了HDR,因此能够高于阈值默认设定值1。

    Threshold 阈值。

    Soft Knee 表示泛光和非泛光颜色之间的过渡。最小值为0表示没有过渡。最大值为1表示最缓慢的一种过渡效果。

    Clamp 和Threshold这个参数相对应,这实际上限定了泛光效果的最大颜色值。进而控制了整个场景的泛光强度。

    Diffusion 这个参数控制了泛光区域的大小,当增加数值的时候,泛光区域会增加,当减小这个数值的时候,泛光区域就会收拢。

当增加Diffusion值的时候,泛光区域会增加
当减小Diffusion值的时候,泛光区域就会收拢

    值得一提的是,整个后处理效果的代码,你可以在Packages文件夹里找到。比如说你想了解,我们所介绍的Bloom效果。你可以找到Bloom.cs这个文件。比如Diffusion这个参数, 你可以找到相关的代码,它实现的原理实际上是控制画面模糊采样的次数,来控制整个泛光区域的大小。

    Anamorphic Ratio 用于控制泛光的偏心比率。从0到-1是纵向拉伸,从0到1为横向拉伸。

    Color 它用来改变泛光区域的颜色。点击颜色条带,打开颜色控制面板,设置任意一种颜色。这个时候你可以看到场景中的泛光区域的颜色也发生了变化。

    Fast Mode 是一个优化开关。它是Post Processing V2版本才增加的。这个优化项主要是通过降低部分泛光的质量,来达到提升性能的效果。所以当你开发移动的应用,那么最好是打开这个开关。

Post Processing V2常规优化规

    除此这外,在其它的一些效果。比如说色差,以及反锯齿效果也具有Fast Mode这个开关。所以在使用这个效果时候,也应该稍加留意。

    最后我们再来看脏镜头有关的两个参数。

    Dirtness下面

    Texture 是应用于脏镜头的贴图纹理。我们可以打开这张贴图,这实际上就是一张布满了斑点的纹理贴图。

脏镜头的贴图纹理

    但在我们设置为参数后,我们并不能看到场景中有任何脏镜头的效果。

参数设置

    这是由于Threshold阈值的关系,将泛光的区域局限到了窗户的周围。因此,只有当我们降低阈值,这个时候,场景中才能呈现出脏镜头的效果。

脏镜头特效

    当然,像脏镜头这个效果,我们还是应该应用于曝光比较强烈的室外场景,夜晚的街景不太适合应用脏镜头的效果。

    我们可以看到通过增加Bloom特效,我们让窗户和广告牌的灯光效果变得更加漂亮和真实。

最终效果


MMD联动Unity学习笔记 Vol.5.1 Post Processing Stack v2的评论 (共 条)

分享到微博请遵守国家法律