也许看过我另一篇文章《风格化的灯光》的朋友对“灯光语法”的概念颇感兴趣。何为灯光语法?首先我们先要了解,我们的CG作品的视觉效果是由光、物体的性质和观察者(摄像机)所共同决定的,笔者把这三者组织起来的方法称为“视效语法”,而把如何组织光的方法称为“灯光语法”。今天,我们要讨论的是如何组织自然光,相对于笔者以前对于CG灯光的解释,此文将更深入探讨光的本质以及实际在CG创作中的运用:为何每一天不同时段的光线呈现出不同的色彩?这样的色彩的特征又是怎样的?如何运用这样的不同来表达自己的想法?
首先,我们来了解一下什么是光。光其实是电磁波中的很小一部分,一般意义上就是我们肉眼能看到的电磁波的波段(也称可见光),科学上定义在390nm - 780nm,但是人眼能看到的范围在312nm - 1050nm甚至更广。在这个范围内,人们依次能看到紫、蓝、青、绿、黄、红等颜色。这些颜色的分布是不均匀的,红、绿、蓝所占有的波段范围比较大;相反,黄、青、紫所占有的波段范围就比较小,但是黄色的所占有的波段范围又比青、紫略大。
不仅如此,人眼对各个颜色的敏感程度也不一样,其中以对绿色的光最为敏感,这也是绿色被做为信号灯标准色的原因,当人在千米之外已经看不到红灯和蓝灯时依然能辨别出绿灯。图declare.image1比较直观地概括了这些现象。
从波的理论来理解光,并非是想把它从艺术性中抽离出来,而是要靠以上的光波理论来解释许多现象,好比蓝天为什么是蓝色,而朝霞为什么是红色,这对于CG的运用与实践是相当有帮助的,稍后会有详细的说明。不仅如此,它还能帮助我们解决其他问题。在Maya默认渲染器中,有三个参数叫Contract Threshold R/Contract Threshold G/Contract Threshold B (declare.image2),这三个值的优化比例应该为2:1.5:4,因为人眼对红/绿/蓝的敏感程度大致为3:4:1.5(1/2:1/1.5:1/4),所以我们渲染出的图象的蓝色通道质量不必像绿色通道质量那么高,人眼很难发觉其中的差别。由于此文着重探讨自然光,所以光波理论在渲染中的理论在此只是一笔带过。这里只是让读者有一个印象,光波理论能帮助我们解决CG灯光及其他方面的一系列问题。
接下来,我们得聊聊主角——自然光。为读者理解本文内容方便,笔者把它定义为太阳光及其衍生光,太阳光的衍生光包括天空对太阳光的散射、漫反射,月亮光以及三者的在环境中的反射和折射,可能这样的定义有一点绕口,总而言之本文中所指的自然光都的最终来源都是太阳。(declare.image3)
“日出江花红胜火”是白居易描写日出江面的一句词,这句词中的“江花”的解释一直都有争议。大部分人支持“江边的花”这一解释,但是我认为“江花”应该解释为“浪花”,且看下图(dawn.image1)。日出时,太阳“染红”了整个东方,太阳光斜射到海面,由于菲涅尔(Fresnel)效应造成强烈的反射,致使海面也呈现出热烈的红色。从某种意义上说,整个环境呈现出壮丽的红色比江边的小花泛红更能体现出日出的意境,所以我支持后一种观点。
注
菲涅尔效应:根据菲涅尔公式,光的反射率可以用以下两个公式计算
当一束自然光照射到两种介质的界面上时,可分解为光矢量在入射面内的偏振光(P光)和光矢量与入射面垂直的偏振光(S光)。Rp 、Rs分别表示两种偏振光的反射率;
如图dawn.image2所示,n1表示外介质的折射率,n2表示内介质的折射率;
i1表示入射角,i2表示折射角,i2折射角可以通过以下折射定律得到;
最终反射率是Rp 、Rs的平均值,通过以上公式的代换可知Rp 、Rs只和入射角i1有关。(如果读者朋友对偏振光感兴趣,可以查阅相关资料。)
乍看之下,很难找出Rp 、Rs和i1的变化规律,笔者是maya用户,为描述这个规律完成了一个mel脚本( fresnelTest.mel ),
在maya中输入fresnelTest [index]就能得到入射角i1从1变化到90所产生的结果。([index]是n2与n1的比值,水/空气的[index]大约是1.33,玻璃/空气的[index]大约是1.55,eg. 输入fresnelTest 1.55)
结果,随着i1的增加,Rp先变小再变大,i1 = arctg(n2/n1)时,Rp=0,达到最小值。
i1 = arctg(n2/n1)这个角被称做布儒斯特角,它在物理上有重要的意义,当光以布儒斯特角入射时反射光为线偏振光,折射光为部分偏振光,这里不再赘述。
另一方面,随着i1的增加,Rs单调增加,而Rp 、Rs的平均值也是单调增加的。
所以我们得出了最后的结论,随着入射光的入射角的增加,入射光的反射率也增加!
那么,为何日出时东方会呈现出红色呢?包括笔者在内的许多人都会脱口而出:“色温低!”但是从更理性一些的角度思考,色温并不能从根本上解释这个问题。(色温概念并非本文重点,不做详细描述。)其实,光的散色能力因光的波长不同而不同,波长越短,散射能力越强,越容易被散开。通过上一节的介绍,我们已经知道,蓝光的波长比红光短,所以蓝光在特定环境下的散射能力比红光强。如图dawn.image3,日出的时候,阳光斜射地面,阳光需要穿过很厚的大气层,蓝光由于散射能力很强,所以在到达地面之前就已经被散射光了,我们只能看到蓝光在天顶和西方的散射。
注:
光在传播过程中,会不断遇到障碍物,当障碍物比可见光的波长大很多时并且不均匀时,光就被弹向四方,就像雨滴打在地面上一样,这个现象叫光的漫射;但当障碍物的大小和波长差不多的时候,障碍物会有选择性得透光光线,而使得另一些光的传播方向发生偏转,就好像三棱镜能让光散开一样,这个现象叫光的散射。
CG中,破晓场景灯光,主光一般设置为红色,补光选择深蓝色,光比大约8:2,灯光与地面夹角5-25度。其实此时阳光与地夹角并没有这么大,但是CG画面中如果角色或物体投影过长会让画面很堵,所以此时灯光与地面夹角的宽容度比较大。图dawn.image4是笔者对这个时段光线的演示。
由于,“日出”积极的寓意十分明显,我们一般在这个时候表现一些积极和有朝气的气氛,也可表现一些浩大的场面,但总体来说都是很轻快的。同时,日出前的昏暗也可以用来表现一些阴暗的东西,利用日出这一时刻来表现从阴暗到光面的过渡会有戏剧性的效果。(dawn.image5)
当太阳升起以后,我们便进入了白天。当然,“白天”并不“白”,我们仍然能发现丰富的色彩。请看下图daylight.image1,太阳光经过大气,射到地面后呈现出黄色,而一些背对着太阳的地方呈现出很深的蓝色。黄蓝——暖色冷色的对比体现着一种色彩上的美感,但是自然光之所以给我们这样的视觉感受,不是因为它深谙美学原理,而是因为那深藏在它背后的自然规律。
天空为什么是蓝色的?这并不是一个充满童稚的问题,直到1871年,瑞利(Lord John William Strutt Rayleigh 1842~1919,1904年获得诺贝尔物理学奖)提出的瑞利散射理论才圆满得解释了这个问题。白天得时候太阳照射地球表面,太阳光在穿过大气层时,各种波长的光都要受到空气的散射,其中波长较长的波散射较小,大部分传播到地面上,这些光综合起来呈现出黄色。而波长较短的蓝、绿光,受到空气散射较强,天空中的蓝色正是这些散射光的颜色,因此天空会呈现蓝色,就如图daylight.image2所描述的那样。平日里,我们看到大海所呈现出的蓝色也是因为散射造成的,但曾经在很长一段时间里,包括瑞利在内的许多人都认为大海的蓝色是因为反射了天空的散射光所造成的。 1921年,拉曼(Sir Chandrasekhara Venkata Raman, 1888-1970,1930年获得诺贝尔物理学奖)在海上旅途中的发现让我们了解了真相,它从前文提到过的布儒斯特角观察海面并用尼科尔棱镜过滤掉了S光 ,从而看到不受蓝天影响的大海,这样的大海呈现出一种与平日相比更深沉的蓝色,这就是光在水中散射的结果。
同样是白天,阴天和晴天又有所不同。阴天的云层很厚,而且大颗粒物较多,少量阳光照射到云层上发生丁达尔散射(白光散射后仍然是白光),大量阳光遇到云层后直接漫射开来,整个天空就像是一块大的柔光布,所以阴天的自然光很少有颜色上的倾向而显现出灰白色。(daylight.image3)
CG中,早晨/午后场景灯光,主光一般设置为黄色,补光选择蓝色,光比大约7:3。因为灯光与地面的夹角与一天中不同的时段有关,另一方面也与地球在公转轨道上的位置有关系,所以灯光与地面夹角几乎可以是任意的。图daylight.image4是笔者对这个时段光线的演示。
如图daylight.image5,太阳照射方向在东西方向分量与地面的夹角叫晨昏角,这个角度与一天中不同的时段有关,一般太阳在正午升到最高;太阳照射方向在南北方向分量与地面的夹角叫太阳高度角,这个角度与地球在公转轨道上的位置有关。在中国,北回归线以北地区,每年6月22日前后太阳高度角达到最大值。
注:
太阳高度角具体的计算公式如下:
H为正午太阳高度,w为当地的地理纬度,S为太阳直射点的地理纬度。
当然,灯光师很少被指定设计某一天某个时间点在某个纬度的灯光,更多是被要求泛设计早晨/下午的灯光。这个时候,我们根据剧本和画面的要求来具体设计灯光的位置,正如前面所述,这段时间的阳光几乎可以在任何位置出现。
那么,早晨和午后的又有多大的区别呢?其实,两者并无实质上的区别,只是在晨昏角上存在互补的关系。但是,我们经常在一些动画电影中感到早晨和午后的灯光的不同,这仅仅是出于动画艺术风格的需要,为了把两个时段区分开,我们有时故意把早晨的主光设置成冷色,补光设置成暖色;或是让早晨冷色的成分多一些,下午暖色的成分多一些等等,这些艺术风格上的要求不一而足。
正因为早晨/午后的自然光有了这些特性,它们便成了我们叙事与表达画面的强有力要素。首先这个时段的主光方向的选择比较多;其次这个时段的光比为7:3,稍微改变一下这个比例就能很轻易得达到,4:1的高比调或2:1的低比调;再次这个时段的光所产生的明暗关系中有丰富的冷暖变化。这样的可调性使得灯光师的想法表达更为灵活。这个时候的灯光适合用来叙事,早晨的自然光更多给人轻快的感觉,有时也用来表现盛大的或喜悦的场面,下午光线的感情倾向相对弱一些,用以表现一些严酷的环境是一个不错的选择。(daylight.image6)
相对于早晨/午后的自然光来说,正午的灯光并没有奇特之处。这个时段的主光仍然是黄色,补光仍然是蓝色,原理同早晨/午后。但是因为正午是一天中阳光照射最强烈的时候,所以自然光中的很多要素都被极端化了。
首先是主光方向,太阳达到了一天中的最高点,从早晨的侧光变成了中午的顶光。一般而言,生硬的顶光效果不甚理想,很容易投下很浓重的投影。人若处在这样的光线之中,由于眉弓、颧骨等处的凸起,就像图midday.image1中的石膏像那样,会产生另人不愉快的投影。对于女性角色而言,这样的投影几乎是致命,很容易暴露不美之处。如果我们不得不处理正午的灯光,应尽量把灯光倾斜一些。上一节已经讲到,北回归线以北地区、南回归线以南地区,全年中太阳都不可能出现在正上方,即使在南北回归线之间的地区,全年太阳也只有两次直射地面的机会。当然,直射的光线并非总是那么可恶。由于光线垂至于地面,当它照射到水面上时,菲涅尔效应很小,所以这个时候水看上去是很清澈的。(midday.image2)
接下来,我们要聊的是黄昏/薄暮,关于这个时段,人们总是津津乐道。这个时段美轮美奂、变化无常的光线是摄影师的首选,也成了几乎所有CG灯光师的用光首选。尽管黄昏/薄暮时段光线的变化很多,但是从总体上说,可以分为两类,一类光线出现在太阳落下地平线以前,我们称之为黄昏,另一类光线出现在太阳落下地平线以后,我们称之为薄暮,其它各个时段的光线更多的是在这两种光线基础上的过渡和变化。
在黄昏的阶段,太阳呈现出橙红色,而且越接近地平线时越红。这个现象和日出时的别无二致,在接近天顶方向,阳光穿过低层大气较少,呈现出蓝散射光与低层大气散射的红光“重叠”进入人的眼睛,就会看到显示紫色的天空。 此刻地表和大气经过了一整天阳光的照射,温度都相对较高,由于布朗运动的缘故,大气中小分子漂浮物比较多,所以天空的散射和漫反射都比较强。我们可以参考图sunset.image1,处在这样光线下的物体的暗部很透,这也是昏黄光线和破晓光线的最大的区别。
薄暮是黄昏的一种延续,我们有时也称这个时候的光线为染山霞,我们所熟悉的《指环王》中有许多镜头为我们演绎了这个时候的光线(sunset.image2)。太阳已经下了地平线,不存在阳光对地面的直射,但是阳光仍然能照射到西方的天空,形成红色的散射光,但由于强度小了很多,和高层大气产生的蓝散射光“混合”,便产生了十分美丽的品红色的霞光。但是,这种现象也不是绝对的,只有当空气中水分含量比较少时,才能产生染山霞。如果空气中水分含量比较多时,光线会在其中各种难以预测的散射,有时甚至会得到绿色的散射光。不仅如此,由于薄暮时的光线不再含有太阳的直射光,所以此时的光线在物体表面多次反射或折射后,人眼便不一定再能感觉到。一个直观的现象是,这是时段中,高级写字楼上的玻璃对环境仍然较强的反射,但是树木(表面粗糙)的光感便不再那么强烈了。
CG中,黄昏场景灯光,主光一般设置为橙色,补光选择篮紫色,光比大约6:4,灯光与地面夹角10-30度。此时的灯光应该着力刻画画面暗部,一方面暗部比较透,另一方面,阴影比较长。图sunset.image4是笔者对这个时段光线的演示。
薄暮场景灯光,主光一般设置为品红色(可以考虑用灯光阵列),补光选择紫色,光比大约6:4,灯光与地面夹角5-20度。此时,物体的投影都是比较柔和的。图sunset.image4是笔者对这个时段光线的演示。
黄昏/薄暮的光线拥有诸多个性,首先这个时段光线角度较低,投影面积比较大,所以能很好得塑造形象;其次这个时段光线对比不强,画面中的物体不会产生死黑的部分,都能表现出较多细节;再次,橙-紫光亦或粉-紫光都是和谐的光线组合,也是使光线出彩的组合;最后,合理运用摄影中的一些手法,亦能获得十分有个性的画面效果,比如人物在逆光效果下的剪影效果。可见,黄昏/薄暮时段的光线可以提供给灯光师很多选择,也让灯光师有额外的发挥余地。如果考虑到这个时段光线塑造力很强,情节的转折、冲突、推进都适合在这个时候来表现;如果考虑到这个时段光线具有冷、暖双重特性,各种阴暗或是隆重的场面在这个时段都有表现的余地;如果考虑黄昏是一天中能看到阳光的最后时段,那么灯光师便能使之表现一种落寞的气氛等等。可以说,只要我们考察黄昏/薄暮的角度不同,就能表达出不同的情绪,这个时段的内涵不是笔者用寥寥文字能尽述的。(sunset.image5)
黄昏和薄暮转瞬即逝,随之而来的便是漫长的夜晚。尽管目前3+1种猜测说仍然不能完美地解释月球的起源,但是,我们还是要感激这颗地球卫星的存在,它使得地球的夜晚不再彻底地黑暗。
太阳光在月球上经过漫反射后到达地球,期间经过大气形成散射光。这个过程和原理已经在前文花大笔墨阐述。但是和白天不同的是,晚上的光线十分微弱,一些暖色光和散色光混合以后,显现出银白色甚至于宝石篮的颜色,图night.image1所展示的是一幅十分美丽的桂林夜景。值得注意的是,尽管晚上的光线十分昏暗,但是,在这昏暗中仍然充满了变化。这些变化与月亮的位置、月相、云层厚度都存在各自的关系。这样的原理前文也已经提到,这里是同样的道理。变化归变化,但有一点是始终不变的:在夜晚,除了被人工光源照亮的地方,地面的光线总间接来自于天空,所以地面总是比天空要暗。有时,我们不经意就把地面的颜色调得比天空亮,可能一时间反应不过来哪里出了问题,但总是会觉得画面很奇怪。
CG中,夜晚场景灯光,主光一般设置为藏青色,补光选择篮色,光比大约6:4,灯光与地面夹角可以为任何角度。一般情况下,灯光师不会被要求设计特定日期的月光。所以满月便是最好的选择,当月相为满月时,我们整晚都能看到最亮的月亮。图night.image4是笔者对这个时段光线的演示。
注:
月亮在天空中出现是有规律的。和太阳一样,它也是东升西落,但是周期和太阳的不同。有时它会和太阳同时挂在天上,但是白天的天空太亮,我们便感觉不到它的存在。农历上半月,月亮从朔到望(即由亏到盈、由缺到圆),月亮位于太阳的东边,在日落以前已从地平线上升起,出现在天空。新生的蛾眉月,常在太阳升起后不久就升起,黄昏后已出现在西方天空,月牙的弓弧向西,但不久即消失在西方上的天空。弦时,月亮在正午升起,18点左右出现在南方天空,弓弧向西。满月时,太阳从西方地平线上落下时,月亮正好从东方地平线上升起。农历下半月,月亮从望到朔、即由盈到亏(由圆到缺)的月相称为残月,残月位于太阳的西边,在日出以后月亮才从地平线上落下。下弦时,月亮在半夜0点左右出现在东方的地平线上,弓弧朝东。蛾眉月(残月)出现在黎明前的东方天空,月牙弓弧向东,但不久即消失在东方天空中。夜晚看到月亮时间的长短可根据月亮圆缺的情况推测出来,月亮愈圆,夜晚看到月亮时间愈长;月牙愈窄,夜晚看到月亮时间愈短。如新月(朔)整夜不见,上弦月上半夜能看到,满月整夜可见,下弦月下半夜能看到。下表归纳了这些现象。(night.image3)
如果按照上述灯光设置的方法,藏青-篮属于相邻的色系。这样的补光方法会显得比较单调。但索性,晚间我们可以通过人工光源来补充自然光的这一不足。由于色温的关系,人工光源呈现出暖色或是中性的绿色(一些荧光的物体),这和夜晚的自然光正好形成一种有益的互补。如果夜晚场景含有人工光源,人工光源将成为主光,它的形式是点光源。主光选择暖色,补光选择冷色。光比大约8:2。图night.image4是笔者对这个联立光线的演示。
纯粹的夜晚光线适合用来表现一种宁静的气氛。这种宁静可以视为可怕、紧张,也可视为安详,表达的内容始终比较有限。而此时段的光线一旦和人光光源联合作用,便产生了新的语境。人光光源可以出现在任何位置,顶光、底光、侧光、逆光甚至正面光都成了灯光师表达画面的语句。可以说,只要通过灯光师的加工,这时的光线除了含有它“黑暗的”、“冲突的”、“神秘的”的本意外,还能拥有其他任意的气氛和情绪。(night.image5)
关于自然光的解读,行文至此差不多该收笔了。此文有别于平时比较多见两类文章,一类是关于灯光与渲染的技术文章,另一类关于色彩、色温理论的应用。目的旨在让读者从光线性质以及更微观的角度来理解CG中的灯光。相信细心的读者能察觉到,文中虽有多处花了浓重的笔墨解释光线,但远未为到淋漓尽致的程度。一者因为在某些现象上,笔者自身未能寻求到一个满意的答案,再者因为篇幅关系,很难面面俱到,譬如色温等一系列概念都未作深入探讨。相信读者心中自有一番独到的见解。最后,将此文献给所有读者,让那些对于自然光不可捉摸的困惑一散而尽吧。
申明
文中图片dawn.image1、dawn.image5、daylight.image1、daylight.image3、daylight.image6、midday.image1、midday.image2、sunset.image1、sunset.image2、sunset.image5、night.image1、night.image5的版权归原作者或公司所有。
联系客服