首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TGDC|探索人脸艺术背后的技术

2020年12月9日,由腾讯游戏学院举办的第四届腾讯游戏开发者大会(Tencent Game Developers Conference,简称TGDC)于线上举行。来自腾讯互动娱乐研发效能部的高级技术美术师刘凯,发表了“探索人脸艺术背后的技术”的主题演讲。以下是分享视频和文字实录:

大家好,我是刘凯,很荣幸地参与本次TGDC的分享,首先我先正式地介绍一下,我目前就职在研发效能部的引擎中心,在负责角色表现、动画技术、自动化工具等研发工作。今天让我们聊一聊,关于角色面部的美术技术。

一个优秀的美术效果,对于任意的一款游戏而言都是非常重要的。人脸的表现则是能够拉出差距,体现实力的关键一环。

第一部分先探讨一下人脸的艺术,首先请看一段视频:

这个视频的片名叫做《lie to me》, 不要对我说谎, 是个很有名的美剧。剧中的行为学家Ekman博士,可以不用测谎仪,不用确凿的证据,甚至无需声音,只需凭借细微的表情变化,便可以看穿一个人的内心,进而判断对方有没有在撒谎,听起来是不是有一点难以置信呢?

如果想要成为像Ekman一样的读心术专家,就需要先学习脸部动作编码来分析微表情,微表情行为指的就是FACS,它的全称是面部行为编码系统,能够有效地形容肌肉运动是表情运动的一个权威标准。

AU则指的是FACS根据区域划分的运动单元,EMFACS是情绪编码系统,定义着每种情绪,通常的AU组合FACS除了应用在心理学,也应用在电影动画行业,在海外的发展非常好。除了视效电影,有很多游戏大厂也基于它开发了表情动画系统应用到了电子游戏中。

在动画领域中,FACS可以作为不同方向技术人才,比如说模型师、绑定师、动画师、技术美术、程序员等。

统一的面部标准和通用的语言,FACS完全可以作为我们在艺术开发时的一个参考与标准。在实际的项目开发中确认与follow一套美术标准是非常重要的。以前大部分游戏的表情制作都缺少衡量的一个标准,基本凭借美术师的经验与理解造成最后的质量参差不齐。比如说动画师很难解释清楚肌肉该如何变化是合理的,表情要到达什么样的程度是合适的科学的。

我们可以看一下左边的这张图片,可以用FACS解读一下,上半部分脸跟下半部分脸部肌肉,在视觉上的走向跟强度,其实主要是由AU6脸颊的提升和AU12嘴角的上扬组成的,通过引入FACS测量体系,最终能够帮助我们达到像游戏《地平线》中角色细腻的表情呈现。

在公司内部我们也基于微表情,自研开发了一套表情动画系统。可以通过骨骼模拟肌肉的视觉变化,请看这个视频演示:

视频中我们运用了基于摄像机的动捕技术,可以把我的表情复制到一个虚拟的角色上,是不是很有意思?所以说表情是能够有效表达人脸艺术的一个关键信息,除了表情动画,那么还有哪些能够直观地表达面部视觉效果呢?

我把它总结和归纳成了三个维度,另外两个是五官和口型。那么有了这些信息是不是意味着可以完美地复制一个我呢?答案是肯定的。

可想要完美地复制一张虚拟化的面孔,这三个维度实际都面临了美术与技术上共同的挑战与要求,要美、要像、要快速、要简单、要逼真。美和像属于艺术层面的感受这个对于美术的同学,其实是较好理解和打磨的。但是如果想要把复杂的工序弄简单,做到快速并且更加逼真,则同时需要技术纬度的演进,接着让我们探讨一下艺术背后的技术。

当前工具化已经是业务部门最普遍的需求了,有很多的海外大厂内部都有in-house工具去支持业务,帮助美术高质量的量产。腾讯在研的项目其实对质量的要求也越来越高了,市面上又缺少成熟的工具,因此我们就开发了一款名为Superman的面部动画管线工具。初衷是希望能够赋予像超人一样强大的能力。

这个美术组件拥有内容制作与引擎两块技术,提供了从上游数据制作到引擎实现一站式的面部解决方案,具体包含的能力我们可以参考下这张图表。

上述的这些特性,其实单独实现起来都有一些技术壁垒。下面我会具体地介绍一下。

简单概括一下superman工具的优势有功能全面、通用性强、操作简单,效率上的提升非常巨大,能够有十倍以上。已经在我们公司的多个项目上使用,能够帮助美术师在虚拟角色的五官刻画、情绪、口型这三个维度上充分地表达与标准化。

