懿百动画魔鬼训练营

收藏18
发布新帖
开启左侧

[教程] Unity Post Processing(后期处理教程3.0版本)Bloom 辉光 bloom 外发光

  [复制链接]
八云辉夜 发表于 2021-5-2 10:20:59 | 显示全部楼层 |阅读模式

马上注册,加入CGJOY,让你轻松玩转CGJOY。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Post Processing(后期处理教程)3.0版本(最后修改于2021/5/2)
论坛貌似不能直接把word直接导入然后发贴,图片方面我也不太想用外链,想了想反正图片都要重新上传,索性不如直接开个新帖算了,好了下面开始正题。
未标题-1.png
下面教程适用于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进行下载安装。
1.png

左上角下拉选择All packages,然后从下面的选项中选择Post Processing即可。
43.png
44.png

如果版本较高的,左上角下拉没有All packages,那么就选择Unity Registry,然后在下面找到Post Processing。
41.png

42.png

如何还没显示出来,请查看左下角是否出现,
4.png
Loading Packages..的字样,如果出现就只能耐心等待亦或者开启魔法上网再重开一遍Package Manager。

找到Post Processing后
5.png

选择右下角的Install(安装)按钮进行下载。
6.png

(下图英文分别对应:查看文档/查看更改日志/查看许可证)
7.png

点击下载后会自动进行安装
8.png

最右边出现√符号表示安装完毕。
9.png



2、如何开启Post Processing(全局后期)
已场景中只有一个摄像机(Camera)为例,选中这个摄像机(Camera)。
10.png

Inspector界面选择Add Componet。搜寻post-process Layer,然后选择post-process Layer组件
11.png

