unity后期

2024-03-01 1413阅读

温馨提示:这篇文章已超过388天没有更新,请注意相关的内容是否还可用!

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也要一致。
      unity后期

    • ④、挂载文件。

      在Post Process Volume组件中挂载一开始创建的post-processing profile文件。

      如果需要效果应用全局需要把Is Global勾选上。
      unity后期

    • ⑤、添加后处理效果。

      在Post Process Volume组件中,点击Add Effect -> Unity -> (后处理效果)。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添加的)
      unity后期

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

      ①、Ambient Occlusion 环境光遮蔽

      环境光遮蔽比较消耗性能,因此不建议在手游中使用。

      一些凹陷的地方或者被周围遮挡的地方,往往会被遮挡住周围的光线,因此会显得更暗。

      unity后期

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

        自动曝光效果根据图像包含的亮度级别范围来动态调整图像的曝光。
        unity后期

        • Filtering (%) |
        • Minimum(EV) | 最低限制
        • Maximum(EV) | 最高限制
        • Exposure Compensation | 曝光补偿

          Adaptation 适应性

          • Type | 类型
          • Speed Up | 加速
          • Speed Down | 减速
            ③、Bloom 辉光/泛光

            在unity中的灯光,或者材质球中有发光材质,输出显示是没有辉光的,为了营造更真实的光感,可以在后处理的中加入辉光的效果。
            unity后期

            • Intensity | 强度
            • Threshold | 阈值
            • Soft Knee | 软膝关节
            • Clamp | 钳制
            • Diffusion | 扩散
            • Anamorphic Ratio | 拟态比
            • Color | 颜色
            • Fast Mode | 快速模式(开启快速模式会省一点性能,适合手游模式)
            • (Dirtiness) Texture| 纹理
            • (Dirtiness) Intensity | 脏迹强度
              ④、Chromatic Aberration | 色差

              色差效果可以模仿真实摄像机在镜头无法将所有颜色融合到同一点时产生的效果。

              也可以粗略做镜头的运动模糊效果,有一种运动时的速度感。即图像四周会有色值偏差。
              unity后期

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

                颜色分级效果可以改变或校正 Unity 产生的最终图像的颜色和亮度。类似于添加滤镜。

                unity后期

                • 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 景深

                        unity后期

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

                            unity后期

                            • Colored | 噪波噪点是否为彩色

                              开启的噪波噪点是带有rgb色彩的,不开启的噪波噪点是黑白色的。

                            • Intensity | 强度

                              从0到1强度大小,整体噪波噪点的强度

                            • Size | 大小

                              噪波噪点的大小

                            • Luminance Contribution
                              ⑧、Lens Distortion 镜头变形失真

                              默认情况下,只调整强度大小的效果类似于凹凸镜的效果。

                              unity后期

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

                                unity后期

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

                                  unity后期

                                  • Preset | 预设
                                  • Maximum March Distance | 最大行进距离
                                  • Distance Fade | 距离衰减
                                  • Vignette | 渐变
                                    11、Vignette 渐晕

                                    渐晕效果使图像的边缘变暗,让图像的中心更亮。
                                    unity后期

                                    • Mode | 模式(Classic、 Masked)
                                    • Color | 颜色
                                    • Center | 中心
                                    • Intensity | 强度
                                    • Smoothness | 平滑度
                                    • Roundness
                                    • Rounded | 圆角

                                      二、内置管线中OnRenderImage()方法实现

                                      大致实现方法:

                                      如果是在unity内置管线中,则相机挂载使用C#脚本用内置函数OnRenderImage来调用渲染管线中帧缓冲区的图像,再调用shader,对图像进行二次修改,实现后处理的效果。(新建一个材质球创建挂载shader,对shader内容进行编写后处理效果的编写。)

                                      unity商店里面有一些免费资源下载下来也会有这些后处理和shader脚本,可以自行下载来研究,涉及到的太广泛,就不写了。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]