Unity 后期处理Post-Processing使用

前言

最近在做2D游戏,将图片导入转为Sprite后,放入场景中会出现锯齿,效果很严重。如图(版本号2017.4.1f1)Unity 后期处理Post-Processing使用_第1张图片
搜索了好多办法大多都是3D处理,唯一就是这个postprocessing后期处理。但是大多只有介绍没有如何使用。我研究一下午后终于了解大体使用了。

安装

如果是2018以上版本可以在创建工程时导入模板中有(我是2017,没有)Unity 后期处理Post-Processing使用_第2张图片
或者在场景内Window/package manager 中导入。
如果是2018以下版本可以在Github下载添加到工程目录下即可。链接:post-processing

使用

第一步

首先在相机里添加Post-processing Layer组件如图
Trigger触发器:默认为相机本身,如果有其他需要可以设置其他物体。例如某块区域内,进入后触发相应特效。(Post-processing不止用来去锯齿还有许多后期特效功能,而且是开源的,我这里只介绍去锯齿,详细可查文档,链接:更多功能介绍)
Layer层级:为Volume混合考虑设计的遮罩层,它可以让您进行Volume过滤,尤其对于优化Volume遍历特别有效。您应该始终将自己的Volume放置在专用的层中而不是默认设置一个为了最佳性能,默认情况下层设置为Nothing,所以不要忘记改变它否则不会产生效果。这里我所有的环境都是Environment层级所以使用的,部分物体是Default未修改(这里其实post-processing是个后期处理效果,最好是在游戏开发后期处理,不要像我一样过早使用)。
Anti-aliasing抗锯齿
mode:
FXAA(快速近似抗锯齿,就是系统自动处理,适用于不支持TAA所需的运动矢量的移动和其他平台)
SMAA(目前首选的抗锯齿模式,清晰度较FXAA好,缺点在于锯齿抖动,提供三种模式低中高,也是系统自动处理,不用自己调参)
TMAA(时间抗锯齿,时间抗锯齿是一种更先进的抗锯齿技术,其中帧在历史缓冲区中随时间累积,以用于更有效地平滑边缘。它在运动中平滑边缘方面要好得多,但需要运动矢量并且比FXAA更昂贵。因此,建议用于桌面和控制台平台。这个没搞懂,详情查看文档:TMAA)

第二步

GameObject/3D Object/Post-processing VolumeUnity 后期处理Post-Processing使用_第3张图片
IsGlobal:这里是判断要不要应用于整个场景,默认是只有触发器范围内的。
如果勾选就没有Blend Distance,不勾选的话有Blend Distance,如图,表示融合开始时体积表面的外部距离。(当摄像机进入触发区域后触发本地屏幕后期处理效果)
Weight:可用于减少Volume及其覆盖的全局效果,其中0无效果,1效果最大。
Priority:定义堆栈中的Volume顺序。 此数字越高,Volume的优先级越高。
Profile:这个需要自己建立一个Post-processing Profile,需要什么效果都在这个文件里。建立方法在Project视图中右键Create里面。这里我只添加了个Bloom效果,抗锯齿在之前设立。Unity 后期处理Post-Processing使用_第4张图片
最终效果

大致可以接受,如果想要更好的效果可以尝试TMAA,这个是移动端,精度大致可以。此外这个Post-processing提供了其他效果,以及模板供使用者自己开发效果。
这里简述一下自带的效果:
Ambient Occlusion 环境光遮罩:用来使像是世界中难以照射到光线的角落,交叉点等地方变暗。
Anti aliasing:抗锯齿:抗锯齿功能提供的算法可以是锯齿感明显的边缘更加平滑,虽然锯齿感减少,却会使物体变得模糊。
Auto Exposure 自动曝光:模拟人眼适应各种黑暗与光亮的效果,比如从黑暗的隧道出来时,人眼会有短暂时间的炫目。
Bloom 辉光:最常用的Post-process特效之一,效果和他的名字一样,提供图像从明亮边缘扩散的效果,Dirtiness可以模拟污渍和灰尘来衍生Bloom特效,在FPS游戏中常见这类效果。
Chromatic Aberration 色差:在边界产生一些颜色条纹,模拟相机镜头为颜色没有汇聚的缺陷行为来增加艺术性的效果,可以用来模拟中毒特效。
Color Grading 颜色分级:另一个经常用到的特效,用于校正镜头中的颜色与亮度,来实现电影或海报效果,可以理解为手机中的何种滤镜。需要一定的专业基础才能玩转,但是通过调整Tonemapping(色调映射)的mod可以快速实现一些效果。
Deferred Fog 延时雾效:雾是根据与相机的距离将颜色叠加到对象上的效果。 这用于模拟室外环境中的雾或雾,并且通常还用于在摄像机的远剪裁平面向前移动以提高性能时隐藏对象的剪裁。
Depth of Field 景深:常用特效之一,模拟相机镜头的对焦效果而产生模糊感。模糊不仅给出了关于物体距离的视觉提示,而且还引入了散景,这是令人愉悦的视觉伪像。
Grain 颗粒效果:模拟老电影屏幕上的颗粒感,用于模拟老式显像设备。
Lens Distortion 镜头失真:此效果通过扭曲或不失真最终渲染图片来模拟镜头的形状。
Motion Blur 运动模糊:“运动模糊”是一种常见的后处理效果,可以模拟当相机拍摄的对象移动得比相机的曝光时间快时图像的模糊。运动模糊用于在大多数类型的游戏中产生微妙的效果,但在一些类型中被夸大,例如赛车游戏。
Screen space Reflections 屏幕空间反射:屏幕空间反射是一种重用屏幕空间数据来计算反射的技术。 它通常用于产生更微妙的反射,例如在潮湿的地板表面或水坑中。
Vignette 晕影:在摄影中,晕影是用于与中心相比朝向图像边缘变暗和/或去饱和的术语。经常用于艺术效果,例如将焦点绘制到图像的中心。

结尾

第一次写各位见谅,这里是星空Auggst,主要写一下自己在游戏开发(以Unity为主,偶尔会有UE4)和计算机图形学(OpenGL)中遇到的问题解决办法。欢迎一起探讨。

你可能感兴趣的:(Unity)