《双子杀手》中年轻的Junior CG制作技术解析

作者:CG世界 2019-10-25

电影《双子杀手》进行了一场关于“我是谁、我在哪、我为什么要打我自己”的人性拷问,值得观众贡献票房的理由有很多,导演李安、主演威尔·史密斯、3D+4K+120帧、青年的自己和中年的自己打架、影视首个100%数字化真人角色等等。很显然,影片中出现的那位23岁的威尔·史密斯(剧中角色Junior)并不是导演玩穿越的时候给抓来的,而是依靠现在强大的视觉效果(李安导演说应该称其为“视觉艺术”)技术制作出来的。

接下来就带大家了解一下国际顶级团队的艺术家们是如何制作《双子杀手》中年轻的威尔·史密斯Junior的。

制作团队

参与这部电影制作的VFX团队有Weta Digital、Scanline VFX、East Side Effects和UPP,其中Weta Digital完成了和Junior相关的全部任务。

Weta在很多漫威影片中都成功塑造了de-aged角色(比如年轻的弗瑞局长、寇森和托尼),这次他们没有“旧瓶装新酒”,而是整出了一个完全数字化的角色,以逼真的效果、极高的渲染细节和干脆利落充满力道的角色表现刷新了创建数字人类的新标准。

拍摄及动捕阶段

 

制作前期,Weta 团队在USC ICT Light stage上对威尔·史密斯进行了非常细致的扫描(就连牙齿也没放过),获取了一系列照片素材和turntables(简单理解为360°旋转展示),创建了和本人极为相似的数字版本,为下一步工作做铺垫。还扫描了一位23岁非裔美国演员的皮肤纹理用作素材参考(只是参考年轻人的皮肤状态,不涉及他的面部结构)。

▲设备展示,图片来自网络

在整个电影拍摄阶段,Weta先后分三次拍摄了威尔·史密斯的参考素材,第一次是在准备前期,第二次是在影片开拍时(并进行了FACS面部动作编码系统操作),第三次是在影片拍摄尾声。

 

现场拍摄采用A/B方式,威尔·史密斯扮演51岁的特工亨利出镜,另一位演员扮演23岁的Junior与他搭戏,之后再进行调换。通过这样的方式,表演者能够对对手的表演做出反应,与对手产生互动和眼神上的交集,相互匹配,从而获得协调同步的表演。

影片拍摄即将结束、后期制作即将开始的时候,Weta团队协助影片制作团队建立了mo-cap(动作捕捉)舞台来捕捉A/B表演。这次两人饰演的角色对调,威尔·史密斯佩戴动捕装置扮演Junior,另一位演员扮演的亨利,其他重要角色演员也会在舞台上再次进行表演,为的是营造出真实全面的表演环境。

二次拍摄结束之后会选取效果最好的一个take,录制威尔·史密斯第二次表演的声音,再将所有音频进行同步。

(为了不给大家造成绕口令般的困扰,下文中“威尔·史密斯”用“W.S”代替,“23岁的威尔·史密斯”用“Junior”来代替。)

换头 vs CG角色

对电影行业稍微有些了解的人都知道“换头”这事。说到面部替换,小编想到了《银翼杀手2049》和《金刚狼3》。在《银翼杀手2049》中,MPC用CG手段将扮演Rachael的女演员肖恩·杨还原成年轻时的容貌,面部还是肖恩的面部,身体表演是另一位演员,在《金刚狼3》汽车追击片段中开车的也不是狼叔本人。虽然都是“换头”,《双子杀手》用到的技术手段和前面二者不太一样。

在“什么时候换头”和“什么时候用CG角色”的问题上,Weta团队始终认为表演才是关键核心,身体是表演的一部分,不能把W.S的头部换到别人身上,不然表演是分裂的。当他以亨利的身份出现在镜头中的时候,Junior就必须是动捕的数字化角色。

