这些团队利用虚幻引擎的功能证明了, 使用实时渲染、动作捕捉和面部捕捉创作照片般逼真的数字人类是可行的,他们的证据就是《地狱之刃:塞娜的献祭》(2016年)、《遇见Mike》(2017年)、《Osiris Black》(由安迪·瑟金斯表演,2018年)、《Siren》的演示(2018年)和令人惊叹的《DigiDoug》(2018年)。
3Lateral和Cubic Motion等公司的成功激励韩国的创意工作室Giantstep构思了他们自己的数字人类:《Project Vincent》。经过深思熟虑和对潜在合作可能的大量研究,这家工作室的研发部门GxLab接受了在内部开发这项技术的挑战。该团队仅靠从他们现有人才队伍中挑选的五名美术师推进工作(其中包括视觉特效美术师Daisuke Sakamoto),很快就确认了需要克服的三大挑战。
皮肤和毛发:视觉效果技术挑战
Giantstep的研发主任Sungku Kang解释说,团队面临的第一个技术问题是确保获得必要的着色技术——这是他们选择虚幻引擎的原因之一:“虚幻引擎的材质编辑器和皮肤光照模型中的Transmission与Dual Lobe Specularity等强大的皮肤着色功能发挥了重要作用,使我们在未做任何额外开发的情况下就将Vincent的皮肤质量提高到了离线渲染的水平,”他说。“如果引擎不支持这些功能的话,我们就必须付出太多的额外时间、人力和成本来开发它们。”该团队充分利用了虚幻引擎的在线学习课程来了解这种技术的开发过程和特点。团队中的开发者们还在必要情况下主动访问了源代码以了解这种技术的基础知识,确定各功能的确切用途,使用的公式以及相关特性。“我们通过利用所有能获得的信息,准确了解了更改不同参数会如何影响结果,从而能够带着更准确的意图来运用这些信息,而不是输入随机的数字来碰运气,”Kang说,“另外,使用材质实例化即时更改参数和预览结果的功能也非常有用。这大大缩短了在最终精细调整阶段所花的时间。”
Epic Games提供的《遇见Mike》免费资源样本也让团队获得了创作Vincent的视觉效果所需技术的相关提示。他们通过探究该资源得到了很多重要信息,包括如何表现精细的面部毛发,以及最终的毛发形状需要哪些类型的数据。
他们了解到,除了Maya或3ds Max提供的基本数据,还需要其他数据。这就使他们预先获得了关于如何有效设计数据结构的线索。“通过使用所有这些信息,我们的开发人员得以明确设定Maya插件或脚本的开发目标,从而缩短了开发时间,”Kang说。
通过使用《遇见Mike》中的数据作为模板,团队确信他们为自己的项目开发的专用工具是有效的。一个恰当的例子就是他们创作的Maya毛发导出工具。团队起初基于《遇见Mike》中的基本数据开发,然后系统性地扩展了该工具,加入了Vincent专用的功能。由于有了经过验证的可靠模板作为基础,团队不必为了验证所有可能的结果而从头进行费时的研发过程。否则,正如Kang所指出的,“即使完成了研发阶段,我们也会一直怀疑选择的方法是否正确,是否能让我们完成项目,这就会导致开发过程的稳定性大大降低,速度严重减慢。”
同样,在Transmission和Dual Lobe Specularity的基础上,《遇见Mike》的皮肤着色器也为如何有效划分面部区域并混合提供了有用的提示。利用这一信息,团队得以创作出一种在Maya中设置和导出面部区域信息的工具。
“因为我们对这种工具所需的最低限度功能和面部区域层级构造方式很有把握,所以我们在设计和开发Maya面部工具时节省了大量时间,”Kang说。“开发人员利用虚幻引擎的功能和样本为Vincent打好基础,然后开发出满足我们的附加需求的额外功能,从而创作出了最终外观。”
实时创作栩栩如生的面部表情
团队面临的第二个技术问题与选择和实现用于有效面部表情的技术相关。在评估了许多解决方案之后,他们发现大部分默认为离线渲染开发的方案只能得到电子游戏级别的低画质,或者因为使用iPhone中提供的面部捕捉功能而限制了细节水平或定制能力。因此他们将方向转为研究最贴近要求的技术,然后在此基础上开发他们自己的内部解决方案。他们的第一个任务就是评估哪一种候选技术既能提供准确的三维位置数据,又在数据格式方面具有高度自由性。最后他们确定,Vicon Cara是最符合他们需求的面部动画捕捉系统。Vicon Cara是一种头戴式摄像机装置,使用前部四个带有全局快门的摄像机捕捉标记位置。使用这种设备可以非常灵活地设置标记位置,而且可以将标记位置转换为具有极高精度的三维数据。
“当时大多数解决方案只扫描面部标记的二维位置信息数据;Cara却能够捕捉三维数据,这使它成为很好的选择,”Kang说。“但是Cara是用于离线渲染的,没有现成的实时数据传输功能。为了解决这个问题,我们决定建立一个神经网络,使用深度学习从2D图像推导出3D位置。”
该团队首先给Cara额外添加了一个摄像机。在捕捉演员的面部动作时,基于在视频镜头与计算出的三维标记位置值之间建立对应关系的方法,附加摄像机拍摄的视频被单独保存下来用作学习数据。
通过这种方法,开发者们创作出了能够非常准确地从2D级图像输入推断3D标记位置的人工智能。他们又进一步在尽可能多的领域利用了机器学习,包括突出面部表情和设置混合形状权重。“Giantstep通过这一过程积累了许多关于机器学习的经验。有效使用机器学习可以帮助小团队突破其局限,这个事实令我们深受鼓舞,”Kang说。
优化数字人类流程
团队面临的最后一个重大技术障碍是获取优化流程的技术。由于团队规模很小,他们从一开始就明白效率将是关键。最重要的举措是减少人工迭代的负担,尽量促进自动化。“这是虚幻引擎成为最佳选择的又一个重要原因,”Kang说。“虚幻引擎对Python的支持和它带来的创建插件的便利性使我们能够轻松解决设计师在许多方面的迭代问题,并轻松开发出相关工具。”一个恰当的例子就是该团队在照片般逼真的面部表情方面所做的工作,这牵涉到尝试面部划分区域的形状和数量的众多组合,然后尽快预览结果。因为更改面部区域需要对纹理进行新的组合,需要重新导入资源,还需要根据配置更改材质构成的细节。“如果人工处理整个过程,那么一个美术在做简单的迭代时,就要花一整天时间来预览结果,”Kang说。
而团队选择了在虚幻引擎中使用Python脚本,因而能自动管理导入资源之类的繁重任务流程。通过材质构成配置插件,实现了纹理组合、生成和材质配置的自动化,而且在每次面部区域信息发生变化时不需要更改任何面部材质节点,进一步节省了宝贵的美术时间。
“以前每当数据发生更改时就需要做上一整天的任务现在只要几分钟就自动完成了,”Kang继续说。“虽然团队规模很小,但我们通过各种Maya插件和脚本尽量实现自动化,又开发了虚幻引擎插件,在很短的期限内就完成了《Project Vincent》。”
超越电影:实时数字人类的未来
当《Project Vincent》开始时,已有的照片般真实的实时数字人类还仅限于几个关键角色,其中大多是工作室与Epic合作开发的。Vincent属于第2代实时数字人类,是由一个小团队完全在内部开发的。Giantstep的成功使他们在SIGGRAPH 2019上被邀请到Epic展区,在那里做了一次展现成果的演示。随着其他组织在Digital Domain、Giantstep、3Lateral和Cubic Motion等公司打下的基础上继续开发,实时数字人类开发技术有望改变电影和其他传统上依赖离线渲染技术的媒体及娱乐的制作。有人甚至预测,它将会进入其他行业。这种技术配合AI发言者或助理,能让用户体验到更直观的AI服务。我们有可能见到高质量、超现实的角色创作被用于有效的前沿市场推广与促销活动。Giantstep打算成为这一故事的重要部分,他们承诺继续推进技术发展,并计划尽快公布他们的下一个开发成果。
有兴趣创作你自己的数字人类吗?请下载虚幻引擎,并观看免费的《Meet Mike》资源样本来上手。