在Unity中,你可以选择不同的渲染管道。渲染管道执行一系列获取场景内容的操作,并在屏幕上显示它们。在高水平上,这些操作包括:Culling,Rendering,Post-processing。不同的渲染管道具有不同的功能和性能特征,适用于不同的游戏、应用和平台。
Unity提供了以下渲染管道:
因为是在unity 2019之后,把之前的LWRP改成了URP(通用渲染管线),因此本节的Post-processing是需要在unity 2019之后的版本使用的,我使用的是2019.3。本文章主要讲,怎么在URP渲染管线中使用Post-processing,以及这些Post-processing的介绍。
1.新建一个GameObject,并且改名为Post-precessing:
2.给新建的GameObject添加一个Volume组件:
3.新建一个文件夹,并增加一个Volume Profire,并改名为URPVolumeProfile:
4.在Volume中把profile栏选中我们刚刚创建的Volume Profile:
5.之后就可以在Volume下面增加我们需要的Post-processing了:
下面分别介绍这些效果:
Property | Function |
---|---|
Intensity | Set the strength of the Bloom filter. |
Threshold | Set the level of brightness to filter out pixels under this level. This value is expressed in gamma-space. |
Soft Knee | Set the gradual threshold for transitions between under/over-threshold (0 = hard threshold, 1 = soft threshold). |
Clamp | Set the value for clamping pixels to control the Bloom amount. This value is expressed in gamma-space. |
Diffusion | Set the extent of veiling effects in a screen resolution-independent fashion. |
Anamorphic Ratio | Set the ratio to scale the Bloom vertically (in range [-1,0]) or horizontally (in range [0,1]). This emulates the effect of an anamorphic lens. |
Color | Select the color of the tint of the Bloom filter. |
Fast Mode | Enable this checkbox to boost performance by lowering the Bloom effect quality. |
Dirtiness settings:
Property | Function |
---|---|
Texture | Select a Dirtiness texture to add smudges or dust to the lens. |
Intensity | Set the amount of lens dirtiness. |
比方说调整Red对Red的影响 值从默认的100 调整到150:
效果:
Property | Description |
---|---|
Post Exposure | 调整场景的EV(不是EV100)整体曝光。URP在HDR效应之后和tonemapping之前应用它,这意味着它不会影响链中之前的效应。 |
Contrast | 使用滑块扩展或缩小色调值的整体范围。较大的正值将扩展色调范围,较低的负值将缩小色调范围。 |
Color Filter | 使用颜色选择器来选择颜色调整效果应该使用的颜色来倍增渲染和着色结果。 |
Hue Shift | 使用滑块移动所有颜色的色调。 |
Saturation | 使用滑块来推动所有颜色的强度。 |
调整一下曝光度与饱和度效果:
比方说我们调整红色的曲线:
Property | Description |
---|---|
Type | 使用下拉菜单选择要使用的纹理类型。您可以从URP包含的预设列表中选择,或者选择Custom来提供您自己的纹理。 |
Texture | 指定一个纹理,这个效果使用自定义纹理。此属性仅在类型设置为Custom时可用。 |
Intensity | 使用滑块设置胶片颗粒效果的强度。 |
Response | 使用滑块设置噪声响应曲线。这个值设置得越高,亮度较高的区域的噪音就越小。 |
测试0.81的强度效果如下:
0.75的强度效果如下:
Property | Description |
---|---|
Lift | 用这个来控制暗色调。这对阴影有更夸张的效果。 •使用轨迹球来选择URP应该将暗色调的色调转换到哪一种颜色。 •使用滑块来抵消轨迹球颜色的颜色亮度。 |
Gamma | 使用这来控制与权力功能的中音。 •使用轨迹球来选择URP应该使用的颜色来改变中间色调的色调。 •使用滑块来抵消轨迹球颜色的颜色亮度。 |
Gain | 使用这个来增加信号和使高光更亮。 •使用轨迹球来选择URP用来将高光调成的颜色。 •使用滑块来抵消轨迹球颜色的颜色亮度。 |
比方说调整lift向绿色的方向:
Panini Projection:这个效果可以帮助你在一个非常大的场景中渲染透视视图。Panini Projection是一个圆柱形投影,这意味着它保持垂直的直线笔直和垂直。与其他圆柱形投影不同,Panini Projection使穿过图像中心的放射线也保持直线。
distance 0.5效果对比,发现中心向外凸:
测试:
可以看到,不同的亮度,被调整成了不一样的颜色
Property | Description |
---|---|
Shadows | 使用颜色选择器来选择URP用于着色阴影的颜色。 |
Highlights | 使用颜色选择器选择URP用于高光着色的颜色。 |
Balance | 使用滑块来设置阴影和高光之间的平衡。较低的值导致更明显的阴影色调比突出色调。较高的值会产生相反的效果,与阴影色调相比,突出色调更明显。 |
我们把shadows改成黑色。发现阴影部分更加黑了:
可以选择的颜色分级的调色算法:
None:如果你不想使用调音,请使用此选项。
Natural:如果你只想对色调和饱和度影响最小的范围重新映射,请使用此选项。对于广泛的颜色分级来说,这通常是一个好的起点。
ACES:使用这个选项来应用一个接近ace调音器的参考,为一个更电影的外观。它比中性的对比度更强,并且对实际的颜色色相和饱和度有影响。如果你使用这个调色器,Unity会在ACES的颜色空间中完成所有的分级操作,以获得最佳的精度和结果。
以下是没有使用ACES效果与使用过的效果的对比,后面的是有使用的。
Property | Description |
---|---|
Color | 使用颜色选择器设置晕光的颜色。 |
Center | 设置中心点。供参考,屏幕中心为[0.5,0.5]。 |
Intensity | 强度 |
Smoothness | 使用滑块设置小装饰边框的平滑度。值的范围在0.01和1之间。值越高,晕线边界越平滑。默认值是0.2。 |
Rounded | 当启用时,插图是完美的圆形。禁用后,将与当前宽高比上的形状匹配。 |
Property | Description |
---|---|
Temperature | 使用滑块将白平衡设置为自定义颜色温度。值越高,颜色温度越高,值越低,颜色温度越低。有关色温的更多信息,请参阅维基百科:色平衡。 |
Tint | 使用滑块来补偿绿色或品红色调。 |
以下是调整色调更暖的测试:
也是本着学习的态度,看看unity新出的URP后处理有哪些效果,顺便记录一下,供以后使用参考。更详细的信息,请参考:
Universal Render Pipeline介绍:
https://docs.unity3d.com/Packages/[email protected]/manual/Post-Processing-White-Balance.html
Effect:
https://docs.unity3d.com/Packages/[email protected]/manual/Chromatic-Aberration.html
通用后处理:
https://docs.unity3d.com/Manual/PostProcessingOverview.html
视频教程:
https://connect.unity.com/p/unity-2020tong-yong-xuan-ran-guan-xian-de-hou-qi-chu-li
https://www.bilibili.com/video/BV1TE41147df?from=search&seid=4250999508380100187