北京治疗白癜风一次多少钱 http://www.baidianfeng51.cn/baidianfengzixun/wuliliaofa/294.html这篇文章并不打算去讲卡通场景的具体制作方法,那是另一个巨大的话题。网络上也已经有了不少分享内容(基本还是基于PBR体系的材质Mesh生产流程,以及针对风格化物体的特殊设计)。
这篇主要是讲一些和写实渲染不同的,技术方面的的差异化需求,和资产生产关系不大。
ToneMapping
色调映射是一切后续内容的基础。
因为风格化场景并不依赖物理规则打光,而需要靠主观调色,如果色调映射一开始就选择错了,之后的所有工作都会打水漂,所以要放在最开始说。
尝试过的都会发现,直接使用标准ACES是有问题的。
而且这点在做场景的时候还看不出来,因为不管色调映射怎么处理颜色,你手动调光也总能调出预想的画面来。
问题出在人物部分的兼容上。
(下面虽然是图片,但也能代表实际模型在ACES环境下的颜色变化)
在使用标准ACES的时候,如果亮度调的较低,暗部细节就会严重丢失(图2),而如果调高亮度至能看清暗部细节,亮部细节就会丢失(图3)。
钟离这张图并不明显,但对于一些在脸上画了细节过渡和腮红的角色来讲,亮部丢失细节的问题同样严重。
虽然也确实可以通过手动调整贴图来解决,因为做不到可见即所得,工作量会大幅提升。虽说PBR时代非要手画贴图差不多也是这鸟样……
我们可以换用UE用于模拟旧版ToneMaping的一个兼容性设置,在Post中设置:
这会改变ToneMaping的曲线,让前端的S区域变得平缓,从而缓解暗部和亮部细节丢失的问题。
而由于RRT/ODT过程导致的偏色,高亮度的脸部依然会偏白,这是这个兼容做法还没解决的问题,但终究比之前强多了。
此外,我们当然还有关闭ACES换用其他ToneMaping方案这样一个选择。但ACES在表现亮度高于1的高亮度区域是有很有优势的,可以显著增强特效的光感,而这正是ACES“高亮度偏白”的功效。
如果有这方面的需求,ACES就必须使用。但使用了,人物的亮部就会错误地偏白。
所以,重新定制ACES的RRT/ODT的流程就是一个需要做的事情。我们希望亮度低于1的区域不要偏色,但高于1的区域则允许偏色,这并不是一个矛盾的需求。
其中一个方案是:可以考虑在无偏色的原始颜色和偏色后的颜色根据亮度做一个插值,保证小于1的区域是无偏色的,然后渐渐过渡到需要偏色的区域。
然而我试了下,好像我之前的反转校色方案依然可用(图3)
做法是在图2的基础上对人物纹理的颜色输出做以下处理(处理强度可以通过和原颜色lerp来控制)
color=3.*color^3-2.*color^2+1.*color-0.