Unity后处理详解
参考
Effect List | Universal RP | 14.0.9 (unity3d.com)
教程使用版本Unity 2022.3.8f1
示例工程资产 : Art Gallery Museum VR | 3D 环境 | Unity Asset Store
Unity后处理是什么
后处理可以理解为照片的滤镜,Unity官方提供的一套后处理工具,用于增强游戏画面效果。它包含了一系列用于调整色彩、对比度、模糊、深度效果和其他图像效果的工具。
如何安装
内置渲染管线需要单独安装 Post-processing插件包,详细安装教程请移步Unity Build-in渲染管线后处理插件使用介绍 - Aiferu
URP与HDRP都内置了后处理组件,不需要导入额外的包
此处介绍URP通用渲染管线中后处理的配置与使用
新建一个空物体,命名为GlobalVolume
,空物体名称可随意,并添加Volume组件.
点击Volume组件中Profile属性右边的New按钮,此时,将会自动创建一个后处理配置文件.
创建成功后
点击AddOverride
,就能添加对应的后处理功能
别忘了在需要被后处理影响的相机上勾选Post Porcessing
现在,你已经学会了如何在URP渲染管线中使用后处理啦!!!!!
接下来看看后处理都有哪些功能
后处理功能详解
Bloom(辉光)
通过上图可知,Bloom的作用和它的名字一样,就是将画面中比较亮的区域扩散到周围,模拟摄影中的辉光效果
参数详解
Threshold : 确定辉光范围的阈值
计算机在存储图像的时候,其实就是将一个个像素点的颜色值存储下来,当一个像素的明度大于我们设定的阈值时,就将此像素划入辉光计算范围Intensity : 辉光的强度
Scatter : 辉光散射的半径
Tint : 辉光的底色
最终颜色会是像素颜色与底色混合之后的颜色Clamp : 钳制最大明度值
设置Unity用于计算Bloom的最大强度。如果场景中的像素比这个更强烈,URP会以当前的强度渲染它们,但会使用这个强度值来进行Bloom计算High Quality Filtering : 高质量滤波
使用双三次采样(bicubic sampling)代替双线性采样(bilinear sampling)进行上采样过程。这样做稍微更加耗费计算资源,但可以获得更平滑的视觉效果Downscale : 降采样
设置开始计算辉光的启始分辨率,可以选择Half(一半)或Quarter(四分之一)Max Iterations : 最大迭代次数
效果处理序列中的最大迭代次数.迭代次数越大,消耗性能越高,模糊效果越好,但是有边际效应Lines Dirt : 镜头污垢
Dirt Texture : 使用纹理为镜头应用污垢效果(如污迹或灰尘)
Dirt Intensity : 设置镜头污垢的强度
此处留一张教程中使用到的污垢图片
Channel Mixer (通道混合器)
通道混合器可以在对应的通道添加对应的颜色
以下参数为默认绿色的参数
如果现在我们需要给我们的蓝色通道添加一点绿色,改成下面的参数即可
这个时候你就会发现,场景变绿了,但是红色的东西并未受影响,因为我们只更改了蓝色,向蓝色通道叠加了绿色
我们再将Blue的颜色改成-200试试
此时你就会发现,原本叠加绿色变成了叠加绿色的对比色(品红),但此时红色依旧未被影响
经过测试,我们得出结论
通道混合器可以在对应的通道添加对应的颜色
你可以自己去试试看,加深理解
Chromatic Aberration (色差)
模拟镜头色差
参数详解
Intensity : 强度
镜头色差的强度
Color Adjustment (颜色调整)
参数详解
Post Exposure : 曝光补偿
Contrast : 对比度
Color Filter : 颜色滤镜
将最终颜色乘以我们输入的颜色Hue Shift : 色相转换
类似PS中的色相转换,只是他并没有显示色轮Saturation : 饱和度
Color Curves (颜色曲线)
与PS的曲线工具类似,有多种模式
参数详解
Master :
这条曲线影响整个图像的亮度。图表的 x 轴表示输入亮度,y 轴表示输出亮度。您可以使用它来进一步调整基本属性(如对比度和亮度),同时影响所有色彩通道的外观。Red :
这条曲线影响整个图像中红色通道的强度。图表的 x 轴表示输入强度,y 轴表示红色通道的输出强度。Green :
这条曲线影响整个图像中绿色通道的强度。图表的 x 轴表示输入强度,y 轴表示红色通道的输出强度。Blue :
这条曲线影响整个图像中蓝色通道的强度。图表的 x 轴表示输入强度,y 轴表示红色通道的输出强度。Hue vs Hue :
这条曲线根据输出色调(y 轴)来调整输入色调(x 轴)。您可以使用它来微调特定范围的色调或进行颜色替换。Hue vs Sat :
这条曲线根据输入色调(x 轴)调整饱和度(y 轴)。您可以使用它来降低特别亮的区域的饱和度,或创建艺术效果,例如单色调,除了一个主导色。Sat vs Sat :
这条曲线根据输入饱和度(x 轴)调整饱和度(y 轴)。您可以使用它来微调使用Color Adjustment进行的饱和度调整。Lum vs SatLum vs Sat :
这条曲线根据输入亮度(x 轴)调整饱和度(y 轴)。您可以使用它来降低暗部区域的饱和度,以提供有趣的视觉对比效果。
Color Lookup (颜色查找)
读取LUT贴图,可以矫正颜色,或直接导入你在其他软件中的颜色调整设置
LUT 技术正如字面的意思,查找表,就是将原先的像素颜色通过LUT图映射到新的颜色。
LUT图大小,并不是固定的,可以根据项目需要自定义不同大小的LUT图,不同像素大小的LUT图,只需要在采样LUT图时,根据像素大小不同,采样不同,原理也是相同的。网上常见的一种是长方向形256x16,一种是正方形512x512
详细的LUT介绍,请移步调色名词浅析——LUT - 知乎 (zhihu.com)
下图为一张LUT贴图 :
参数详解
Lookup Texture : 输入一张LUT贴图
Contribution : 贡献,可以理解为权重
Depth Of Field (景深)
模拟摄像机的景深效果
景深有两个模式,此处分开说明
Gaussian Depth of Field (高斯景深)
高斯模式: 这种模式近似于摄像机效果,但不能完全模仿它们。它有一个有限的模糊半径,只做远场模糊。这种模式是最快的,也是低端平台的最佳模式。
Start : 开始距离
设置远场模糊到达最大模糊半径时与相机的距离End : 结束距离
设置远场模糊到达最大模糊半径时与相机的距离Max Radius : 最大半径
设置远程模糊可以达到的最大半径。默认值为1
注意:超过1的值可能会导致场景中出现视觉欠采样的伪影。如果您的模糊效果不平滑或者看起来有静态噪声,请尝试将该值减小到1或更低的数值High Quality Sampling : 高质量采样
使用更高质量的采样来减少闪烁,提高整体模糊的平滑度,这可能会导致一些性能成本
Bokeh Depth of Field (博肯景深)
Bokeh: 一个较慢但质量较高的模式,密切模仿现实生活中的照相机的效果。它可以做近场和远场模糊,并产生散景在高亮度强度的地区,也称为热点。
Focus Distance : 焦点距离
设置相机到焦点的距离
Focal Length : 焦距
设置相机传感器和相机镜头之间的距离,单位为毫米。数值越大,景深越浅
Aperture : 光圈
设置光圈比例(也称为F值或光圈数)。数值越小,景深越浅
Blade Count : 叶片数量
使用滑块设置相机使用的光圈叶片数量,以形成光圈。使用更多的叶片,背景虚化效果会更圆润。从左到右: 3,4,5,6
Blade Curvature : 叶片曲率
使用滑块设置相机使用的光圈叶片的曲率,以形成光圈。数值越小,光圈叶片越明显可见。数值为1时,背景虚化效果呈现完美的圆形
叶片曲率值1(左)和0(右)
Blade Rotation : 叶片旋转
使用滑块设置光圈叶片的旋转角度(以度为单位)
Film Grain (胶片颗粒)
参数详解
Type : 类型
使用下拉菜单选择要使用的颗粒类型。您可以从URP包含的预设列表中选择,或选择自定义以提供自己的颗粒纹理
Intensity : 强度
使用滑块来设置胶片颗粒效果的强度
Response : 响应
使用滑块来设置噪声响应曲线。你设置的数值越高,较亮区域的噪声就越少
响应值1(左)和0(右)
Lens Distortion (镜头畸变)
OFF
ON
参数详解
Intensity : 强度
X Multiplier : 使用滑块来设置x轴上的畸变强度。该值作为一个乘数,因此您可以将该值设置为0以禁用该轴上的畸变
Y Multiplier : 使用滑块来设置y轴上的畸变强度。该值作为一个乘数,因此您可以将该值设置为0以禁用该轴上的畸变
Center : 畸变的中心点
Scale : 缩放
请使用滑块设置全局屏幕缩放的值。这将缩放渲染以隐藏屏幕的边框。当使用高扭曲度时,屏幕边缘的像素可能会破裂,因为它们依赖于屏幕边界外不存在的像素的信息。这个属性对于隐藏屏幕边缘周围的这些破碎像素非常有用
Lift Gamma Gain (提升,伽马,增益)
这里列出与下文的Shadows Midtones Highlights的区别
"Lift Gamma Gain"(简称LGG)和"Shadows Midtones Highlights"(简称SMH)是两种用于图像调整的工具,它们有一些区别。
- 功能:LGG主要用于调整图像的亮度和对比度,而SMH则用于调整图像的阴影、中间调和高光部分。
- 范围:LGG通常提供了更广泛的调整范围,允许用户分别调整图像的亮度、中间调和阴影。它可以通过调整亮度、对比度和色彩来改变整个图像的外观。相比之下,SMH更专注于调整图像的阴影、中间调和高光部分,使得用户可以更精细地控制图像的局部细节。
- 控制方式:LGG通常使用三个参数:Lift(提升)、Gamma(伽马)和Gain(增益),分别控制图像的阴影、中间调和高光部分。通过调整这些参数,用户可以改变图像的整体亮度和对比度。SMH通常使用三个参数:Shadows(阴影)、Midtones(中间调)和Highlights(高光),分别控制图像的阴影、中间调和高光部分的亮度和对比度。
总的来说,LGG和SMH是两种不同的工具,用于不同的图像调整任务。LGG更适合整体亮度和对比度的调整,而SMH更适合局部细节的调整,特别是对图像的阴影、中间调和高光部分进行微调。
中间的轨迹球用来调整对应的颜色偏移
下面的滑条用来提高或降低对应的亮度
Motion Blur (运动模糊)
OFF
ON
参数详解
Quality : 质量
Intensity : 强度
Clamp : 钳制
设置由相机旋转产生的速度的最大长度。这将限制高速度下的模糊效果,以避免过高的性能开销。该值以屏幕完整分辨率的一部分作为单位进行测量。取值范围为0到0.2。默认值为0.05。较低的值可以提供更高的性能
Panini Projection (帕尼尼投影)
Panini投影是一种用于将球面上的图像投影到平面上的投影方法。它基于Panini透视相机模型,该模型是由意大利画家Giovanni Paolo Panini在18世纪开发的。Panini投影在计算机图形学和全景摄影中得到广泛应用。
与传统的透视投影不同,Panini投影可以更好地保持球面上的形状和尺度。它通过将球面上的图像拉伸和压缩,使得远离中心的区域更大,而靠近中心的区域更小。这种投影方法可以产生具有广角效果的图像,使观察者感觉自己置身于球面上。
OFF
ON
参数详解
Dietance : 变形强度
Crop To Fit : 请使用滑块将畸变裁剪以适应屏幕。值为1时,将畸变裁剪到屏幕边缘,但如果将距离设置为较高的值,则中心部分会失去精度
Shadows Midtones Highlights (阴影,中间调,高光)
"阴影、中间调和高光效果(Shadows Midtones Highlights)可以分别控制渲染图像中的阴影、中间调和高光部分。与Lift、Gamma和Gain不同,您可以使用这个效果来精确定义阴影、中间调和高光的色调范围。"
上面的轨迹球用来调整对应的颜色偏移
下面的滑条用来提高或降低对应的亮度
Graph view : 这个图表显示了阴影(蓝色)、中间调(绿色)和高光(黄色)的整体贡献。这对于可视化色调区域之间的过渡非常有用。
Shader Limits : 阴影限制
设置渲染的阴影与中间调之间过渡的起始点与终点Highlight Limits : 高光限制
设置渲染的中间调与高光之间过渡的起始点与终点
Split Toning (分离色调)
这个效果根据亮度值给图像的不同区域着色,帮助您实现更独特的外观。您可以使用它来为场景中的阴影和高光添加不同的色调。
参数详解
Shadows : 阴影颜色
Highlight : 高光颜色
Balace : 使用滑块来设置阴影和高光之间的平衡。较低的值会导致与高光调色相比更明显的阴影调色。较高的值则会产生相反的效果,高光调色会比阴影调色更明显。
Tonemapping (色调映射)
Tonemapping 用于将高动态范围(HDR)图像或场景转换为较低动态范围(LDR)的表示形式,以便在具有有限动态范围的设备上显示
参数详解
Mode:
Neutral : 使用此选项,如果您只想进行范围重映射,并对色调和饱和度的影响最小。这通常是进行广泛色彩分级的良好起点。
ACES : 使用此选项可以应用与参考ACES色调映射器相似的近似效果,以获得更具电影感的外观。它比"Neutral"选项更具对比度,并对实际色调和饱和度产生影响。如果使用此色调映射器,Unity将在ACES色彩空间中执行所有分级操作,以获得最佳的精确度和结果。
注意:不支持在搭载Adreno 300系列GPU的Android设备上使用ACES HDR色调映射。
Vignette (暗角)
参数详解
Color : 暗角颜色
Center : 中心位置
Intensity : 暗角强度
Smoothness : 平滑过渡,暗角边缘的过渡
Rounded : 圆形
启用时,暗角的形状为圆形,不启用时,暗角为与屏幕等比例的椭圆
White Balance (白平衡)
使用白平衡将场景调整成冷色调
参数详解
Temperature : 调整色温
Tint : 使用滑块来补偿绿色或品红色
Lens Flare (镜头炫光)
镜头炫光并不包含在Post Volume中,而是一个单独的组件,此处先挖个坑,之后填