我来介绍一下工具的表情能力。

首先我们实现了绑定过程的自动化,想要让一个虚拟角色动起来,就需要先研发绑定这个是赋予角色生命力,很关键的一个技术环节,传统的手工绑定是需要一个绑定师一周左右的时间。这里我们只通过4个步骤,就可以在任意的3D角色上快速完成绑定数据的存储、传递、重建的过程,而且我们的骨骼系统是支持定制化的友好地对接游戏引擎,在效率上的表现也是提升巨大,整个过程快的话只需要1个小时。如果不算权重处理的时间,那么我们只需要5秒钟就可以快速地得到相关的资产文件。

在肌肉表情系统的搭建上我们参考了电影行业的经验,引入了FACS体系,开发了表情编辑器把肌肉参数化,做成了可以通用的表情数据模板可以多个角色复用、导入、导出,量产的效率非常快。当前行业表情制作的技术门槛较高,一个角色的表情开发成本将近是在一周以上,那么精度高的话可能会达到一至两个月。通过我们的制作方式,效率可以从1.5周提升到两天。无论是配置到端游还是手游,效果与传统的表情对比都会有极大的提升。

如果想持续的精进表情的效果,需要美术更加深入地学习微表情和解剖学了。

同时我们也设计了全面的Control Rig控制器系统,操控简单、自由,可以任意的融合表情和口型,不会让我们的肌肉过于“情绪化”,就能进一步提升动画的制作体验。

图片我们分为了4个模块,主控制器可以快速得到我们想要的AU组合,对不满意的细节我们可以通过操控次级控制组件快速地进行微调。口型控制模块则是对下巴、嘴唇做了拆分,可以影响每一个口型,使我们的声音口型具备风格感知的能力。情绪组件则可以帮助动画师快速的制作情绪关键帧。

还研发了皱纹动画技术,在表情发生动画时会产生一个皱纹细节的变化,可以让表情像好莱坞电影中,虚拟角色一样真实和逼真并且性能消耗也设计在了一个可控范围内。

我们同时是在maya与ue4中都开发了插件,骨骼系统可以自动地计算对皱纹的一个影响值,美术可以在3D软件中确认皱纹的动画效果后,将参数因子粘贴到ue4管线里实现效果的同步。

第二点是五官定制技术,这里可以理解为游戏中的捏脸技术。

我们在流程上也定义了一个全新的捏脸系统:分为maya与ue4两部分的pipeline。美术师基于工具盒制作数据,然后在引擎端读取并且控制我们定制好的数据即可,另外也不需要额外的引擎中间件开发和人力维护,简单快速。项目的接入成本几乎为0。

之前有很多游戏是基于引擎开发的捏脸中间件,而我们是直接在DCC中开发的角色编辑器,不会受到引擎等外在的技术限制,同时流程也会对美术师更加友好,方便数据做迭代。工具初始内置了通用的捏脸参数模板,角色间是可以进行复用的,而且也可以方便生成自己的数据库文件,对效率的提升是很有帮助。

比如说我们要开始一个项目,那么第一个角色可能基于初始的数据模板,开发了三天的时间。第二个角色就可以复用角色一的数据模板,此时调整的时间可能会更快,甚至半天的时间可能就可以了。综合下来,常规一周以上的捏脸制作可以缩短到两天。

在引擎端的功能构建上,我们研发了内部开源与通用化的ue4 avatar基础框架。因为大部分的游戏,其实都需要角色的展示功能。那么如果说每个项目组都开发一套组件的话,这个开发成本还是很高的。如果有一套可以通用并且能够方便复用的框架,就可以帮助我们节约开发成本,避免重复造轮子。

具体这套系统包含的细节有捏脸、体型定制、动态换装、妆容模块,然后数据也可以进行存储、导入导出,男女角色之间可以进行互换。

在2018年的时候AI的技术是非常火的,那时候我们就在思考能不能与AI能力结合起来,所以在2019年初,我们借助了优图实验室的AI技术,实现了领先的照片自动捏脸效果, 现在看来,照片捏脸这也是AI在游戏中最好落地的场景之一。

第三点我来介绍一下工具的口型技术能力。

首先讲一下我们发音系统的设计是口型动画技术的一个核心。大家都应该清楚我们英语是由20个元音和28个辅音组成的,汉语则是由63个声母和韵母的方式组成。那么如果说是要在3D里面开发两套发音系统的话,可能我们开发就真的崩溃了。

