马上注册,加入CGJOY,让你轻松玩转CGJOY。
您需要 登录 才可以下载或查看,没有帐号?立即注册
×
Post Processing(后期处理教程)3.0版本(最后修改于2021/5/2)
论坛貌似不能直接把word直接导入然后发贴,图片方面我也不太想用外链,想了想反正图片都要重新上传,索性不如直接开个新帖算了,好了下面开始正题。
下面教程适用于Unity 2018-2021版本,理论上也支持2021以上版本。
适用于Unity默认渲染管线,URP和HDRP管线,此贴仅供参考
写这个教程的初衷是当初用新版本做作品集发现老的bloom插件失效,然后网上找了好久找到了Post Processing,并且稍微研究了下如果开启bloom。
如需在项目中使用Post Processing,请自行和程序商量优化问题。
Unity官方已发布Post-Processing Stack 后处理栈的详细和使用视频,非常推荐观看。
目录: 1、如何安装Post Processing 2、如何开启Post Processing(全局后期) 3、如何指定区域开启Post Processing(如水下效果,山洞效果等) 4、多个摄像机的情况下,使某些摄像机产生或者不产生后期效果 5、官方给出的Post-Processing Stack V2 常规优化
1、如何安装Post Processing 在unity中的Package Manager中找到Post Processing进行下载安装。
左上角下拉选择All packages,然后从下面的选项中选择Post Processing即可。
如果版本较高的,左上角下拉没有All packages,那么就选择Unity Registry,然后在下面找到Post Processing。
如何还没显示出来,请查看左下角是否出现,
Loading Packages..的字样,如果出现就只能耐心等待亦或者开启魔法上网再重开一遍Package Manager。
找到Post Processing后
选择右下角的Install(安装)按钮进行下载。
(下图英文分别对应:查看文档/查看更改日志/查看许可证)
点击下载后会自动进行安装
最右边出现√符号表示安装完毕。
2、如何开启Post Processing(全局后期) 已场景中只有一个摄像机(Camera)为例,选中这个摄像机(Camera)。
在Inspector界面选择Add Componet。搜寻post-process Layer,然后选择post-process Layer组件
然后把摄像机拖入Trigge中,Volume Layer选择Everything(一切)
(Trigger默认选择的是post-process Layer组件挂载的摄像机。 Volume Layer 下面感叹号的意思为不要选择“所有”或者“默认”它会减慢体积混合过程,
Anti-aliasing是post-process提供的抗锯齿。
No Antialiasing 不要抗锯齿 FXAA最便宜的抗锯齿,质量差,多用于移动平台。(一般选择FXAA) SMAA比FXAA具有更高的抗锯齿效果,但是速度也慢。 TAA是一种更高级的抗锯齿,质量更高,消耗更高,建议用在PC端。(自己做作品集可以用TAA)
然后继续在组件中选择post-process Volume
先勾选Is Global(全局),再点击NEW创建一个配置文件。
Weight(权重)为后期处理效果强度的权重,0为没有后期效果,1为正常的后期效果,0.5为一半强度的后期效果 可以在Animation记录Weight(权重)的关键帧,来让后期效果在某些时候弱一点或者强一点。
创建好后点击Add effect(添加效果)
这里已Bloom为例,我们选择添加bloom。
然后勾选Intensity,并且给予其数值即可。
同时查看你的game视窗会不会随着值变化而产生亮度变化, 如果不会,可能你上述操作产生了错误,请重新看一遍教程。 还是不对,请开一个新的项目然后创建一个新的摄像机,再按照教程来进行操作。 如果新项目没问题,那么可能是你旧项目的摄像机本身设置的问题,亦或者项目中其他的问题,请自行排查。
Fast Mode 为优化开关,降低一部分泛光的质量,来达到的提升性能的效果(移动端的话,强烈推荐打开,其他有些效果也会有Fast Mode的存在,请留意一下)
因为Bloom效果是对全部场景生效的,所以有时候你会感觉人物或者场景物件有辉光很难受。 请把Threshold(阈值)[剔除此亮度水平之下的像素,这个值处于伽马色彩空间]打开,并且数值给1
个人简单粗暴的理解为,就是只要亮度值不要超过1,那么就不会有辉光的产生。
以官方自带的standard材质为例,场景物件和角色的材质球中的的Intensity为0,那么就不会产生辉光效果。
如果要产生辉光,就调Intensity的数值即可。
最终摄像机上应挂着Post-process Layer 和Post-process Volume组件。
其他部分效果部分详细介绍: Ambient Occlusion(环境光遮挡) 它依赖于深度和法线缓冲区使彼此靠近的折痕,孔和表面变暗。在现实生活中,这些区域往往会阻挡或遮挡环境光,因此它们显得更暗。
Bloom(辉光) 来自亮源(如闪光)的光泄漏到周围物体中的光学效应。这是一个非常独特的效果,可以对场景产生很大的影响,可以建造一个神奇或梦幻般的环境,特别是与HDR渲染结合使用时。另一方面,给定适当的设置,也可以使用这种效果来增强照片写实感。在非常明亮的物体上发光是在电影和摄影中观察到的常见现象,其中亮度值差异很大。
Deth of Field (景深) 该效果模拟相机镜头的属性。在现实生活中,相机只能以特定的距离对焦,距离相机更近或更远的物体将会偏离焦点。模糊给出了对象距离的视觉提示。 Motion Blur(运动模糊) 这个效果模拟了大多数摄像机系统的光线随着时间的推移而累积。因此,快速的相机或物体运动将产生模糊的图像
Screen Space Reflection (屏幕空间反射)该效果基于表面粗糙度计算屏幕空间中的反射;
注意:Add effect(添加效果)的效果,调的是Project中Assets文件下你创建的配置文件,因为配置文件实际是在Assets下的,所以正常的Animation记录关键帧是对它没有任何办法的,如果有特殊要求或者开关要求,可以请求程序的帮助。
3、如何指定区域开启Post Processing(如水下效果、山洞效果等) 场景中找到一个摄像机后并选中它,在Inspector界面选择Add Componet。搜寻post-process Layer,然后选择post-process Layer组件
Trigger默认选择的是post-process Layer组件挂载的摄像机。 Layer 选择自己想要的层级,我这里选择了post层级。
如何添加新的层级?
选择一个空着的地方输入你想命名的层级即可。
然后在Hierarchy面板下创建Post-process Volume
可以看到场景中出现一个绿框,这个绿框你可以随意的放大缩小。
此时我们修改Post-process Volume的层级为post
然后在Profile 中点击NEW创建一个配置文件。
创建好后点击Add effect(添加效果) 这里已Bloom为例,我们选择添加bloom。
然后勾选Intensity,并且给予其数值即可。
然后此时你把带有post-process Layer组件的摄像机推到绿色的框框内,你就能看到game视图中有辉光效果了。 不过这样的效果相当于直接瞬间出现和瞬间消失Bloom。 所以给Blend Distance(融合距离)设置一个数值,代表从Volume外多远开始一点点渐变到当前这个效果(根据Post-process Layer组件Trigger属性赋予的Transform来计算)。
这是给完数值后场景中的样子
4、多个摄像机的情况下,使某些摄像机产生或者不产生后期效果 项目中可能会遇到下面的情况,在一个场景下有多个摄像机,但是你后期的插件只挂在了一个摄像机上。 镜头切成其他摄像机的时候发现后期出现效果没有了。 所以此时我们需要把有后期处理效果的摄像机进行设置。
Clear Flags(清除标记)设置为Depth only(只有深度) Culling Mask(剔除遮罩)设置为设置为Nothing(没有什么)
Depth设置一个数,这边随便设置为2。
然后这个摄像机就可以放着不用管了(此时它不参与渲染) 随意创建一个新的摄像机
只要DepthDepth的值,比2小即可,比如0,比如-1等。 这样这个新的摄像机渲染出来的画面就有后期处理效果,如果数值比2大,那么就没有后期处理效果。
注意:因为项目的不同,所以当你如果要用到这种操作时,请和程序沟通和让其测试一下你们项目是否能这么做。 5、官方给出的Post-Processing Stack V2 常规优化 参考链接:
|