电影CG影像的摄影布光
从70年代起,电影就开始借助计算机技术来实现在实拍中无法达到的一 些效果,第一部使用计算机生成图像的故事片是1973年的电影《西部世界》(Westworld,1973),其中一个战斗场景用像素化的方式来处理其中机器人的视点。
随后大量科幻片开始使用计算机生成的线框图形来描绘实景拍摄无法做到的景象,雷德利·斯科特(Ridley Scott)执导的科幻恐怖片《异形》 (Alien,1979)使用线框图形来表现宇宙飞船中的导航监视器,同年,迪士 尼出品的电影《黑洞》(The Black Hole,1979)中使用线框图形来表示宇宙中的黑洞,但当时这种简单的像素化或者线框状的图形并不能产生光影效果。
随着计算机图形学中呈现三维图像真实感技术的提升,高洛德(Gouraud)明暗处理法以及冯氏(Phong)处理法等技术被开发,计算机生成物体表面开始能够以漫反射形式反射光线形成真实的反光。大量计算机生 成影像开始开始出现在故事片中。80年代初期,科幻电影《电子世界争霸战》(Tron,1982)主要依靠计算机生成图像完成拍摄,其中大量场景都是真人实拍和计算机影像的结合。

虽然这部影片的票房表现十分惨淡,但是并没有影响人们对于CG技术的兴趣。20世纪90年代,这项技术的潜力才得以充分 显现,工业光魔(Industrial Light and Magic)制作的影片《侏罗纪公园》(Jurassic Park,1993)开始使用CG技术创造影片中的恐龙形象,1995年,皮克斯出品 了首部完全由计算机生成的三维动画《玩具总动员》(Toy Story,1995),本节的主要论述对象就是这些使用计算机生成的三维影像。
CG影像的生成
CG影像的生成主要包括建模、材质和纹理贴图、布光、渲染四个步骤,
画面最终的呈现果是由这些步骤共同决定的。建模是在计算机的三维空间 中建立几何图形来表现物体和角色。材质决定了模型对灯光的响应方式,以 此来表现物体表面特殊的质感。渲染负责计算图像中每个像素对光线做出的 反应。纹理负责给模型表面加上丰富的细节和视觉效果。动画片《赛车总动员3》(Cars 3,2017)中,就使用凹凸粗糙度(Bump-Roughness)算法对众多的汽车角色的材质进行渲染,模拟出了汽车金属外观中的划痕、油漆剥落 等微小的细节,赋予符合每个汽车形象独特的外观质感,塑造了生动的动画 角色。
从影像的生成方式中可以看出,电影CG影像在创作中相比实景拍摄有 更大的自由度和可调节空间,每个步骤的效果都可以明确体现出创作者的创 作意图,这一点同样也体现在布光创作上。
电影CG影像的布光与发展
为计算机生成图像进行布光时,数字灯光师使用的照明工具大多依据实 景拍摄中的灯光类型而来。利用这些灯具,数字灯光师同样可以根据剧情需 要对人物使用“三点布光”、“伦布朗”等与实景拍摄同样的人像布光方法, 灯光的亮度与色彩均可以根据需要在软件中进行调节,在实景布光中的各种艺术效果在计算机中也可以实现。
动画电影《心灵奇旅》(Soul,2020)中,为了能够正确呈现肤色,为黑人角色布光时就参考了真人摄影时的方法,通 过为角色设置更多的高光使面部显得更加立体,在设置灯光的反射类型时使用了80%的镜面反射精度(specular accuracy),因为镜面反射的高光在深肤色中作用更加明显。在为画面的场景布光时,整体的色调和光影效果参考了传记电影《塞尔玛》(Selma,2014)中的光影质感。
当拍摄实景与计算机图像合成的影片时,为使计算机角色获得与实景中一致的场景光线,通常使用基于图像的布光(Image Based Lighting,简称为 IBL)获取场景中光照信息。在场景中放置环境球来获取的真实光照信息,最终达到计算机生成角色的实际场景的灯光效果相匹配的效果。早期大量涉及到真实场景与虚拟角色结合的影片,如《深渊》(The Abyss,1989)《终结 者2》(Terminator 2:Judgment Day,1991)《侏罗纪公园》等,都使用了这种 方法将CG角色和真实场景相结合。
使用计算机为电影中角色布光最大的不同点就是可以通过对灯光控制选 项的调整,有意制造违反生活中正确的光照反应来获得需要的效果,但观众 通常察觉不到这种违反物理规则的错误。这种做法是在为计算机生成的角色 提供照明时最常使用的一种方法,主要是为了优化角色形象本身的造型感以 及利用人工可控的灯光来辅助叙事。
(1)造型
在实景拍摄中,摄影师会根据角色特征以及剧情需要来安排场景中的灯 光,每个灯的亮度、位置的改变会影响到整个场景的效果。在计算机中,一 盏灯可以通过人工设置成只照亮一个角色,而不对其他角色产生影响。在为 动画角色布光时,场景中已有的光源不足以使三维模型具有立体感,需要创建灯光单独为角色照明。
在动画片《蚁哥正传》(Antz,1998)中,蚂蚁的眼睛在建模时实际上使用了平面的模型,无法反射场景中已有的光线,为了克 服这个问题,灯光师在环境中添加了大量小灯,并将这些小灯设置为只照亮蚂蚁的眼睛,以此使蚂蚁的眼睛获得立体感。同样在电影《阿凡达》(Avatar, 2009)中,当使用一些暖色调的灯光对场景照明时,暖色灯光和纳美人皮肤的蓝色会混合呈现出灰色,从视觉上看并不美观,为了避免这种互补色之间的混合,灯光师使用了"光谱补偿"(spectral compensation)的方法,在渲染过程中忽略了橙色和蓝色光线的互动,使得纳美人的肤色不会受到光线的 影响,保持原本的蓝色。
(2)叙事
除了基本的对角色的造型作用,通过人为调整的不符合物理特性的光线 还具备相应的叙事功能。例如,在皮克斯出品的首部三维动画电影《玩具总 动员》中,充分利用了计算机灯光的特点发挥其叙事功能。
影片中,巴斯光 年的塑料头盔被设置成只反射出三个在故事发展中最值得注意的影像,首先 是他所在的房间中的周围环境的图像,其次是后和他并肩作战的伍迪,当 他和伍迪靠近时,伍迪的脸被映照出带有玻璃反光效果的图像。
最后,是当 巴斯光年得知自己的身世时看到的电视广告的反光,电视广告在头盔上的反 光被故意设计成更清晰、更锐利的效果,并且对画面反光的位置也进行了调 整,这样观众既可以清晰地通过反光看到电视画面,又不会掩盖巴斯光逐渐 失落的面部表情变化。当巴斯光年和伍迪的关系从敌对变成伙伴时,头盔上 便出现了伍迪的倒影,以此来暗示二人之后的命运会仅仅交织在一起。
这种使用计算机才能够完成的灯光欺骗的方式为数字电影布光带来了更 大的自由度和创造性。而真正给画面最终呈现效果带来影响的,是渲染方式 的不同,渲染技术的发展影响了场景中的光影效果。
从局部光照到全局光照
在为CG生成的场景布光时,由于早期计算机性能较低,大多使用局部光照(local illumination)的方式进行渲染。局部光照不考虑光线在物体间的反射,画面中的直射光、反射光和阴影需要单独进行设置。早期许多动画场景中使用光照欺骗的形式来模拟出真实的光影效果:使用阴影贴图(shadow map)算法处理阴影;使用反射贴图(reflection map)模拟光线的反射和折射;利用虚拟的反弹光源(bounce light)去模拟物体间的间接漫反射,但这种方式很难得到真实的光影效果。
在计算机图形学领域,真正能够模拟现实世界环境光照效果的是全局光照(global illumination),全局光照不仅可以计算场景中来自光源的直射光,还将经过场景中其他物体反射后的光线考虑在内同时进行渲染。如今电影中 大多数计算机生成图像都采用全局光照算法进行渲染,即使是在一些风格化 明显的动画电影中。不断接近现实生活中的光影关系,生成照片级真实感的 图像,是计算机生成图像一直以来的目标。
按照全局光照渲染技术发展的时 间顺序来看,光线追踪(ray tracing)、路径追踪(path tracing)和基于点的 全局照明(point-based global illumination)是当下使用最多的三种算法。光线追踪算法是最早的一种用于实现全局光照效果的算法。1998年,皮克斯在《虫虫危机》(A Bug's Life,1998)中首次尝试使用怀特迪式(Whitted) 光线追踪算法 ,用来渲染影片场景中玻璃表面的镜面反射和折射。
在许多 包含植物和生物的大范围场景中,不需单独设置阴影贴图就可以获得更为真实的光影效果。2006年,皮克斯将Render Man渲染器进行重新架构升级, 使用辐射度算法(radiosity)为《料理鼠王》(Ratatouille,2007)渲染厨房中金属质感的物体,使厨具表面呈现出了自然的光泽,在满足导演营造出的整 体风格化的外观的同时,又具有一定的真实感。
随着动画电影中场景的设计以及材质的使用越来愈复杂,对计算场景中 复杂的光线反应的要求也越来越高,为了达到生动的画面效果,每个镜头通常会有成千上万的灯光以及各种用于调整灯光参数的着色器(shader)。
在 《怪兽大学》(Monsters University,2013)、《蓝雨伞之恋》(The Blue Umbrella, 2013)中,皮克斯改为使用基于物理的光照(physically based lighting)和分 布式光线跟踪(distribution ray tracing)两种方法,这种方法能够最大程度上简化计算机图像繁琐的灯光设置,减少大量人为设置的突出场景造型感的 补光。
在《怪兽大学》中,有一场麦克和苏利文在湖边的夜戏,布光时仅仅使用了一个球形环境灯(sphere area lighting)模拟月光作为逻辑光源照亮画面,月光在湖面不仅形成了清晰的倒影,还照到角色身上形成了一种轮廓光, 形成了和实景拍摄时同样的剪影效果,这样的多种材质对光线的真实反射在 局部光照中是难以实现的。
参考文献