Eido首席动画师分享:《银河护卫队》如何打造3A级面部表情管线?
对很多游戏来说,尤其是高品质游戏,面部表情是影响玩家代入感很重要的因素之一。对的口型、表情,以及同步的配音,往往可以让一个角色栩栩如生。
在GDC2022大会演讲中,Eidos蒙特利尔工作室首席技术动画师Simon Habib详细介绍了《漫威银河护卫队(Marvel’s Guardians of The Galaxy)》背后的面部表情动画管线。
以下是Gamelook听译的完整内容:
Simon Habib:
欢迎来到“《漫威银河护卫队》的面部动画管线”,我是Simon Habib,在Eidos蒙特利尔工作室担任首席技术动画师。简短介绍一下我自己,从业生涯的前十年我主要是从事绑定师工作,这为我在工具研发、人类与敌人动画等方面打下了基础。
最近几年,我投入到了真正热爱的领域,也就是面部动画,因为动作冒险剧情游戏是我最喜欢玩的品类,所以从事这些项目是很契合我的,也让我可以创作带有情感的高品质动画。考虑到玩家对游戏的正面反馈,我可以很自豪地说,我们的角色是被玩家认可的。
作为开始,我展示过场动画的一部分内容的不同制作阶段,通过今天的分享,我们会知道这个场景是怎么创作出来的:
以下是我们将要在今天分享的话题,首先我们会提到愿景,也就是对项目开始时候的目标和预期;接下来我们会提到摄影测量扫描(photogrammetry scan),这是我们重新获取模型图片以实现角色动画正确的过程。
在第三部分,我们会提到动作捕捉的三个技术(Performance capture:Cinematics、Banters/Barks、E-Motion Capture),第四部分,我们会提到如何处理从动捕阶段得到的数据,并把它们转化为动画(Batch Processing),最后一部分,我们会谈到过场动画优化,以及如何将它做到最终品质。
需要提前说明的是,这次分享主要围绕面部动画,所以不会提到过场动画管线以及面部绑定方面的任何东西,主要讲的是如何捕捉演员面部表情,以及如何为角色做面部动画。我把它们做成了一些技术术语,但依然是对整个面部动画的一个整体概览。
项目愿景
当我们开始整个项目的时候,我们打算做的是什么?我们当时就知道《漫威银河护卫队》将是一款表演驱动剧情(performance-driven narrative)游戏。作为护卫队,我们希望有一个5人团队,并且在游戏大多数时候都在一起。我们知道这些角色需要做成漫画那样的风格,但同时必须是可信的,它们必须有栩栩如生的面部动画。我们还知道他们需要在不同星球之间穿梭,所以他们并不是人类角色。
我们希望寻求技术创新,以便用到我们的游戏之中。其中一个技术就是摄影测量,通常来说,我们都会有一组美术师专门从事角色图像、动画、参照等方面的创作。然而使用了摄影测量技术之后,我们可以通过对真人的扫描来创作角色基础内容,这方面我们会在接下来详细说。
谈到音频动画和视频动画,很多游戏都是通过音频来影响角色面部表情,这个方法是通过E-Motion技术程序生成的,很容易通过声音想象到角色接下来的表情是什么。视频动画方面,演员的表演就是我们的动画基础,可以直接用到角色之上,因此可以带来更可信的表演和微妙的细节。
非常幸运的是,我们有内部动捕舞台,因此可以在整个项目都是用动作捕捉技术。我们的演员都是本地团队,因此从表演、捕捉到生成游戏角色动画的过程非常短,尤其是与外部动作捕捉团队合作相比,这是个很大的优势。
我们来说说完整动作捕捉的优点,很多人倾向于将配音与面部动画分开做,然后整合到过场动画当中,这很容易导致面部表情与台词不一致,让人觉得角色表现不连贯。作为对比,我们的动作捕捉过程,将演员的声音、表情和动作全部捕捉,确保了角色表情做到尽可能自然。
对于游戏,我们有时候往往需要在质和量之间做出选择,意味着我们要么做大量的动画,要么做更少、但质量高很多的动画。在这个项目上,我们希望证明的是,质和量是能够并存的,只要我们把面部动画进行分级即可。
青铜级指的是只需要很少人力(或者不需要人)参与的动画制作,白银级动画是那些动作捕捉实现但需要人手处理的动画,黄金级则是比较重要的动画。
摄影测量扫描
这个技术是通过对一个物体不同角度拍摄数百张不同的图片,来打造一个3D模型。
考虑到我们的设定是银河系,因此角色并不需要和演员做到一比一,所以我们需要确定的是,先铸造一个模型,然后基于这个人设计一个概念,还是反过来做?考虑到项目需求,我们决定先设计一个角色概念,然后在这个基础上铸造模型。
这个摄影测量间是Pixel Light Effects设计的,并安装到了我们自己的个工作室内,这个房间包括40个DSLR摄像机和5个柔光箱(softbox)灯,所有都是同时触发。模型铸造方面,我们有13个扫描环节,对于每个表情,我们在他们面部放了大约100个面部标记,我们让演员表演25个面部表情,我们用完整的面部表情分为138个形状,用于面部表情绑定。
快速讲一下流程,这个测量间可以给我们带来.CR2图形文件,我们会把它放到Lightroom Classic进行颜色关联和光线调整,然后用Reality Capture生成高分辨率网格。随后,我们将这些动画交给角色团队,通过Wrap3以及ZBrush进行最后优化。
这里是Maya软件里的Blendshape预览,这个环节的目标是确保我们的角色与现实中的模特表现一致。它的优点在于,我们可以将一个角色面部很多部分拆分,与其他角色之间进行混搭,以创作全新角色。
在右上角,我们可以看到一个摄像机拍摄的不同表情,下方则是通过Blendshape转化的不同模型。
动作捕捉(Performance Capture)
从我们的内部动作捕捉设定,演员的身体动态、面部表演和声音都是同时录制的。我们在整个项目使用了三种类型的动作捕捉,我们接下来会逐一探索。
下图当中,我们可以看到在内部使用的动捕体量,虽然与其他工作室相比,我们的规模相对较小,但对于动画、移动和一些特技都非常有帮助。最多的时候,我们有7名演员同时录制,其中六个带着用来捕捉表情的HMC(头戴式摄像机)。
身体动态捕捉是通过OptiTrack实现的,头盔是由Faceware提供的。右侧的图片里,我们可以看到演员们全副武装,带了头盔穿了制服,每个演员都有各自的现场麦克风,单独录制每个人的声音,然后在需要的时候整合到游戏里。
有了这些之后,所有数据都需要同步,所以我们在所有环节都是用了Timecode,还使用了内部解决方案Lumiere用于全局触发。
在下方的照片中,我们可以看到实时直播的面部表情录制,通常录制捕捉的时候,我们有5个人从这个视角监督,包括制作人、系统总监、动捕专员、音频工程师以及我来处理面部技术。我们还有一个团队负责给演员穿制服,这些都是正常条件下,但去年(疫情)显然不是正常的,我们有了很多限制措施,比如社交隔离,佩戴口罩等等。
不过比较有趣的是,我们有一个摄像机拍摄房间,并且通过视频会议直播,这样其他人在家也可以进行沟通和反馈。尽管条件受限,但我们依然完成了所有需要做的工作。
通过这张图,我们可以看到使用了多少个摄像头,这是Faceware的Mark III 头戴式摄像头,这些模型都是RGB录制,彩色镜头是720p 60fps,摄像头采用了昏暗的LED光,降低了刺眼的背景,让阴影最小化。
对于校准,我们在演员脸上画了27个点,与软件中追踪的数量一致。监视器方面,我们采用了带透明网格板的显示器,确保演员的脸部在视频中央,这对动捕的连贯性和稳定性都有帮助。
值得一提的是,演员的舒适感也很重要,我们用的头盔都比较轻便,摄像头正好在他们面部前方,不会影响他们的视线。我们还一直提醒自己,不要影响他们的表演。
这里我们看到的是最开始展示的过场动画动捕录制场景,图片右侧是六名演员,中间是三个参照摄像头,底部是录制文件名和时间标记。这可以同步所有内容,包括音频。
另外一个动态捕捉类型我们称之为Banters,我们知道护卫们在整个游戏里都会说话,我们所有演员都在一起录制,这样保证了角色之间的化学反应。我们一共录制了2.3万行对话,每一句对话都是所有人都在现场的时候录制。录制的视频用来给移动、战斗和游戏内对话制作动画。
尽管我们录制了整个面部,但主要还使用下部面进行嘴唇同步,整个面部会交给机器学习进行表情追踪。
在视频中,我们有一段打趣对话,录制的时候,演员们并不是静止的。由于他们的摄像头安装在脸部前方,在对话的时候可以随意走动,不用机械地盯着提词器,这样既不会带来玩法问题,也不会造成音频混乱。
可以看到,在对话录制期间,我们的演员有时候也会相互开玩笑,考虑到整个过程很长,这样的设计也能够让他们享受整个表演过程。
最后一个是情绪捕捉(E-Motion Capture)。录制期间,我们会要求演员们用不同情绪进行录制,因为我们在用不同情绪说同一句话的时候,会出现很多无法用言语形容的姿势,对于说话者和倾听者都是如此,所以,我们让他们一对一站立(或坐下),可以在移动之上增加一层。
如之前所说,调侃阶段录制的面部表情可以传递给机器学习处理,以生成情绪轨迹。
这是游戏内调侃,你们可以注意到嘴唇同步与表演一致,身体也有叠加动画,而且每个人说话的时候,他们会目视彼此。需要注意的是,这些事自动生成的,所以我们将其视为青铜级动画。
批处理
录制了这三种动态捕捉之后,如何将这些数据转化为动画?这就到了批处理环节,它指的是运行数千个视频、自动追踪演员面部表演,并将第一遍动画应用于各自角色套索的能力。
为了批处理动捕视频并生成面部动画,我们必须训练软件以便理解每个演员的面部与其他演员移动有何不同,通常是将现实中的演员与其对应的角色绑定在一起。
图片右侧是Faceware Analyzer的两个界面,这个部分,我们打造了一个追踪模型,收集了所有的表情动作和口型变化。我们的原则是少即是多,让软件去选择最正常的表现,连贯性是关键,意味着我们不能将同一个表情做出完全相反的效果,这会让软件训练的时候困惑。
这些过程之后,我们在Retargeter里重复同样的动作,以便在数字角色上为面部表情打造姿势库。这个姿势库会包括一些极端情况,但我们也想做一些微妙的表情,我们希望保持不对称来把握演员表演的时机。总的来说,我们有20个角色的面部表情轮廓。
当我们打造了面部表情轮廓之后,就可以用Facial Rom录制,它可以将不同面部位置进行分开录制,然后混合探索这些轮廓的范围。当有新演员加入的时候,ROM也是有帮助的,以便我们为之打造轮廓,并将其与对应角色匹配。
这些是我们用来批处理的工具,但由于时间限制,我只将一系列Analyzer和Retargeter批处理工具列举出来。
电影级润色
完成了批处理之后,我们就可以来到电影润色阶段,这是一个现存动画之上的技术和美术润色阶段,主要是为了获得最高的保真度和最可信的动画。
这里是我们的动作捕捉艺术家团队,我们的四人团队属于电影部门。团队的职责之一就是处理身体动态捕捉数据,包括演员来的时候帮他们搞定制服,以及打造身体轮廓,随后我们清理数据,并且将这些重新定位到对应角色身体上。
我们还负责白银级面部表情通道,这里分为两个阶段,技术层面,我们的目标是将动捕与真实演员尽量匹配,这里最重要的是精准度和捕捉敏锐,还包括特写镜头的舌头动画。随后还有艺术阶段,这时候我们可以超越表演者的表达,可以强调或者保持表情,也可以突出不对称。
这是青铜级和白银级面部表情处理,左侧是青铜级,意味着没有人力参与润色,右侧是白银级,它们是在Maya里捕捉的而不是我们内部引擎,所以有些着色器可能看起来有所不同。
随后,我们会将这些交给电影动画师,放到场景中、将动画做到最终品质,包括多个角色、道具、车辆、摄像头和环境。除了人类角色之外,我们还会给动物和生物做动画,包括面部表情。另一项任务是调整头部与外观比例,最具有代表性的是火箭浣熊。
具体到角色面部,我们同步动画师会将它做到黄金级,包括特定的剧情节点以及营销宣传。他们负责最后一步调整,他们还可以做摄像头动画,直接在场景中为角色调整面部动画。
总结
在分享的最后,我希望总结一些心得。
整体而言,我们的面部动画实现了质和量的兼顾,做了13个扫描环节,打造了20个Faceware轮廓,录制了2.3万行游戏内动画,其中几乎所有动画都是青铜级。我们还打造了5.2小时的电影级过场动画,包括故事中的多个分支剧情。其中白银级和黄金级的比例是90%:10%。
未来,我们可以如何提升处理过程?我希望在场景和摄像头捕捉的时候进行更多优化,我还想做更高的真实感,但这取决于项目的艺术方向。最后是引擎内带有合适的光照和着色器的预览效果,以便在Maya制作的周期更快。
····· End ·····
GameLook每日游戏产业报道
全球视野 / 深度有料