动捕时,会在W.S脸上设置精确跟踪点,头部佩戴红外摄像机装置(HMC),背后衣服下面隐藏的小型电池为这个装置提供电量,透过服装能看到他背心上离散的红外光点,用来跟踪他的身体。动捕过程采用了同时捕捉面部和身体的方式(包括肩膀在内),能非常完美地跟踪头部,使之和肩膀匹配到一起。

当然有这么两种特殊情况可以采用“换头”技术。第一种,镜头中只出现Junior,也就是W.S有空扮演23岁的自己,身体是镜头表现的重点,为了节省制作时间,可以给他换头(身体还是W.S的);

第二种,特技表演。比如有一个二人在1英尺宽度墙壁上以50英里/小时骑摩托车的镜头,很显然W.S没法完成高速飙车表演,这些镜头大部分是特技演员的身体。也有例外,Junior的特技骑手的身形比Junior要瘦小,因此替换是以腰部位置为分界线的。

面部CG

为了创建数字角色Junior,Weta先制作了W.S的数字副本,只有与本人精确匹配之后,才能将他的表演重定向到年轻数字角色上。

前面我们提到了影片开拍时进行了FACS Session来研究W.S的一系列表情和动作。在此过程中,依靠W.S脸上涂的白色印记和标记点为摄影测量提供帮助,得到了一组网格动画。

上图是W.S正在进行FACS Session时的照片,为了将表情重新映射到Junior脸上,需要为其制作极为精细的面部动画,带有23岁年轻人应该有的皮肤纹理。

根据以往项目经验来看,想要获得演员皮肤细节,在拍摄参考素材之后会为演员创建石膏模型,根据模型制作乳胶面具,放到平面扫描仪上进行扫描,获取毛孔排列方式,从而得到面部纹理效果。但这种2d方式得到的毛孔形状有个问题:不完美。

这次,除了之前扫描得到的23岁非裔演员皮肤纹理,Weta一位着色器编写人员发现了富有创造性的新方法---程序性毛孔系统。利用复杂规则使Junior脸上的毛孔生长,开发出定义年轻演员皮肤流向的流场,不同毛孔连接起来得到椭圆形毛孔,从毛孔层次产生令人信服的皮肤效果。

CG:流场控制毛孔走向

咱们来看这些CG Junior的图像,毛孔位置用点来表示,不规则毛孔之间的线形成了面部皱纹,颜色越深的地方皱纹就会越重,流方向偏向颜色深的部分,而椭圆形也是从颜色深的部分形成的。还有一些看上去很小的线也很重要,因为面部褶皱是多向的,细小部分不能忽略。

这个高分辨率的人脸上拥有数百万个毛孔多边形网格,通过四面体模拟运行,随着面部产生收缩、压缩和拉伸等运动,毛孔会沿着适当的流线弯曲,从而形成Junior脸上的各种细纹。

这种新方法代替了以往扫描演员皮肤获得乳胶面具来模拟平面2D UV空间的方式,实现了毛孔的3D生长,保留了2D方式丢失掉的细节,达到了前所未有的面部皮肤效果。

数字眼部 

Weta团队改进了他们原有的复杂数字眼部流程,对6位志愿者进行了一天的眼部研究,用手拉动眼睑或是尽可能多地拍摄眼部素材。他们发现CG眼睛之所以有时候做得很像洋娃娃和布偶,是因为没有正确处理眼睑和眼睛之间的交互方式。

他们改变了之前对于眼睑和眼睛表面匹配的假设方式,认为眼睑像是作用于眼球上的一个表面面,二者是分开的,眼皮里面非常柔软,像是鱼肉贴在眼睛上的感觉,压紧眼睛并且支撑眼睑。

Weta原有流程可以对眼角膜、角膜隆起的部分、虹膜等组织进行建模,这次在原有基础上又匹配了脉络膜。

脉络膜是位于视网膜和巩膜之间含有结缔组织的眼睛血管层,位于眼球内后部最远的位置,前部比较薄,约0.1毫米,后部较厚,约0.2毫米。虽然医学文献中总将脉络膜描述为黑色,但Weta团队发现其核心是非常非常深的蓝色,不同文化不同种族的人所拥有的这种黑色素含量不同,总之就是他们在对这些组织进行建模之前,进行了深入的了解和研究。

