虽然说前期能做好的事不要交给后期做,并且一些shader可以自定义高光亮面和暗面的受光情况,但奈何unity的原生光照有局限性,对地形这一类shader生态差的东西你很难完全做到自定义。因此,我一般会在定好调之后用一些简单的后期选项去落地最终需要的光比。
比如说,在前期定义好日光与天光的光比之后,为了让高光不要死白,一般都需要使用tonemapping去重映射,目前表现最好的就是aces,但是aces的缺点就是会死黑,破坏前期的某些明度规划。
有技术的人或许能重写aces去满足自己的需求,但对于我这种不是ta的人来说,目前最好的方法就是:
在做完aces之后,先稍微拉高一点曝光提亮一下aces影响的死黑区域,此时如果亮面过曝了就降低一点日光的强度,再回到color grading里拉一点对比度,保证亮暗面之间拥有清晰的光比。之后,以保证亮面和暗面的内容都能同时看清楚、且除高光和闭塞以外没有任何死白死黑的区域为目标,在color grading里调整曝光和对比度的值即可。
这样一来,后期只需要控制这两个值就可以保证场景的光比落地,不需要屎山一样地这加一项那加一项,到最后需要改动时该改哪个值都不知道。
噢,对了,还有一点需要特别注意的东西。如果你的材质在光比落地完成之后上贴图变得非常亮,不妨试试将材质main color的明度调至75。自然状态下,物体的色彩明度都不可能到100的,unity只是单纯为了偷懒才给每个材质初始的白色无脑整成明度100,这并不符合美术调光的原则。如果你很介意这个,调光比时最好用白色明度为75的材质作为基准,这样调出来的光比会更加漂亮。