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组件.

image-20240102110400657

点击Volume组件中Profile属性右边的New按钮,此时,将会自动创建一个后处理配置文件.

image-20240102110640552

创建成功后

image-20240102110909290

点击AddOverride,就能添加对应的后处理功能

image-20240102111051497

别忘了在需要被后处理影响的相机上勾选Post Porcessing

image-20240102111355834

现在,你已经学会了如何在URP渲染管线中使用后处理啦!!!!!

接下来看看后处理都有哪些功能

后处理功能详解

Bloom(辉光)

image-20240102114747271

通过上图可知,Bloom的作用和它的名字一样,就是将画面中比较亮的区域扩散到周围,模拟摄影中的辉光效果

参数详解

image-20240102120813547

Threshold : 确定辉光范围的阈值

计算机在存储图像的时候,其实就是将一个个像素点的颜色值存储下来,当一个像素的明度大于我们设定的阈值时,就将此像素划入辉光计算范围

Intensity : 辉光的强度

Scatter : 辉光散射的半径

Tint : 辉光的底色

最终颜色会是像素颜色与底色混合之后的颜色

Clamp : 钳制最大明度值

设置Unity用于计算Bloom的最大强度。如果场景中的像素比这个更强烈,URP会以当前的强度渲染它们,但会使用这个强度值来进行Bloom计算

High Quality Filtering : 高质量滤波

使用双三次采样(bicubic sampling)代替双线性采样(bilinear sampling)进行上采样过程。这样做稍微更加耗费计算资源,但可以获得更平滑的视觉效果

Downscale : 降采样

设置开始计算辉光的启始分辨率,可以选择Half(一半)或Quarter(四分之一)

Max Iterations : 最大迭代次数

效果处理序列中的最大迭代次数.迭代次数越大,消耗性能越高,模糊效果越好,但是有边际效应

Lines Dirt : 镜头污垢

Lens Dirt

image-20240102143225546

Dirt Texture : 使用纹理为镜头应用污垢效果(如污迹或灰尘)

Dirt Intensity : 设置镜头污垢的强度

此处留一张教程中使用到的污垢图片

Search - dirt

Channel Mixer (通道混合器)

通道混合器可以在对应的通道添加对应的颜色

以下参数为默认绿色的参数

image-20240102145327992

如果现在我们需要给我们的蓝色通道添加一点绿色,改成下面的参数即可

image-20240102145436216

这个时候你就会发现,场景变绿了,但是红色的东西并未受影响,因为我们只更改了蓝色,向蓝色通道叠加了绿色

image-20240102145635550

我们再将Blue的颜色改成-200试试

image-20240102145827222

此时你就会发现,原本叠加绿色变成了叠加绿色的对比色(品红),但此时红色依旧未被影响

image-20240102150106011

经过测试,我们得出结论

通道混合器可以在对应的通道添加对应的颜色

你可以自己去试试看,加深理解

Chromatic Aberration (色差)

模拟镜头色差

image-20240102150614683

参数详解

image-20240102150733248

Intensity : 强度

镜头色差的强度

Color Adjustment (颜色调整)

参数详解

img

Post Exposure : 曝光补偿

Contrast : 对比度

Color Filter : 颜色滤镜

将最终颜色乘以我们输入的颜色

Hue Shift : 色相转换

类似PS中的色相转换,只是他并没有显示色轮

Saturation : 饱和度

Color Curves (颜色曲线)

与PS的曲线工具类似,有多种模式

参数详解

img

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贴图 :

Spark LUT patch | spark-lut-patch

参数详解

image-20240102155207935

Lookup Texture : 输入一张LUT贴图

Contribution : 贡献,可以理解为权重

Depth Of Field (景深)

模拟摄像机的景深效果

景深有两个模式,此处分开说明

Gaussian Depth of Field (高斯景深)

Gaussian Depth Of Field