然后把摄像机拖入Trigge中,Volume Layer选择Everything(一切)
12.png
(Trigger默认选择的是post-process Layer组件挂载的摄像机。
Volume Layer 下面感叹号的意思为不要选择“所有”或者“默认”它会减慢体积混合过程,

Anti-aliasingpost-process提供的抗锯齿。
13.png
No Antialiasing 不要抗锯齿
FXAA最便宜的抗锯齿,质量差,多用于移动平台。(一般选择FXAA)
SMAA比FXAA具有更高的抗锯齿效果,但是速度也慢。
TAA是一种更高级的抗锯齿,质量更高,消耗更高,建议用在PC端。(自己做作品集可以用TAA)

然后继续在组件中选择post-process Volume
14.png

先勾选Is Global(全局),再点击NEW创建一个配置文件。
15.png
Weight(权重)为后期处理效果强度的权重,0为没有后期效果,1为正常的后期效果,0.5为一半强度的后期效果
可以在Animation记录Weight(权重)的关键帧,来让后期效果在某些时候弱一点或者强一点。

创建好后点击Add effect(添加效果)
16.png

这里已Bloom为例,我们选择添加bloom。
17.png

然后勾选Intensity,并且给予其数值即可。
18.png
同时查看你的game视窗会不会随着值变化而产生亮度变化,
如果不会,可能你上述操作产生了错误,请重新看一遍教程。
还是不对,请开一个新的项目然后创建一个新的摄像机,再按照教程来进行操作。
如果新项目没问题,那么可能是你旧项目的摄像机本身设置的问题,亦或者项目中其他的问题,请自行排查。

Fast Mode 为优化开关,降低一部分泛光的质量,来达到的提升性能的效果(移动端的话,强烈推荐打开,其他有些效果也会有Fast Mode的存在,请留意一下)
19.png

因为Bloom效果是对全部场景生效的,所以有时候你会感觉人物或者场景物件有辉光很难受。
请把Threshold(阈值)[剔除此亮度水平之下的像素,这个值处于伽马色彩空间]打开,并且数值给1
20.png
个人简单粗暴的理解为,就是只要亮度值不要超过1,那么就不会有辉光的产生。

以官方自带的standard材质为例,场景物件和角色的材质球中的的Intensity为0,那么就不会产生辉光效果。
21.png
如果要产生辉光,就调Intensity的数值即可。

最终摄像机上应挂着Post-process Layer 和Post-process Volume组件。
22.png

其他部分效果部分详细介绍:
Ambient Occlusion(环境光遮挡
它依赖于深度和法线缓冲区使彼此靠近的折痕,孔和表面变暗。在现实生活中,这些区域往往会阻挡或遮挡环境光,因此它们显得更暗。

Bloom(辉光
来自亮源(如闪光)的光泄漏到周围物体中的光学效应。这是一个非常独特的效果,可以对场景产生很大的影响,可以建造一个神奇或梦幻般的环境,特别是与HDR渲染结合使用时。另一方面,给定适当的设置,也可以使用这种效果来增强照片写实感。在非常明亮的物体上发光是在电影和摄影中观察到的常见现象,其中亮度值差异很大。

Deth of Field (景深
该效果模拟相机镜头的属性。在现实生活中,相机只能以特定的距离对焦,距离相机更近或更远的物体将会偏离焦点。模糊给出了对象距离的视觉提示。
Motion Blur(运动模糊
这个效果模拟了大多数摄像机系统的光线随着时间的推移而累积。因此,快速的相机或物体运动将产生模糊的图像

Screen Space Reflection (屏幕空间反射该效果基于表面粗糙度计算屏幕空间中的反射;

注意:Add effect(添加效果)的效果,调的是ProjectAssets文件下你创建的配置文件,因为配置文件实际是在Assets下的,所以正常的Animation记录关键帧是对它没有任何办法的,如果有特殊要求或者开关要求,可以请求程序的帮助。
亦或者观看官方教程,20分钟处通过脚本控制效果来自行解决。https://www.bilibili.com/video/BV1SK4y187jj


3、如何指定区域开启Post Processing(如水下效果、山洞效果等
场景中找到一个摄像机后并选中它,在Inspector界面选择Add Componet。搜寻post-process Layer,然后选择post-process Layer组件
23.png

Trigger默认选择的是post-process Layer组件挂载的摄像机。
Layer   选择自己想要的层级,我这里选择了post层级。
24.png

如何添加新的层级?
25.png

26.png

选择一个空着的地方输入你想命名的层级即可。
27.png

然后在Hierarchy面板下创建Post-process Volume
28.png

可以看到场景中出现一个绿框,这个绿框你可以随意的放大缩小。
29.png

此时我们修改Post-process Volume的层级为post
30.png

然后在Profile 中点击NEW创建一个配置文件。
31.png

创建好后点击Add effect(添加效果)
这里已Bloom为例,我们选择添加bloom。
32.png

然后勾选Intensity,并且给予其数值即可。
33.png

然后此时你把带有post-process Layer组件的摄像机推到绿色的框框内,你就能看到game视图中有辉光效果了。
不过这样的效果相当于直接瞬间出现和瞬间消失Bloom。
所以给Blend Distance(融合距离)设置一个数值,代表从Volume外多远开始一点点渐变到当前这个效果(根据Post-process Layer组件Trigger属性赋予的Transform来计算)。
35.png

这是给完数值后场景中的样子
34.png


4、多个摄像机的情况下,使某些摄像机产生或者不产生后期效果
项目中可能会遇到下面的情况,在一个场景下有多个摄像机,但是你后期的插件只挂在了一个摄像机上。
镜头切成其他摄像机的时候发现后期出现效果没有了。
所以此时我们需要把有后期处理效果的摄像机进行设置。

Clear Flags(清除标记)设置为Depth only(只有深度)
Culling Mask(剔除遮罩)设置为设置为Nothing(没有什么)
36.png

Depth设置一个数,这边随便设置为2。
37.png

然后这个摄像机就可以放着不用管了(此时它不参与渲染)
随意创建一个新的摄像机
38.png

只要DepthDepth的值,比2小即可,比如0,比如-1等。
这样这个新的摄像机渲染出来的画面就有后期处理效果,如果数值比2大,那么就没有后期处理效果。
39.png

注意:因为项目的不同,所以当你如果要用到这种操作时,请和程序沟通和让其测试一下你们项目是否能这么做。
5、官方给出的Post-Processing Stack V2 常规优化
40.png
参考链接:
https://www.jianshu.com/p/199242af3ac4 (Unity PostProcessing v2 官方文档翻译)
https://www.jianshu.com/p/6ef38b00eccb (Unity Post-processing后期使用教程)
https://www.bilibili.com/video/av53641372(Unity后处理之Bloom效果)
https://www.bilibili.com/video/av35125512(【Unity泛光效果】后期效果Post-process Bloom)
https://www.bilibili.com/video/av54041586(详解Unity影视渲染后处理技术HDRP)
https://www.bilibili.com/video/BV1SK4y187jjUnity社区直播 Post Processing 后处理的介绍和使用






评分

参与人数 3CGJOY券 +58 收起 理由
CGEFFECT + 18 谢谢分享!CGJOY大家庭需要你!
拉破车 + 20 很详细啊
Noahsyt + 20 谢谢分享!CGJOY大家庭需要你!

查看全部评分


楼主热帖

拉破车发表于 2021-5-2 14:38:07
很详细,感谢楼主的整理,必需给精
lvdaijun发表于 2021-5-2 14:50:26
感谢整理,  灰常感谢!!!
高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则