线性工作流这个问题,或者彻底别知道,看到了也装没看见,或者研究就研究彻底。不然很容易陷入巨大的困惑之中。曾听一从业多年的灯光师同时在陷入困惑后大喊“我tm现在都不知道怎么打光了!”,想起我之前陷入爬不出来时都tm不知道怎么调色了!看到一颜色都不知道这是不是幻觉。起始想搞清楚LWF很简单——只要认清一点——我们的眼睛对世界的亮度的感应不是线性的。
网上讲LWF的博客和文章很多,但大都没讲到点子上。这篇blog就只写点子上的内容,供陷入困惑的可怜孩子们参考。
必须要采用线性工作流吗?
想得到“正确”的渲染结果就要采用。什么是“正确”的呢?最浅显直观的区别就是,“正确”的所得到的亮度比不正确的亮一些,而这是符合最初的制定的量的。而到了讲究物理正确的PBR时代,如果不LWF那一切都是空谈。
为什么我要知道线性工作流?
因为不知道你会感觉很别扭。如果你不知到LWF,在哪里都会遭遇到一些诡异的事情,nuke里来个invert结果会匪夷所思,houdini的ramp看起来不ramp,katana难以找到正确配置……总之只要你不理他他总会向你证明他的存在感。
我觉得不知道挺好。我眼睛看到的就是正确的。
眼睛看到的的确是正确的,如果以眼睛为参考的话。但是CG衡量一个亮度时都是靠值来衡量的,而如果这个值的变化和你眼睛感受到的亮度变化曲线不统一会出现什么结果?就比如这么一个小测试,保证99%不知道LWF的孩子会受到精吓。
新开Nuke(如果你不会用Nuke可能这个话题还暂时困扰不到你…),然后建立一个Ramp,把Ramp首尾延伸到区域边界(这里是从左到右)。其他所有都是默认设置。平凡无奇吗?不,只要你的眼睛是正常的,都会看出这个Ramp一点都不均匀,这哪能跟Photoshop里的渐变相比,TheFoundary就会玩虚的。
对比下下面这个PS风格的Ramp是不是才是均匀的?
没错吧,中间看起来正好是半黒半白的灰色,而第一个nuke style ramp中间明显太亮。
可是事实是——第一个Ramp如果按亮度算,它真的是在亮度上从左到右均匀的。自然第二个是不均匀的。也就是第一个中间偏亮的灰是真正的半黑半白,第二个要大大偏暗。
是不是有点怀念曾经那个单纯的世界了?
[以下为2014.04.02更新]
为什么我要用线性工作流?
因为很多3D软件的默认输出是没有经过Gamma矫正的,这时亮度从0~1看起来很符合直觉,但实际上我们上面讨论过了,是和现实不复合的。为了还原应有的亮度,需要转换成sRGB空间。
(to be continued)