高斯模式: 这种模式近似于摄像机效果,但不能完全模仿它们。它有一个有限的模糊半径,只做远场模糊。这种模式是最快的,也是低端平台的最佳模式。

img

Start : 开始距离

设置远场模糊到达最大模糊半径时与相机的距离

End : 结束距离

设置远场模糊到达最大模糊半径时与相机的距离

Max Radius : 最大半径

设置远程模糊可以达到的最大半径。默认值为1
注意:超过1的值可能会导致场景中出现视觉欠采样的伪影。如果您的模糊效果不平滑或者看起来有静态噪声,请尝试将该值减小到1或更低的数值

High Quality Sampling : 高质量采样

使用更高质量的采样来减少闪烁,提高整体模糊的平滑度,这可能会导致一些性能成本

Bokeh Depth of Field (博肯景深)

Bokeh: 一个较慢但质量较高的模式,密切模仿现实生活中的照相机的效果。它可以做近场和远场模糊,并产生散景在高亮度强度的地区,也称为热点。

img

Focus Distance : 焦点距离

设置相机到焦点的距离

Focal Length : 焦距

设置相机传感器和相机镜头之间的距离,单位为毫米。数值越大,景深越浅

Aperture : 光圈

设置光圈比例(也称为F值或光圈数)。数值越小,景深越浅

Blade Count : 叶片数量

img

使用滑块设置相机使用的光圈叶片数量,以形成光圈。使用更多的叶片,背景虚化效果会更圆润。从左到右: 3,4,5,6

Blade Curvature : 叶片曲率

使用滑块设置相机使用的光圈叶片的曲率,以形成光圈。数值越小,光圈叶片越明显可见。数值为1时,背景虚化效果呈现完美的圆形

img

叶片曲率值1(左)和0(右)

Blade Rotation : 叶片旋转

使用滑块设置光圈叶片的旋转角度(以度为单位)

Film Grain (胶片颗粒)

image-20240102162821125

参数详解

img

Type : 类型

使用下拉菜单选择要使用的颗粒类型。您可以从URP包含的预设列表中选择,或选择自定义以提供自己的颗粒纹理

Intensity : 强度

使用滑块来设置胶片颗粒效果的强度

Response : 响应

使用滑块来设置噪声响应曲线。你设置的数值越高,较亮区域的噪声就越少

img

响应值1(左)和0(右)

Lens Distortion (镜头畸变)

OFF

Lens Distortion off

ON

img

参数详解

img

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)是两种用于图像调整的工具,它们有一些区别。

  1. 功能:LGG主要用于调整图像的亮度和对比度,而SMH则用于调整图像的阴影、中间调和高光部分。
  2. 范围:LGG通常提供了更广泛的调整范围,允许用户分别调整图像的亮度、中间调和阴影。它可以通过调整亮度、对比度和色彩来改变整个图像的外观。相比之下,SMH更专注于调整图像的阴影、中间调和高光部分,使得用户可以更精细地控制图像的局部细节。
  3. 控制方式:LGG通常使用三个参数:Lift(提升)、Gamma(伽马)和Gain(增益),分别控制图像的阴影、中间调和高光部分。通过调整这些参数,用户可以改变图像的整体亮度和对比度。SMH通常使用三个参数:Shadows(阴影)、Midtones(中间调)和Highlights(高光),分别控制图像的阴影、中间调和高光部分的亮度和对比度。

总的来说,LGG和SMH是两种不同的工具,用于不同的图像调整任务。LGG更适合整体亮度和对比度的调整,而SMH更适合局部细节的调整,特别是对图像的阴影、中间调和高光部分进行微调。

img

中间的轨迹球用来调整对应的颜色偏移

下面的滑条用来提高或降低对应的亮度

Motion Blur (运动模糊)

OFF

img

ON

img

参数详解

img

Quality : 质量

Intensity : 强度

Clamp : 钳制

