Unity中的后期处理:PostProcessing

时间:2018-11-26 16:19:30   收藏:0   阅读:11821

“想要实现这个效果,让我们来编写一个Shader。。”
“Shader???”
相信绝大多数开发者都有看过那些炫酷的效果而跃跃欲试却又对Shader代码望而却步的经历,新版本的unity新增的PostProcessing组件,让许多人看到了希望,虽然效果数量有限,却对于开发来说有很大的收益。

安装PostProcessing

PostProcessing是unity内置的后期效果增强组件,可以在极短的时间内得到各种常用特效的效果,对于编写Shader的苦手(比如在下)来说,确实是个天大的福音了。第一次接触PostProcessing与实际开发中,效果确实惊艳到了,之后PostProcessing就成了游戏开发的必备组件==。PostProcessing可以在资源包管理器中直接安装得到。

技术分享图片

新工程请在All中找到PostProcessing并点击右上角的install即可,我的已经安装完毕,所以界面有些不同,如果版本不一致没有资源包的话可以访问PostProcessing的Github页面: PostProcessing 按照说明将PostProcessing拖入工程文件夹就可以用了。附上官方效果对比:

技术分享图片
技术分享图片

这么看效果还是很明显的。虽然效果是在大型项目展示的,但是PostProcessing完全可以用在小型项目中构建各种各样出色的效果。

使用PostProcessing

首先我们需要在相机中添加一个Post-process Layer组件来渲染相机图像。

技术分享图片

Trigger触发器默认是相机本身,如果有需要可以设置为其他物体,如挂载到角色上面,可以实现进入特定区域触发特效,这个后面再说。Layer是一个很重要也很容易忽略的角色,必须保证postprocessing volume所处层级与此项相同,一般来说建议设置专用层以提高渲染性能。其次的抗锯齿 延迟雾效等等看项目情况调整即可。

技术分享图片

Volume分为全局和局部两种实现方式,全局只需选中Is Global选项。局部需要挂载Collider3D组(记得选中Is Trigger)件并取消Is Global选项,当PostProcessing Layer中的触发器(Trigger)进入Collider中就能看到效果了,可以实现洞穴等场景的变换特效。(切记把挂载PostProcessing Volume组件的物体Layer设置为PostProcessing Layer中的对应Layer)

Blend Distance用来实现特效的渐弱,使特效自然渐进的出场或退场。Weight影响权重,0完全不起作用,1效果全开。效果会在多个volume混合时根据这几个属性数值进行叠加。

profile就是特效的配置文件了,点击new即可创建新的特效配置,之后点击Add effect->Unity即可看到PostProcessing提供的11中特效。直接点击就可以再面板中看到相应的特效,展开即可进行编辑。

技术分享图片

All生效所有属性,None禁用所有属性,也可以只用其中的某些属性,选中相应的属性栏就可以了。
下面简单说一说这些特效,如果用到某个特效再细细分析。

Post-process特效

技术分享图片

属性 功能
Intensity 辉光的强度
Threshold 过滤掉小于此光照强度的像素点,注: 该值以伽马空间表示
Soft Knee 在低于/高于阈值的渐变(0 =硬阈值,1 =软阈值)之间进行转换
Clamp 限制辉光像素的数量,该值以伽马空间表示
Diffusion 以与屏幕分辨率无关的方式改变遮蔽效果的程度
Anamorphic Ratio 通过垂直(在范围[-1,0]中)或水平(在范围[0,1]中)缩放辉光来模拟变形镜头的效果
Color 辉光的色调
Fast Mode 通过降低效果质量来提升表现
Texture 模拟污垢为镜片添加污迹或灰尘
Intensity 镜头污渍的数量

技术分享图片

技术分享图片

技术分享图片

技术分享图片

属性 功能
Focus Distance 对焦距离
Aperture 孔径比(称为f-stop或f-number)。值越小,景深越浅
Focal Length 镜头和胶片之间的距离。 值越大,景深越浅
Max Blur Size 散景滤镜的卷积核大小,决定散景的最大半径

技术分享图片

技术分享图片

技术分享图片

以上只是对PostProcessing的一些简介,PostProcessing是个复杂的组件,要想搞清全部特效需要大量的实践与相关的专业知识,对于初学者或想要快速构建游戏效果的人来说,认识PostProcessing特效和添加特效只是最基本的一步。因为调整PostProcessing是个细致且漫长的过程,请务必在游戏开发接近尾声时再斟酌效果,调整参数。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!