刺杀小说家

路阳
动作/奇幻/剧情
2021

电影改编自双雪涛短篇小说集《飞行家》中的同名短篇小说《刺杀小说家》,讲述一名父亲为找到被拐卖的女儿,接下一桩刺杀小说家的任务。与此同时,小说家创作的奇幻世界里,一个男孩也开始了自己的复仇之旅。

项目解析

  • 电影「刺杀小说家」由路阳执导,宁浩监制,雷佳音、杨幂、董子健、于和伟、郭京飞领衔主演,MOREVFX 负责视效制作;影片共1843个视效镜头,中有1563镜都是由MORE完成的,全片占比90%以上。
    今天将由MORE的艺术家们分享超高难度数字角色 —— 赤发鬼·表情 的制作。

    赤发鬼身高15米,与他的体量相比,人类是特别渺小的存在。受造型影响,赤发鬼身上的硬甲限制了他的表演,脸上一直戴着面具,额头上插了一把剑,针对这种体量差异,我们在动作设计和表现上做了很多测试,将角色的表演和造型进行匹配。

    part 1 · 资产
    赤发鬼的表情制作需要符合他本身人物形象特点,为此我们做了许多表情设计,在三维表情制作时,我们制作了角色头骨,先通过复合表情做出符合角色形象的表情,待这些表情设计完成后,再将复合表情拆分成单元AU,再结合面部肌肉解剖和角色形象特点做融合,这样一步步才能将表情做得非常扎实,最后呈现出比较真实的效果。 在制作过程中我们遇到了很多的难点,比如在做表情时,我们面部会产生挤压、拉伸、大小结构的細纹、皮下血管充血效果、还有皮肤在脸部骨骼上滑动的效果,以及脸上不同肌肉群的非线性运动等,这些都能让一个角色的性格更具说服力地呈现出来。

    赤发鬼额头中央插了一把剑,而且是直接插进头骨里的,当他皱眉或者抬眉的时候,两侧的肌肉可以正常运动,但被剑固定的区域在运动上会有局限,受运动范围和幅度幅度的局限,很有可能会影响情绪的传达。做了一些尝试后,我们都觉得效果不佳,于是推翻了最初的设定,又做了很多尝试,额肌、皱眉肌等所有肌肉群的运动方向和幅度,都准确模拟真实运动的规律,充分考虑运动的合理性,这样才能有最后真实的效果。

    part 2 · 绑定
    由于项目前期就能预见我们在造型和表情单元制作中会经历多次测试,如何加速每次迭代便是我们设计绑定系统的第一个要求。为此我们分成两阶段进行。

    第一阶段是服务于表情造型设计,在这个阶段面部造型、拓扑还不是太明确,需要快速做出几个表情,测试现有面部造型与拓扑。这个阶段的每次迭代造型跟拓扑改动都比较大,无法单纯用点序、UV、空间位置更新模型,因此,我们先按面部肌肉结构线搭建骨架,利用曲线控制骨骼的方式得到表情大型,尽量在模型上仅保留蒙皮节点。而每次模型迭代时,我们只需要调整曲线的位置,再重新蒙皮、传递权重,便能快速得到结果。


     
    一旦确认了造型,那便进入了第二阶段,表情单元blendShape制作,在这个阶段模型大型态的改变或拓扑的改变都比较少,取而代之是blendShape型态的改变,为了加速blendShape的迭代,我们使用expression驱动,且开发了基于skinCluster权重的自动拆分工具,每次拿到更新的blendShape之后,能快速拆分并套用到绑定上。
    皱纹材质球在CG制作中,有个问题困扰了所有的动画艺术家,那便是如何在动画环节看到渲染后的效果。而这个问题,在表情上又极为关键,因为表情的幅度、用力程度其实有很大的部份是透过脸上的皱纹、皮下血管充血变化、脸皮堆积情况所呈现的。如果把这些去掉,那灰模上可能没有太大的变化,或是我们必须再增加相当可观的面数,才能做出这样的效果。因此,我们便利用能在viewport显示diffuse map 、normal map 变化的材质球,让动画师可以简单预览皱纹变化,同时再把表情驱动的属性带入渲染材质球,得到最终皱纹叠加融合效果,解决这个难题。 

    而针对脸上皱纹变化,我们使用了四种贴图实现效果,除了常规的diffuse map以外,还增加了皮下充血变化的 diffuse map 、呈现脸上细纹变化的normal map以及displacement map,再利用与表情单元关连的mask map驱动脸上不同部位的变化,从而实现贴图驱动的效果。

    表情单元拆分与驱动
    以往一个表情单元只会拆分脸部左右区域,或是左、中、右区域。在赤发鬼的制作中,每个表情单元,会按照脸上肌肉部位去细分成很多小的区域。比如在某一个表情中,我们会把眉毛拆分成前段、中段、后段,同时额头的区域、眼睛区域都会分成前、中、后三段。所以,我们会把脸部分成无数个小区域,因此可以在控制一个表情的时候,可以透过不同分区的速度差去实现运动的非线性。

    此外,不同表情单元间会在融合的时候出现问题,比如将笑的表情单元和张嘴的表情单元迭加,时常会出现一些穿插或是blend shape碰撞的问题。而因为我们把脸上的每一个部位都分成很多小区域,所以可以用代码的方式,让这些区域在融合的时候计算出可控的数值,以此来解决70-80%的融合问题。不能解决的问题是我们在针对那个区域做一些修型矫正。

    part 3 · 动画赤发鬼面部表情是动画部门遇到最大的挑战之一,面部表情于CG角色来说无疑是最细腻且最难表达的一个领域。

    技术层面遇到了诸多肌肉群的联动,和极为复杂的blend shape 驱动。面部区分多个表情单元,每个单元是一个复合的表现,同时又触发了多个其他单元的表情。需要极其严谨的逻辑和造型能力,以及人体结构解剖方面的知识,才能理清相互间的触发关系。

    表演方面遇到的更多的则是艺术表达层面的难点;每一个动画艺术家相当于演员,为了避免每个艺术家对角色有不同的理解,造成表演方向不统一的问题,我们模拟真实拍摄现场,优先将赤发鬼角色的人物性格、故事背景、剧本、台词进行了大量的分析、练习与测试。

    赤发鬼是半人半神,性格凶狠残暴、奸诈还带有一些变态的性格,影片中经常会出现这样的情景;用最温柔语气,微笑着说出最恐怖的话。这也是导演对我们反复交代的,一定要将赤发鬼的情感有层次、自然且矛盾地表达出来。

    这个要求听起来很容易让人摸不着头脑,但随着对角色的深入了解和学习,艺术家们逐渐理解了导演意图塑造一个有情感、有温度、区别于以往的CG角色,除了发狠、凹造型,没有细腻情感。通过艺术家们的不断努力,银幕上展现了一个有多重人格、情感复杂、内心矛盾的人物形象。角色情感真实、丰富、立体,增强了观众代入感。值得庆祝的是,我们做到了!