设置由相机旋转产生的速度的最大长度。这将限制高速度下的模糊效果,以避免过高的性能开销。该值以屏幕完整分辨率的一部分作为单位进行测量。取值范围为0到0.2。默认值为0.05。较低的值可以提供更高的性能

Panini Projection (帕尼尼投影)

Panini投影是一种用于将球面上的图像投影到平面上的投影方法。它基于Panini透视相机模型,该模型是由意大利画家Giovanni Paolo Panini在18世纪开发的。Panini投影在计算机图形学和全景摄影中得到广泛应用。

与传统的透视投影不同,Panini投影可以更好地保持球面上的形状和尺度。它通过将球面上的图像拉伸和压缩,使得远离中心的区域更大,而靠近中心的区域更小。这种投影方法可以产生具有广角效果的图像,使观察者感觉自己置身于球面上。

OFF

Panini Projection off

ON

Panini Projection on

参数详解

img

Dietance : 变形强度

Crop To Fit : 请使用滑块将畸变裁剪以适应屏幕。值为1时,将畸变裁剪到屏幕边缘,但如果将距离设置为较高的值,则中心部分会失去精度

Shadows Midtones Highlights (阴影,中间调,高光)

"阴影、中间调和高光效果(Shadows Midtones Highlights)可以分别控制渲染图像中的阴影、中间调和高光部分。与Lift、Gamma和Gain不同,您可以使用这个效果来精确定义阴影、中间调和高光的色调范围。"

img

上面的轨迹球用来调整对应的颜色偏移

下面的滑条用来提高或降低对应的亮度

Graph view : 这个图表显示了阴影(蓝色)、中间调(绿色)和高光(黄色)的整体贡献。这对于可视化色调区域之间的过渡非常有用。

Shader Limits : 阴影限制

设置渲染的阴影与中间调之间过渡的起始点与终点

Highlight Limits : 高光限制

设置渲染的中间调与高光之间过渡的起始点与终点

Split Toning (分离色调)

这个效果根据亮度值给图像的不同区域着色,帮助您实现更独特的外观。您可以使用它来为场景中的阴影和高光添加不同的色调。

参数详解

img

Shadows : 阴影颜色

Highlight : 高光颜色

Balace : 使用滑块来设置阴影和高光之间的平衡。较低的值会导致与高光调色相比更明显的阴影调色。较高的值则会产生相反的效果,高光调色会比阴影调色更明显。

Tonemapping (色调映射)

Tonemapping 用于将高动态范围(HDR)图像或场景转换为较低动态范围(LDR)的表示形式,以便在具有有限动态范围的设备上显示

参数详解

img

Mode:

Neutral : 使用此选项,如果您只想进行范围重映射,并对色调和饱和度的影响最小。这通常是进行广泛色彩分级的良好起点。

ACES : 使用此选项可以应用与参考ACES色调映射器相似的近似效果,以获得更具电影感的外观。它比"Neutral"选项更具对比度,并对实际色调和饱和度产生影响。如果使用此色调映射器,Unity将在ACES色彩空间中执行所有分级操作,以获得最佳的精确度和结果。
注意:不支持在搭载Adreno 300系列GPU的Android设备上使用ACES HDR色调映射。

Vignette (暗角)

image-20240102174207736

参数详解

img

Color : 暗角颜色

Center : 中心位置

Intensity : 暗角强度

Smoothness : 平滑过渡,暗角边缘的过渡

Rounded : 圆形

启用时,暗角的形状为圆形,不启用时,暗角为与屏幕等比例的椭圆

image-20240102174609359

White Balance (白平衡)

使用白平衡将场景调整成冷色调

image-20240102175054082

参数详解

img

Temperature : 调整色温

Tint : 使用滑块来补偿绿色或品红色

Lens Flare (镜头炫光)

镜头炫光并不包含在Post Volume中,而是一个单独的组件,此处先挖个坑,之后填

最后修改:2024 年 01 月 03 日
如果觉得我的文章对你有用,请随意赞赏