其实我们的汉语拼音和音标之间是可以进行相互转化的,比如说普通话这三个音节,英语可以分析成八个音素,拼音则可以分析成六个音素,它们之间是有一套转化的算法也可以通过程序完成。那么我们只需要做出一套数据标准即可。

特别说明一下联合发音是什么意思。比如我们在说sure这个单词的时候,首先会发出一个S音,接着会发出一个U音位的嘟嘴,而在说see这个单词的时候,则不会出现嘟嘴。

了解了这些关系后,我们要把必要的音素在3D里抽象化,3D中制作的每一个口型我们都称之为视素,对应着每一个音素,并且有很多的发音口型是非常相似的。通过我们的梳理跟分类共设计了20组视素,对应着16组音标集合与4个协同发音。

包含两个闭合音和两个持续音,闭合音指的是嘴唇在垂直方向的一个状态,闭合音M代表的是嘴唇上下嘴唇向内收的一个状态,闭合音F则指的是下嘴唇向上顶,持续音则指的是嘴唇在水平方向的一个状态,持续音WA代表的是嘴唇的一个隆起,那么持续音JY则代表的是一个拉伸的状态,大家可以动动嘴巴感受一下吧。

这样与其他的16个视素配合,就可以简单有效地形容发音系统了。

以前口型资产的做法基本都是由项目组美术外包的,那么一个角色可能需要做数十个口型资产,开发的周期也基本是在1至2周,并且效果不可控。当然了一个游戏会有不少NPC,那么这个制作成本是非常巨大的,因此我们参考了EMFACS的标准,能够帮助我们科学地分析情绪的变化,然后设计了FACS到口型与情绪的智能转化链路,最后节点化、脚本化。

Superman的这种生成方式取代了传统的手动制作方式,制作效率也可以从1.5周提升到0秒。精度也能够得到标准化的提升,帮助美术直接做量产,语音动画这个自动化技术。在未来的业务开发中会非常实用,在最新的海外游戏大作中也成功地运用与验证是非常有价值的。像《刺客信条:奥德赛》《巫师3》 《FF7:Remake》都研发运用了这个技术。

相信会有很多同学会有疑问,真的只需要语音就能够快速地生成剧情动画吗?听起来感觉很神奇很方便,其实想要达成这样的能力不是不可以,但需要我们研发一套完整的流程管线工具做支持之后开发人员,仅通过输入规则格式的文件,就能自动在maya或者ue4中生成口型动画片段,这个低成本的方式也主要是用于NPC批量化的剧情生成。

由北极光、魔方和我共4位同学,利用业余的时间研发的语音动画方案,目前我们已经跑通了整个技术的数据链路,在下个阶段我们会尝试构建更加完整的语音procedural动画流水线。

关于声音驱动的技术,我们目前行业里有3个主流的方案,请看这张表格:

FaceFX是海外3A游戏比较主流的一个技术,Lipsync则是比较轻量级的方案,Jali是一个比较全新的方案并且结合了AI的能力,与我们自研的方案对比,我们的产品模式是内部公开的,技术应用场景是在手游和PC主机,也吸取了它们的一些优点,拥有美术工具、语音工具、引擎生成等全套的管线,具备良好的中文英文支持能力,效果基本能够满足预期,还提供了技术方面的支持,这点的话在我们内部是非常重要的。

说到这里呢相信有很多一线研发同学都深有感触吧,技术改变未来这件事情已经渗透在游戏的美术研发中。

再回忆下之前的内容,第一部分介绍了通过对五官、情绪、口型做管理能够帮助我们挖掘一张生动的人脸。

第二部分则分享了,我们在自动化技术上的做的一些探索和沉淀,通过借助工具的能力,能够让美术抛开技术的限制,聚焦在艺术表现上。

大家可以看到,我们目前演示的demo人脸并不漂亮,也没有什么修饰。其实这里我们不妨的脑补一下,如果有一层漂亮的皮会是怎样呢?

比如说我们想要复制一张卡通脸,可以是QQ飞车里面可爱的小橘子;可以是《功夫熊猫》里憨厚的阿宝;也可以是《猩球崛起》里智慧的凯撒;再或者是结合扫描技术复制siren里逼真的数字人,达到姘美电影级的效果,这里的想象空间还有很大。

像刚刚介绍的语音动画AI技术等都是业界前沿的技术形态,未来还有很多的技术值得我们继续地探索,上述就是我的分享。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201216A0GUDU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券