另外一个重要任务就是调整眼球的形状。在以往的项目制作中Weta都会选择“球形”眼球,但是他们发现当眼球推入眼窝时,为了适应眼窝形状眼球会发生变形,而且眼窝也并不是非常完美的球形。也就是说,眼球会出现角的结构以填充眼角的位置。

Weta对结膜结构也进行了建模。结膜是位于角膜上的一层薄膜,一直延伸到角膜凸起的边缘并与之相连接,可以保持眼睛湿润。他们发现W.S眼角泛黄是发生在结膜位置上的,如果直接将其映射到眼睛上,当眼睛转向另一个方向,它会随着眼睛滑动。但真实情况下是不会滑动的,只停在眼角的位置。

在解决了看似细小但是非常复杂的特征问题之后制作出来的CG眼睛,才不会让人感觉目光空洞两眼呆滞。

数字牙齿

尽管数字Junior角色的形象看起来已经很不错了,Weta团队还是在尽力寻找可以提升效果的空间。

早期他们打算根据表情和摄影参考对牙齿进行建模,来匹配W.S从黄色过渡到略带蓝色的牙齿,效果单从颜色上看就不太令人满意。在之前的项目中Weta也创建过非常复杂的牙齿模型,但为演员的牙齿内部进行建模还是头一次,这里面涉及到了牙釉质和牙本质的问题。

通过研究发现,牙本质是黄色的,牙釉质是蓝色的,都是非常透光的材料,牙冠最高位置接近于白色。牙冠的牙釉质要比牙本质多,因此我们看到的颜色倾向于蓝色,而牙齿中心的牙本质比牙釉质厚,颜色就倾向于黄色。

Weta团队在研究了牙齿结构之后,对演员牙齿的牙本质和牙釉质两个结构分别进行建模并添加了合适的材质,获得了从黄色过渡到蓝色的复杂色彩关系,才有了看上去特别逼真的Junior的牙齿。

先来介绍一下Mannuka。Manuka是Weta Digital基于物理的渲染器,可以高效、快速地处理复杂需求,《霍比特人3:五军之战》就用到了它。为了更好地适应Spectral Manuka工作流程,Weta团队对拍摄现场的每一盏灯进行了扫描和捕捉,得到了准确的光谱信息,并使用滤镜制作了一组双包围曝光(Bracketing)的HDRs,将标准12stops的灯光射程扩展到24stops。

PS:摄影包围曝光可以帮助我们拍摄高对比度场景,是一种克服技术限制、创建自然图像效果的简易拍摄方式。

 

在创建Junior面部效果的时候,他们并没有采取在ICT Light Stage上进行光谱采样的方式,而是用黑色素来定义皮肤,其中包括真黑色素和类黑色素。通过渲染器了解到“什么时候光会照到皮肤”“黑色素密度在哪里”“黑色素的特征是什么”等信息,然后对黑色素进行光谱数学运算,这个过程就类似于做染色而不是色彩贴图。

通过黑色素密度和特征数据渲染出我们看到的面部特征。再加上血红蛋白的重新分配,可以有效地增加Junior脸上的血液流向(比如和他父亲面对面的那一段)。这种创建方式不仅影响了脸部的整体颜色,对鼻子和眼睛的影响也很大。此外,创建Junior流泪时眼睛泛红的效果,只要加重血管来改变眼睛的颜色就可以了。

这部分还用到了Weta Digital开发的新技术Deep Shapes,在《复仇者联盟4:终局之战》中也用过。面部肌肉运动的深度是不同的,如果肌肉运动所产生的影响是在筋膜里,在面部表层皮肤也会呈现出某种明显的效果改变。Deep Shapes正是基于这种概念研发出来的,它从根本上改变了深度面部层读取表情的方式,动画师可以直接从皮肤表层看出影响效果。