Skip to main content

为什么后处理(post-processing)很重要?

要真正理解后处理(post-processing)是如何工作的,我们需要绕个弯。

这是一台相机。

传统相机的工作原理是使用镜头将图像聚焦到一张经过化学处理的胶片上。胶片暴露在光线下,会发生化学反应。光线响应胶片,将图像蚀刻到胶片上。

镜头的特性——它的完整程度,它的弯曲程度——会导致捕获的图像中出现某些伪影。例如,明亮光源周围的光环通常是由镜头的不完美散射光线造成的。

人眼的工作方式不同,但基本原理相同——光、镜头、受体、化学反应。

在摄影和图像捕捉的历史中,一种特殊的模式出现了。说一张照片没有它被拍摄的地方那么亮是很明显的。但它仍然看起来像真实的东西。这是怎么回事?

这是因为光线和胶片之间的化学反应被精心调整以不同方式响应不同水平的光线。如果你听说过“胶片库存(film stock)”,这就是它们之间的区别-不同的库存有不同的化学特性,对光的响应也不同。

image.png

内容来自此页,文章及其硬核。

在这张图片中,标有伽马符号的虚线部分是在不进行后处理的情况下可以看到的所有内容。

回到要点;为什么要了解后期处理?因为你的显示器或VR头盔都没有它们显示的地方那么亮。为了解决这个问题,解决方案与胶片相同-具有适应自然外观的光响应曲线。这就是“色调映射”。有了这个,你就有了渲染的基本元素。

这也适用于单元格着色和非照片级真实感渲染。毕竟,绘画和艺术品没有现实世界那么明亮。为了在VR中让事物看起来正确,我们需要使用正确的着色来唤起我们的色彩对比,这就是色调映射的目的。

这些是后处理的真实基础。

而且,Unity 默认情况下不会执行任何这些操作,直到你添加后期处理堆栈!在没有后期处理的场景中,你看到的所有内容都只是原始的颜色/光照数据,随意地显示在你的显示器上。颜色会发生变化,明亮区域和物体在变亮时看起来会很奇怪-这些都与我们用肉眼看到的期望不符。

这也适用于 Unity 编辑器。当你在世界中设置灯光时,你应该已经设置并启用了后处理-可能是你要添加的第二或第三件事。如果你不这样做,你会得到一些毫无意义的灯光强度,导致你的世界的某些区域过于黑暗/明亮。尽管后期处理是游戏中最后渲染的内容,但它应该在创建世界的一开始就设置好。