unity | 后处理篇

unity|后处理篇
前言
一、Post-Processing
1、 Post-Processing的使用
2、Post-Processing后处理效果
抗锯齿
①、Ambient Occlusion 环境光遮蔽
②、Auto Exposure 自动曝光
③、Bloom 辉光/泛光
④、Chromatic Aberration | 色差
⑤、Color Grading 色调/颜色分级
⑥、Depth Of Field 景深
⑦、Grain
⑧、Lens Distortion 镜头变形失真
⑨、Motion Blur 运动模糊
⑩、Screen Space Reflections 屏幕空间反射
11、Vignette 渐晕
二、内置管线中OnRenderImage()方法实现
前言
在unity中实现后处理效果大致有两种方式,一种是通过插件的方式,常用的方法就是使用unity内置的插件Post-Processing。第二种方式就是使用脚本获取到渲染后帧缓冲区的图像,再通过shader写后处理的效果,最后合并输出图像到屏幕上。

这里记录的后处理全部基于unity内置渲染管线展开,URP渲染管线和内置渲染管线的后处理方式会有些许差异。post-processing在内置渲染管线和URP渲染管线中也是会有一些差异的,具体可以去看官方文档。
第二种方式是使用unity内置的方法OnRenderImage()这个方法实现,但是这个方法是在unity内置渲染管线中的,在URP渲染管线中并不会生效,当然在URP中也有替代方法去实现,这里不考虑这个。

一、Post-Processing
更详细具体可以看unity中Post-Processing官方文档

1、 Post-Processing的使用
①、安装插件。
window->Packages Manager->Post-Processing->install。
②、创建文件和添加组件。
创建Post-Processing Profile文件;新建空游戏物体,并且添加Post Process Volume组件;在相机上添加Post Process Layer组件。
③、设置层级Layer。
添加了Post Process Volume组件游戏物体、添加Post Process Layer组件的相机的层级都设置为同一个层级,如设置层级为post-Processing。
并且在Layer组件中设置的Layer也要一致。

④、挂载文件。
在Post Process Volume组件中挂载一开始创建的post-processing profile文件。
如果需要效果应用全局需要把Is Global勾选上。

⑤、添加后处理效果。
在Post Process Volume组件中,点击Add Effect -> Unity -> (后处理效果)。
2、Post-Processing后处理效果
抗锯齿
unity默认的抗锯齿设置在Edit -> Project Settings ->Quality中设置。
而Post-Processing的抗锯齿,是在相机中的Post Process Layer组件Anti - Aliasing。(抗锯齿的效果不是在Post Process Volume组件中通过Add Effect添加的,其他的效果是在Post Process Volume组件中通过Add Effect添加的)

No - Anti - aliasling:无抗锯齿效果。


①、Ambient Occlusion 环境光遮蔽


Mode | 模式 (Scalable Ambient Obscurance可扩展的环境观测、Multi Scale Volumetric Obscurance多规模的体积测量)
Intensity | 强度
Radius | 半径/幅度
Quality | 质量
Color | 颜色
Ambient Only | 仅周围环境
②、Auto Exposure 自动曝光


Filtering (%) |
Minimum(EV) | 最低限制
Maximum(EV) | 最高限制
Exposure Compensation | 曝光补偿
Adaptation 适应性

Type | 类型
Speed Up | 加速
Speed Down | 减速
③、Bloom 辉光/泛光
在unity中的灯光,或者材质球中有发光材质,输出显示是没有辉光的,为了营造更真实的光感,可以在后处理的中加入辉光的效果。


Intensity | 强度
Threshold | 阈值
Soft Knee | 软膝关节
Clamp | 钳制
Diffusion | 扩散
Anamorphic Ratio | 拟态比
Color | 颜色
Fast Mode | 快速模式(开启快速模式会省一点性能,适合手游模式)
(Dirtiness) Texture| 纹理
(Dirtiness) Intensity | 脏迹强度
④、Chromatic Aberration | 色差
也可以粗略做镜头的运动模糊效果,有一种运动时的速度感。即图像四周会有色值偏差。


Spectral Lut |
Instensity | 强度
Fast Mode | 快速模式
⑤、Color Grading 色调/颜色分级


Mode |模式
Lookup Texture | 查找纹理
Contribution
White Balance白平衡

Temperature | 色温
Tint | 色调
Tone

Color Filter | 颜色滤镜
Hue Shift | 色相转换
Saturation | 饱和度
Brightness | 明亮度
Contrast | 对比度
Channel Mixer通道混合

Red
Green
Blue
Trackballs |
Grading Curve 分级曲线
⑥、Depth Of Field 景深


Focus Distance | 焦距
Apperture | 适应性
Focal Length | 镜头长度
Max Blur Size | 最大的模糊大小
⑦、Grain
类似于添加噪波噪点
1


Colored | 噪波噪点是否为彩色
开启的噪波噪点是带有rgb色彩的,不开启的噪波噪点是黑白色的。
Intensity | 强度
从0到1强度大小,整体噪波噪点的强度
Size | 大小
噪波噪点的大小
Luminance Contribution
⑧、Lens Distortion 镜头变形失真
默认情况下,只调整强度大小的效果类似于凹凸镜的效果。

Intensity | 强度:调整的是变形的强度大小
X Multiplier | X轴的程度:X轴上镜头变形的程度
Y Multiplier | Y轴的程度:Y轴上镜头变形的程度
Center X | X轴的中心:镜头默认是从中间的点来进行变形,可以通过调整这个数值调整X轴上的中心点进行偏移
Center Y | Y轴的中心:对Y轴上的中心点进行偏移
Scale | 大小:正常画面大小为1,大于1则画面被整体放大;小于1,整个画面整体被缩小,但是整体画面被缩小,显示出来的就会填不满画布,填不满的部分就会被图像的边缘填充。
⑨、Motion Blur 运动模糊


Shutter Angle | 快门角度
Samole Count | 抽样计数
⑩、Screen Space Reflections 屏幕空间反射


Preset | 预设
Maximum March Distance | 最大行进距离
Distance Fade | 距离衰减
Vignette | 渐变
11、Vignette 渐晕
渐晕效果使图像的边缘变暗,让图像的中心更亮。


Mode | 模式(Classic、 Masked)
Color | 颜色
Center | 中心
Intensity | 强度
Smoothness | 平滑度
Roundness
Rounded | 圆角
二、内置管线中OnRenderImage()方法实现
大致实现方法:
如果是在unity内置管线中,则相机挂载使用C#脚本用内置函数OnRenderImage来调用渲染管线中帧缓冲区的图像,再调用shader,对图像进行二次修改,实现后处理的效果。(新建一个材质球创建挂载shader,对shader内容进行编写后处理效果的编写。)

unity商店里面有一些免费资源下载下来也会有这些后处理和shader脚本,可以自行下载来研究,涉及到的太广泛,就不写了。
————————————————
版权声明:本文为CSDN博主「A札」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Poggio742/article/details/126603988

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值