文章目录
- 前言
- 什么是后处理?
- 场景视图显示后处理效果
- 主相机勾选渲染后处理
- Post-process Volume 和 Volume的区别
- 内置渲染管线的后处理Post-process Volume使用
- 通用渲染管线 (URP)的后处理是Volume的使用
- 文档
- 升级URP
- global volume全局后处理效果
- 泛光 (Bloom)
- 色差 (Chromatic Aberration)
- 颜色调整 (Color Adjustments)
- 颜色曲线 (Color Curves)
- 景深效果 视野模糊效果(Depth OF Field)
- 胶片颗粒感(Film Grain)
- 通道混合器 (Channel Mixer)
- 镜头扭曲失真效果 (Lens Distortion)
- 提升、伽马、增益 (Lift Gamma Gain)
- 运动模糊 (Motion Blur)
- Panini 投影 (Panini Projection)
- 阴影、中间调、高光 (Shadows Midtones Highlights)
- 拆分着色 (Split Toning)
- 色调映射 (Tonemapping)
- 渐晕 (Vignette)
- 白平衡 (White Balance)
- 镜头光晕(Lens Flare) (SRP) 组件
- 环境光遮挡 (Ambient Occlusion)
- 局部后处理
- 移动设备的 URP 中的后期处理
- VR 的 URP 中的后期处理
- 完结
前言
之前我已经实现了不少后处理功能,本文其实就是将他们归类整理,以便更好的查找和理解。
什么是后处理?
在Unity中,后处理(Post-Processing)是在相机所捕捉的图像上应用一些特殊效果的过程,后处理会让图像视觉效果更好(前提是做的好)。
这些效果的范围有非常细微的颜色调整,也包括整体的美术风格的大修,可以让场景看起来更加真实或风格化,或者只是变得更好看。
就像我们都会用手机拍照,但很多时候我们拍的原始的相片都打不到我们想要的效果。比如照片可能亮度不够,颜色不饱和或者对比度不好等。对于这种情况,我们可以在照片拍出来后对其进行调整,让照片看起来更加好看,这个过程就是后处理。
场景视图显示后处理效果
为了方便测试,记得勾选显示后处理效果,默认都是勾选的
主相机勾选渲染后处理
我们先确保Main Camera启用后处理。
Post-process Volume 和 Volume的区别
你如果了解过就会发现后处理貌似好像有两种(Post-process Volume 和 Volume),一开始其实我也疑惑,unity为啥要分两种?经过测试发现,他们其实是支持不同渲染管线的版本
内置渲染管线的后处理是Post-process Volume,
通用渲染管线 (URP)的后处理是Volume
但是URP其实也可以使用Post-process Volume,只是没有效果而已
内置渲染管线的后处理Post-process Volume使用
本文主要还是探究URP后处理的使用,所以这里Post-process Volume的知识就一笔带过了
Post-process Volume使用文档:https://docs.unity.cn/cn/2019.4/Manual/PostProcessing-Antialiasing.html
参考文章说明:【Unity后期渲染】Post Processing 后处理插件最全使用说明
通用渲染管线 (URP)的后处理是Volume的使用
文档
https://docs.unity3d.com/cn/Packages/com.unity.render-pipelines.universal@12.1/manual/post-processing-ssao.html
升级URP
参考:【unity小技巧】为啥我们的模型材质显示粉色?unity普通项目升级URP项目
global volume全局后处理效果
为了实际应用这些新的效果,我们需要添加一个叫做体积(Volume)的东西到场景中。一个Volume指定了场景中的某个特定区域。当相机处于这个Volume中时,后处理会影响到相机渲染的画面。
右键创建一个volume,选择global volume全局生效
可以看到场景中生成了一个名为Global Volume的物体
将由这个物体下的volumel脚本给相机添加后处理特效
泛光 (Bloom)
泛光效果会产生从图像明亮区域边界向外延伸的光线条纹。这种效果给人的感觉是极其明亮的光线压制住了摄像机。
泛光效果还具有镜头脏污 (Lens Dirt) 功能,该功能可用于应用全屏污迹或灰尘层来衍射泛光效果。
效果
色差 (Chromatic Aberration)
“色差”沿着图像明暗分隔边界出现颜色条纹。它可以模仿真实摄像机在镜头无法将所有颜色融合到同一点时产生的颜色失真。
色差效果可以模仿真实摄像机在镜头无法将所有颜色融合到同一点时产生的效果。产生的效果沿着图像明暗分隔边界出现“条纹”。
色差效果的常见用途包括表现艺术效果,如摄像机碰撞
或中毒
效果。Unity 支持红/蓝和绿/紫边纹,并允许使用输入纹理来定义边纹颜色。
Intensity:设置色差效果的强度。值范围在 0 到 1 之间。该值越大,效果越强烈。默认值为 0,表示禁用该效果。
颜色调整 (Color Adjustments)
使用此效果可以调整最终渲染的图像的整体色调、亮度和对比度。
效果
颜色曲线 (Color Curves)
分级曲线是一种在特定范围调整色调、饱和度或亮度的高级方法。通过调整八个可用图形中的曲线,即可实现特定色调替换或使某些亮度降低之类的效果。
景深效果 视野模糊效果(Depth OF Field)
景深 (Depth Of Field) 组件将应用景深效果,可模拟摄像机镜头的焦点属性。在现实生活中,摄像机只能在特定距离的对象上清晰聚焦。距离摄像机更近或更远的对象会失焦。这种模糊效果提供了关于对象距离的视觉提示,并引入了“散景”,这是一种视觉瑕疵,出现在图像失焦的明亮区域周围
高斯景深
散景景深
效果
水下视野模糊效果
胶片颗粒感(Film Grain)
胶片颗粒效果模拟的是摄影胶片的随机光学纹理,这通常是由物理薄膜上存在的小颗粒引起的。
颗粒效果可以模拟了真实摄像机产生的效果,即摄像机胶片中的小颗粒给图像带来未经处理的粗糙效果。
Unity 中提供的颗粒效果基于相干梯度噪点。此效果的常见用途包括模仿电影的明显缺陷;常用于恐怖主题的游戏。
效果
水下效果
通道混合器 (Channel Mixer)
通道混合器效果可以修改每个输入颜色通道对输出通道整体混合的影响。例如,如果增加绿色通道对红色通道整体混合的影响,则最终图像中所有绿色(包括中性/单色)的区域都将偏红色。
镜头扭曲失真效果 (Lens Distortion)
镜头失真效果通过扭曲最终渲染的图片来模拟真实摄像机镜头的形状。
效果
提升、伽马、增益 (Lift Gamma Gain)
此项目可用于执行三向颜色分级。提升、伽马、增益轨迹球遵循 ASC CDL 标准。调整轨迹球上点的位置时会在给定色调范围内将图像色调移向该颜色。使用不同的轨迹球可以影响图像内的不同范围。调整轨迹球下方的滑动条会偏移该范围的颜色亮度。
效果
运动模糊 (Motion Blur)
运动模糊效果可模拟现实世界摄像机在拍摄运动速度比摄像机曝光时间更快的对象时出现在图像中的模糊情况。这种情况通常是由快速移动对象或长曝光时间引起的。赛车游戏等题材通常会夸大运动模糊效果来增强速度感。
通用渲染管线 (URP) 只会使摄像机运动模糊。
旋转非常快的摄像机上的运动模糊
Panini 投影 (Panini Projection)
此效果可帮助您在具有很大视野的场景中渲染透视图。Panini 投影是圆柱投影,这意味着它会使垂直的直线保持垂直。与其他圆柱投影不同,Panini 投影也使穿过图像中心的径向线也保持直线。
效果
阴影、中间调、高光 (Shadows Midtones Highlights)
阴影、中间调、高光效果分别控制渲染的阴影、中间调和高光。与提升、伽马、增益 (Lift, Gamma, Gain) 不同,您可以使用此效果精确定义阴影、中间调和高光的色调范围。
拆分着色 (Split Toning)
此效果会根据亮度值对图像的不同区域进行着色,以帮助您获得更具特色的外观。您可以使用此效果为场景中的阴影和高光添加不同的色调。
色调映射 (Tonemapping)
色调映射是将图像的 HDR 值重新映射到新的值范围的过程,其最常见的用途是使动态范围较低的图像看起来具有较高的范围。
你应该始终添加色调映射器,这基本上可以确保您不会在真正饱或不饱和的区域中丢失颜色定义
渐晕 (Vignette)
在摄影中,“渐晕”一词表示相对于中心朝图像边缘变暗和/或去饱和。在现实生活中,厚的或堆叠的滤镜、二次镜头和不正确的镜头遮光罩通常会产生此效果。您可以使用渐晕将焦点绘制到图像的中心。
渐晕效果使图像的边缘变暗,让图像的中心更亮。在现实世界的摄影技术中,此效果通常是由厚的或堆叠的滤镜、二次镜头和不正确的镜头遮光罩引起的。此效果用于表现艺术效果,例如将焦点绘制到图像的中心。
白平衡 (White Balance)
White Balance 组件应用白平衡效果来消除不真实的偏色,从而使现实生活中显示为白色的对象在最终图像中渲染为白色。还可以使用白平衡在最终渲染中创建整体更冷淡或更温暖的感觉。
镜头光晕(Lens Flare) (SRP) 组件
Unity 的可编程渲染管线 (SRP) 包括 Lens Flare (SRP) 组件,该组件可在场景中渲染镜头光晕。这是 SRP 中与内置渲染管线的 Lens Flare 组件(该组件与 SRP 不兼容)等效的组件。可以将 Lens Flare (SRP) 组件附加到任何游戏对象,但某些属性仅在 Lens Flare (SRP) 组件附加到光源时才会出现。
效果
环境光遮挡 (Ambient Occlusion)
环境光遮挡效果可以使挨着折痕线、小孔、相交线和平行表面的地方变暗。在现实世界中,这些区域往往会阻挡或遮挡周围的光线,因此它们会显得更暗。
URP 将实时屏幕空间环境光遮挡 (Screen Space Ambient Occlusion, SSAO) 效果实现为渲染器功能。
注意:SSAO 效果是一种渲染器功能,独立于 URP 中的后期处理效果。此效果不依赖于体积 (Volumes),也不与体积相互作用。
以下几个图显示的场景分别将环境光遮挡效果关闭、打开以及只有环境光遮挡纹理。
局部后处理
实现上面区域比下面区域亮,记得模式选择局部
如果场景中有其他体积,请更改 Priority 属性的值,确保来自该体积的覆盖具有比其他体积更高的优先级。
效果
移动设备的 URP 中的后期处理
后期处理效果可能会占用大量帧时间。如果在移动设备上使用 URP,默认情况下以下效果对移动设备是最“友好”的:
泛光 (Bloom)(禁用 High Quality Filtering)
色差 (Chromatic Aberration)
颜色分级 (Color Grading)
镜头失真 (Lens Distortion)
渐晕 (Vignette)
注意:对于景深,Unity 建议您对低端设备使用高斯景深 (Gaussian Depth of Field)。对于游戏主机和桌面平台,请使用散景景深 (Bokeh Depth of Field)。
注意:对于移动平台上的抗锯齿,Unity 建议使用 FXAA。
VR 的 URP 中的后期处理
在 VR 应用程序和游戏中,某些后期处理效果会导致用户恶心和迷失方向。要减少快节奏或高速应用程序中产生的晕动症,请对 VR 使用渐晕效果,并避免对 VR 使用镜头失真、色差和运动模糊效果。
完结
赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注
,你的每一次支持
都是我不断创作的最大动力。当然如果你发现了文章中存在错误
或者有更好的解决方法
,也欢迎评论私信告诉我哦!
好了,我是向宇
,https://xiangyu.blog.csdn.net
一位在小公司默默奋斗的开发者,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!如果你遇到任何问题,也欢迎你评论私信找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~