理解物理渲染对绘画的帮助

 

对于绘画的步骤和要点,一直以来我都在思考,素描我画的是不差的,但是色彩上总还是有点不得要领,背后有一些规律还没有摸清的缘故。
各种绘画教材和课程上,大多只是给出了现象,也都没有说到最底层的原理。

最近终于有所突破,需要记录下来,以便回顾,也便于分享。

说到底还是要感谢图形程序员们,程序员的脑子到底和画画儿的结构不同,直接就挖到了问题的最根本,当然,他们能用方程式把这规律在计算机里重现出来,最后还是要靠画画儿的搞出漂亮画面来。

最近Unity5的基于物理渲染shader出来了,我反复查找这方面的信息,发现这对传统绘画技巧有很大帮助:
基于物理的渲染,就是根据真实的物理规律来表现画面。老的方法是根据经验,看到这里有高光,就在公式里加一个高光,有阴影,就在公式里加个阴影,其实并不了解为什么有高光,也不了解为什么有阴影。传统绘画也是这样,看画家的眼力劲,而不是对光的真实物理规律的理解。

干货从这里开始:

物理渲染有这么几个关键点:漫反射,反射,能量守恒,金属/非金属,菲涅耳,微表面

漫反射:光线照射到物体上,光线会从原子之间的空隙进入物体,然后产生折射,一部分波长的光被吸收,另一部分没有被吸收的则又穿出物体表面,最后射入我们的眼睛里,这部分没有被吸收的特定波长的光,就是这个物体的颜色,也就是物体的漫反射。漫反射=物体本体的颜色。

反射:反射是光打在物体上,没有进入原子之间的空隙,直接打到原子上,然后被反弹出来的光,没有任何特定波长的光被吸收,所以,反射光=环境光颜色。

能量守恒:物体反射出的光,不会比照射它的光能量更强。

金属/非金属:他们之间的区别主要在于原子结构的不同,也导致了漫反射和反射属性的不同。漫反射方面:金属原子致密,光波无法进入原子间的空隙,所以几乎如数被反射,所以金属是没有颜色的,或者说是黑色的;反射方面:某些金属,表面的原子会吸收光子中的电子,所以某些金属会改变反光的颜色,比如金子会将反射光变为黄色。具体理论涉及到量子物理,有兴趣可以自己去查

菲涅耳:简单的讲,就是视线垂直于表面时,反射较弱,而当视线非垂直表面时,夹角越小,反射越明显。如果你看向一个圆球,那圆球中心的反射较弱,靠近边缘较强。

微表面:光的反射现象,是发生在原子层面的,所以对物体表面的粗糙度很敏感。越粗糙,反射角度越散,最后射入眼睛的光线,也就越弱/分散。

以上就是基于物理的计算机渲染的大致介绍。那么这些对于传统绘画又有什么关系呢?

主要是两个方面,一个是明暗关系:绘制物体的时候,单独一个物体上的明暗关系=物体本身颜色+环境光反射。物体本色颜色好理解,就是漫反射。但是环境光反射,则受到多方面的影响,最主要是要考虑到物体的反射率。得出反射率后,用反射率乘以照射到这部分的光线强度,就是画面这个部分的最终明暗度。

第二个是颜色:颜色其实很好办,物体本身颜色+环境光反射颜色*反射率。反射率越高,环境光颜色越强,本体颜色越淡。

在我们画明暗关系的时候,物理渲染的要素们是这样作用的:
漫反射:漫反射越强整体明暗越亮。反之亦然。
反射:物体的材料越致密,反射光的比例越大,漫反射比例越小。反之亦然。
能量守恒:物体表面的亮度,永远超不过入射光线的亮度。
金属/非金属:金属没有漫反射;平时看到金属上有漫反射的部分,其实都是氧化物,脏东西之类的非金属附属物。
菲涅尔:表面与视角夹角越小,反射越强烈。
微表面:表面越粗糙,反射越尖锐,对比度越高。反之则越散开,模糊。

理论呢就是这么简单。(呵呵)

但是实际用起来,还是有点复杂,漫反射的部分好办,画物体本色就好了,但是后面反光的部分,涉及到反射光,微表面,菲涅尔的互相影响,然后还有根据能量守恒做调整。所以在真正画的时候,最好是分解步骤,一步一步来,而且这个步骤,并不和物理渲染的元素一一对应。

下面看栗子,更好理解:
借用伟大的值得赞美的优秀的大牛Sam Nielson的图。

首先线条造型,这没有什么好说的,基本功。

然后新建图层吧线稿放在后面准备开始搞明暗了。

这一步很有意思,他先画了环境闭塞(Ambient Occlusion)在图形学中有多重实现方式,道理呢也就是说光线在狭小的空间中会被来回反射,最后进入我们眼睛的光也就少了,所以会有阴影的效果。做这一步主要的考虑是物体表面的角度,以及多个面之间的距离,如果两个物体表面角度小于90,或者距离很小,那么环境光闭塞的情况就开始出现。这一步在渲染中,主要是为了快;在绘画中用,就是主要因为简单方便—一次性把反射的太多元素一起表现出来,脑子处理不了。

ok,这一步大面积的光影出现了,注意在这一步中,他对不同渲染元素的处理:微表面/反射光–衣服比皮肤粗糙/质地更松软,所以衣服的高光面积大,相对模糊,皮肤高光相对集中,明暗分界更明确;菲涅尔–袖子转折的地方,越靠近边缘,表面与视线的夹角越小,反射率越大,也就越亮。包括胡子,杯子,等等元素上都体现了这个公式;能量守恒–这个在2D绘画上没有那么明显,主要是亮部不要过度就好了。(注意:这里所有的明暗,表现的都是反射,而不是漫反射;整体场景无论材质如何都像是白色的本色)

明暗和AO叠加,明暗效果就完成了,AO的绘制低相对简单,只要有扎实的透视基础,很直白就能搞定了。主要是在第二部明暗的绘制上,要熟练结合运用反射光,微表面,菲涅尔,能量守恒这几中元素,来破解物体上不同部分的反射率的改变,然后考虑照射到这个部分的光线强度,最后得出最终的明暗。这需要一些练习。

到了颜色的部分了,我们把之前画的AO和明暗两个图层隐藏,开始填颜色。根据物体本身的颜色平涂,这一部其实就是物体的漫反射。这里注意之前画明暗的时候,我们其实没有画漫反射的,在这一步,我们才开始把漫反射加进去–直接用颜色的饱和度与明度表现出来。

这一步超简单,把之前隐藏的明暗图层和AO图层叠加上去。这样我们就有了漫反射(明度与饱和度)+反射(明度),唯一缺少的,是反射光的颜色(反射光的饱和度)。

这一步是最后的点睛之笔,和我们之前换明暗的路数一样,算出不同部分的反射率,反射率高的地方环境光就鲜艳,反之亦然。

大功告成。

总结一下:

第一:漫反射很简单,但是正确的表示不同材质间的明度与饱和度差别很重要。

第二:反射的部分分两步走,第一步明暗度:根据不同部分的材质(反射)、粗糙度(微表面)、角度(菲涅尔)算出这部分的反射率,然后用反射率乘以射到这部分的光强度,就得到最终的明暗度。第二部,用同样的反射率乘以光颜色,得到这部分的色彩倾向和饱和度。

 

Posted in Uncategorized | 评论关闭

魔法之书 预告片

对不起,此内容只适用于English

Posted in Uncategorized | Leave a comment

魔法之书 关卡贴图

 

 

 

 

Posted in Uncategorized | Leave a comment

魔法之书 主角

Posted in Uncategorized | Leave a comment