美文网首页好文章
Unity Post-Processing学习(一) -----

Unity Post-Processing学习(一) -----

作者: 千喜Ya | 来源:发表于2019-10-21 14:32 被阅读0次

    本系列文章是学习Getting Started with the Post-Processing Stack for VR笔记
    参考 :
    Unity官方GitHub PostProcessing
    Unity官方文档

    环境 :
    Unity版本 : 2018.4
    Post-Processing版本 : 2.1.7


    一.搭建环境

    项目下载之后是一个. unitypackage包,因为我之前在研究LightweightRenderPipeline,结果导完发现整个场景都是红的,但是删除LightweightRenderPipeline的设置就可以了

    转念一想,不可能吧,难道这两者不能共存吗?事实证明是可以的,解决方法如下图 :

    点击之后就好了

    二.简介

    Unity的后处理堆栈是一个综合的后处理效果系统,编译成一个后处理管道。以下是它的一些优点:
    1.始终以正确的顺序配置效果
    2.它在一次传递中渲染多个效果,而不是每个效果需要单独的传递。
    3.所有效果都在UI中组合在一起,以获得更好的用户体验。
    后处理堆栈还包括一组监视器和调试视图,可帮助您正确设置效果并调试输出中可能出现的任何问题。

    基本功能 :

    • Deferred Fog :根据与相机的距离将颜色叠加到对象上,从而添加类似雾的效果。
    • Anti-aliasing :包含几组算法,旨在防止混叠 - 对象具有锯齿状外观 - 并使图形外观更加平滑。别名是对象看起来有锯齿状外观的效果。
    • Ambient Occlusion :此效果使折痕和孔变暗,以在运行时提供环境遮挡,并有助于创建可信的场景。 - Screen-space reflections :这通常用于模拟细微的反射,如潮湿的地板表面或金属表面会产生一些微小的反射。
    • Depth of Field:此效果模拟相机镜头,其中焦点位于某个点上,并且该点之外的所有内容都模糊。
    • Motion Blur :此效果模糊屏幕上移动通过屏幕的部分,例如在您专注于角色跑步或驾驶汽车的风景时减少对环境的关注。
    • Bloom :当真实世界的相机聚焦在明亮的光线上时,此效果再现了闪光或羽化。
    • Color Grading :此效果可改变并增强最终图像中的颜色。建立情绪或修复任何不正确的颜色很有用。
    • 用户Lut :这是一个更简单的Color Grading版本,其中屏幕上的像素被您提供的LUT(查找纹理)中的值替换。
    • Chromatic Aberration:这再现了相机镜头未能将所有颜色会聚到同一点的效果,沿着分隔图像的暗部和亮部的边界产生颜色条纹。
    • Grain:这种效果在屏幕上增加了一个薄膜颗粒,模拟了薄膜原料金属银中小颗粒的存在。它对于时间段项目或模拟旧照片很有用。
    • Vignette :此效果会使相机的边缘变暗并降低饱和度,从而将更大的焦点放在图像的中心。当您想要将焦点绘制到屏幕中心时,它非常有用。

    后处理堆栈是一个复杂而强大的系统,可以帮助您为项目添加最后的触摸,并帮助为场景带来视觉冲击。

    三.基本使用

    这里我看到了两种方式,应该一种是Package Manage之前用的,这里都放出来

    1.AssetStore导入

    导入AssetStore Post Processing Stack项目

    这个我就运行试了一下,前面两个会转圈,按上下键之后效果也会不一样,后面学完了这个之后看有没有时间去解析一波

    创建之后可添加想要的特效:

    摄像机上添加PostProcessingBehaviour脚本,将刚刚创建的asset文件拖拽 :

    注意:后处理配置文件是项目资产,可以在场景和摄像机之间轻松共享。它们甚至可以在不同项目之间或资产商店之间共享

    2.Package Manager导入

    使用Package Manager安装

    在camera上挂载Post process Layer组件

    第一部分介绍此相机的音量混合设置:

    • 触发:默认情况下,摄像机本身将被分配给它。这是将驱动音量混合功能的变换。在某些情况下,您可能希望使用除相机之外的变换,例如,对于自上而下的游戏,您需要玩家角色来驱动混合而不是实际的相机变换。将此字段设置为None将禁用此图层的本地卷(全局的仍将起作用)。
    • 图层:要考虑体积混合的图层蒙版。它允许您进行音量过滤,尤其适用于优化卷遍历。您应该始终将您的卷放在专用层而不是默认卷中,以获得最佳性能。默认设置为,Nothing所以不要忘记更改它或卷不会有任何影响。有关图层及其在Unity中的使用的更多信息,请参阅本手册页

    接下来是抗锯齿,必须按照相机设置。这样做而不是在项目中进行全局设置的好处是,您可以优化摄像机,以便在需要时仅使用抗锯齿。例如,您的主摄像头可能正在使用时间消除锯齿,但用于渲染安全摄像头的辅助摄像头只需要FXAA。有关抗锯齿的更多信息,请参见专用效果页面

    停止的NaN传播肘将杀死任何无效/ NaN的像素与被施加后处理之前用黑色色替换它。通常一个好主意是保持启用此功能,以避免由场景中的数据损坏导致的后处理工件。

    工具包部分提供的一些工具。您可以使用以下模式之一将当前帧导出到EXR:

    • 全帧(如显示):按原样导出摄像机(如果它在游戏视图中显示的摄像机上,导出将看起来与游戏视图中显示的完全相同)。
    • 禁用后处理:与先前模式相同,但不应用任何类型的后处理。
    • 颜色分级前的中断(线性):与第一个模式相同,但在应用颜色分级之前将停止渲染。如果您想在外部软件中对LUT进行分级,这非常有用。
    • 颜色分级(日志)之前的中断:与前一个模式相同,但输出将进行日志编码。这用于在外部软件中创作全精度HDR分级LUT。

    其他工具包括:

    • 选择所有图层卷:选择可影响此后处理图层的所有后处理卷组件。
    • 选择所有活动卷:选择当前影响此后处理层的所有后处理卷组件。

    最后,最后一部分允许您更改自定义效果的渲染顺序。关于更多信息编写自定义效果

    相关文章

      网友评论

        本文标题:Unity Post-Processing学习(一) -----

        本文链接:https://www.haomeiwen.com/subject/wfpmyctx.html