深度剖析GDC2016游戏角色Senua的实时表情捕捉系统

深度剖析GDC2016游戏角色Senua的实时表情捕捉系统

本文译自:fxguide.com

副标题:将你的表情映射在游戏角色上 (Put your digital game face on )

关键词:深度学习、虚拟角色表演、面部捕捉、实时解算、FACS

翻译:Kate  校对:Godfrey

Fxguide刊登过”今年游戏开发者大会上Epic,Ninja theory, 3Lateral,Cubic Motion和其他一些团队难以置信的现场演示“一文,观众们被实时表演深深吸引,在此我们将就Senua的实际制作过程做更加深入地了解与探讨。

这篇文章也是作为将要出席本周德国FMX会议的Fxguide读者们的铺垫,同时EPIC Senua团队中的主要成员都将现身会议发表演讲。我们Fxguide的创始人Mike Seymour将主持周四的“数字人物Senua制作流程”系列会议,会议将有来自迪士尼(苏黎世)、MPC、Pixar的首席艺术家们发表演讲,以及数字人物研究团队的最新成果。

地狱之刃中的Senua

地狱之刃中的Senua

在上个月的2016年游戏开发者大会上,Ninja Theory的CCO(首席文化官)Tameem Antoniades和EPIC游戏的CTO Kim Libreri在现场展示了非常真实的实时运动捕捉和人物渲染,这让全球研究身体和面部动画的专家汇聚到一起,这个非凡的项目仅用了8周。为了达到目的,团队使用了最前沿的面部设备、最新的眼睛建模渲染技术以及深度学习算法。

真实的Melina Juergens,Ninja Theory的视频编辑以及、目前的首席女演员

真实的Melina Juergens,Ninja Theory的视频编辑以及、目前的首席女演员

Melina Juergens, Ninja Theory的视频编辑,Senua的人物原型,也是游戏开发大会上的表演艺术家。简单总结一下,Melina的面部由一个mono头部摄像机进行记录,她的身体通过Xsens设备跟踪。这些面部数据通过Cubic Motion的解算器传输给3Lateral Rig文件,身体数据传输给IKinema的身体IK系统。面部和身体的方案被整合到虚幻引擎UE4(UE4,以下简称),通过一些自定义的修正,进行实时渲染。

输入

身体数据通过一套Xsens设备输入到IKinema方案然后进入UE4,大部分用于身体捕捉的技术都是现成的,不需要太多准备时间。

身体的方案与通过Cubi Motion的算法计算出的面部相结合,形成一个复杂的3Lateral Rig(绑定),这个Rig在Kim Libreri(EPIC)寻找可以展现UE4的威力的小样之前就已经制作完成了,面部动画是这个小样真正的核心,虽然身体部分也很重要,但对于整个团队来说最具挑战性的,还是最大程度上真实的还原Melina Juergens的表演。最终,在大会上给广大观众展示的这个实时互动渲染的整合方案非常成功。

Senua是Ninja Theory即将上市的游戏《地狱之刃》非常珍贵的游戏资产,最初的流程并没有专注于实时渲染上,小样的大部分是工作室把线下流程转变成一个可以实时互动的环境。身体上,工作室的硬件/离线系统与在线版本是非常类似的,只是线下流程用的是一个立体头部摄像设备,它不需要像实时运行那样处理海量的数据。

 

面部

小样的最大挑战是获得如此高质量的面部捕捉数据,再整合并进行实时渲染。

Cubic Motion: 解算器

Cubic Motion是搭建面部流程现场小样的关键公司。这个公司的计算机视觉技术能够在每秒90帧以上的速度中追踪200多个面部特征,并且将数据自动映射在实时状态下的超高质量数字角色。(尽管在游戏大会上这个系统是以每秒30帧幅动态图像运作的)。Cubic Motion的贡献在于控制现场捕捉,并应用经过高级分析后的不同时间的空间数据,来驱动3Lateral rig。

左边的立体摄像解决方案,右边两台摄像机的输入影像

左边的立体摄像解决方案,右边两台摄像机的输入影像

游戏开发者大会上的现场方案是通过一台mono摄像机,而线下动画是一套立体摄像机来实现。3Lateral的创始人及CEO Vladimir Mastilovic表示“我觉得立体摄像机和mono之间有很多不同之处 (对于面部表情捕捉),Cubic Motion在比如像下颌位置的部位上,更具优势,因为它有非常好的预测性算法。”

其中之一:立体摄像机设备能够得到特别精确的下颌深度

其中之一:立体摄像机设备能够得到特别精确的下颌深度

Cubic Motion Solver的关键一环在于其深度学习组件。Solver从立体设备中学习,然后将信息给到Mono设备。换言之,因为有大量离线信息,Solver可以更好地理解Melina Juergens的面部表情,现场呈现也会更为精确。虽然我们可以手动优化绑定或模型,但这个Solver远非如此。该系统可以从一组数据集中“学习”,然后在现场实时展示时无需人工调整或改变面部模型,就能达到更高精度。

线下立体摄像流程允许艺术上的修正,学习的初始阶段仅使用由立体摄像机产生的非常细致的数据,这样在后面的现场环节如果有任何问题也能及时发现调整。现场版需要在没有任何协助的状态下实时运作,所以不能有任何艺术上的修正以及人工协助。

深度学习算法的关键是拥有一个很精确的经过纠正或解算出的数据训练集。为此目的,立体相机的数据经过转化或分析后进入一个模拟的mono摄像机,立体数据转换成虚拟mono摄像机数据,是学习mono模型的ground truth(地面实况,指的是用于有监督训练的训练集的分类准确性。这主要用于统计模型中验证或推翻某种研究假设。术语“ground truth”也指收集准确客观的数据用于验证的过程)。这一“模拟”数据能够纠正mono摄像机以及相匹配的面部解算器,然后跟实际现场的mono数据做1:1 的比较。

相比不使用深度学习,立体摄像机的数据能够让mono摄像机约束在更精确的位置。FACS与深度学习的结合创造出了高精度的口型同步和面部动画方案。Cubic Motion使用自己的非线型解算方法来输出一个精确的2D动态贴图,相互关联后变换成FACS空间再转化成3Lateral Rig引擎需要的数据。

这在很多方面都有意义的,后续在fxguide会着重介绍一个即将上线的的《深度学习背后的艺术》专题,这套方案为未来的发展提供了多种可能。例如,Cubic Motion可以用这个方法通过深度学习来展示肌肉模拟,肌肉模拟是很昂贵的,标记数据集也需要很多精力的投入,但是在运作时计算机实质上只是在评估决策树(或决策森林),这样可以在实时状态下实现快速的解算,同时也是非常友好的GPU方式。

 

有趣的是,Melina在现场活动时很紧张,所以她开始唱了一首简单的歌曲,这可从来没有出现在之前的立体摄像训练集中,Ninja Theory的Tameem Antoniades非常惊叹这个模型在这种情况下也能很好地模拟Melina。作为一种深度学习方法,不会局限于脚本预设的特定状态,而会更具广义性、通用性,从而可以很好地处理不同情况。

mono摄像机视图

mono摄像机视图

在现场表演中,Melina戴着一个头戴式摄像机,涂抹颜色不同的口红来帮助跟踪器精确进行口型同步。她的面部有六个跟踪点。这些跟踪点实际上并不是必须的,它们更像是以防万一的“安全网”。

mono solve和头部模型

mono solve和头部模型

训练数据:深度学习

这个环节的关键是Cubic Motion使用的追踪器(tracker),这在训练数据和深度学习中加以运用,前面提到过,深度学习并不依赖于脚本,因为脚本只能处理模拟过的对话或是表情。训练数据定义了训练空间,在这方面,训练数据更倾向于Melina严肃状态下的表情,较少涉及抒情式的表情。

因为小样只有几分钟长度,训练数据不可能包含所有Ninja Theory可能在最终游戏中使用的情绪状态,理论上,这个解算器可以延伸到训练空间(是由训练数据来定义的)之外的,因为它是一个深度学习和传统的面部Rig的混合体,但是一旦Melina远离了训练数据中的表情范畴,相比在训练空间定义的情绪,你可能会丧失一定的保真与可信度。这一点很重要,因为一个严格的深度学习系统只能解决训练空间范畴以内的表情。

在这个项目中,Cubic Motion和3Lateral使用更多的深度学习方法来控制数字表演。

 

16fps/s的动画运行速度,没有后期处理

眼睛追踪器是实现可信的面部系统的关键技术之一,Cubic Motion的团队把深度学习应用在眼睛追踪器上,为了定制Melina的眼睛追踪器,团队针对她的眼睛做了训练样本的收集,通过精确的标记定位,将此应用到追踪器来部署现场表演。有趣的是,这在某种程度上降低了一些不定因素的影响比如轻微折射(mild refraction)等,如果训练数据有这些特点,系统也会学着在具有这些问题的情况下追踪眼睛,从而更加有效。

虽然镜面高光会影响眼睛的跟踪,但是眼睛上的光学现象基本没什么影响,Cubic Motion的CTO Steve Caulkin解释道:“这个部分是同我们应用追踪器的训练数据有异曲同工之妙,所以为了制作Melina的眼睛跟踪器,我们对她的眼睛做了100-150个训练样本,并且处理了这些训练数据以确保准确度。这些样本弥补了镜面高光,不同的照明,不同的眼皮位置,所有的眼球活动- 所有这些都可以在训练阶段找到解决方案,你完全可以对设备说- 这是一堆她的眼睛做不同事情的样本,学会如何处理这些状况吧。”

 

Cubic Motion解决方案的标准即是眼睛追踪,游戏开发者大会上的样本,跟踪器是经过调整的。Steve Caulkin补充道:“我们在有限时间内对这个眼睛追踪器做了最大程度的优化”。 眼睛追踪器是整个表演的重中之重,但是眼睛却可以比面部任何其它部分都移动的更快,这意味着我们需要格外注意,不能为了除掉抖动的数据而过滤掉一些重要的数据,从而使得整个表演很无趣呆板,Steve补充道:“你最终需要的是一个高质量,高精度的快速追踪器,而这也是我们产品的特质,我们每天工作的大部分都是在分析大量视频数据,这些对于最终的分析和制造的动画的质量至关重要,如果眼睛追踪器不精确,有抖动,那就麻烦了”。

如果眨眼能够造成眼部的模糊不清,那么追踪牙齿会变的更加困难,因为牙齿大部分时间都被嘴唇覆盖了,在游戏开发者大会开始前的离线立体追踪工作中,Cubic Motion追踪了Melina的牙齿,从而可以组建一个在对话和表演状态下的精确运动模型。团队可以筛选出Melina牙齿的重点动作- 她的嘴唇大部分时间都覆盖着牙齿,所以,对于空间位置重建来说这是一个很复杂的追踪问题,出于偶然,Cubic Motion的Gareth Edwards博士在1998年发表了活跃表面模型(Active Appearance Model-AAM),这是目前在视频和医学影像分析上最广泛应用和获得好评的方法(比如应用于微软Kinect面部追踪器)。AAM是把一个目标物体的形体和外貌的数据模型跟一个新形象相匹配的计算机视觉算法,他们都是在训练的过程中组建的,这个算法使用当前预测的外轮廓和目标形象的区别来驱动一个优化过程,这样可以快速进行图像匹配。

“在一个离线立体的情况下,如果你追踪到牙齿你就会更好地抓住下颌的位置”Caulkin解释道:“在现场展示环节,你不得不说我们没有完全一致的模型,但是我们更广泛地追踪到其他面部状况- 特别是下颌线条。”

在这个项目中,女演员的牙齿是被扫描过的,过去,3Lateral使用一个牙医上的案例,但是从那之后他们开发了一个新的嘴和牙齿扫描系统。这不仅有了更加细致的照片测量法,同时Mastilovic提到“这对于模特来说也更加舒适一些”,新的系统会通过几何学的方法来投射一个真实的模特。

为什么在现场表演环节使用Mono摄像机?

对于所有疑惑于-为什么Cubic Motion没有在游戏开发者大会上使用一对立体摄像机的读者们。”我觉得我们当初比较担心我们是否能真正抓住实时的帧速率- 如果我们不得不做一个立体影像解决方案,所以我们选择了在我们的有限时间内可以组建一个有效系统的最保险的方法。”Caulkin解释道,整个团队需要在8个周的时间内创造出一个在游戏开发者大会上使用的现场系统,Mono相机的风险很低,所以我们在更高的仿真度和保险的实施表演间做了选择和牺牲,在跟团队的探讨中,我们觉得这个样本展示会令人印象深刻但是远远不是一个最终的版本,因为在未来几年内会有更多的对于实时系统的调整,“在游戏开发者大会上我们在现场展示的质量上算是在沙地上打了个草稿,但是这也引发了很多可能性,实时的镜头预演,高吞吐量的流程,我们觉得这已经比大部分的游戏动漫(中等或是背景动漫)都要好很多了,但是我们也在不断努力,比如提高模拟环境方面,创造出一个更加一致性的虚拟世界,对于VR来说的限制是提前包装好的动漫形象。” Caulkin解释道。


3 lateral: 绑定

Vladimir Mastilovic是面部绑定流程的首席设计师,在Kim Libreri(Epic的CTO)向团队提出需要在GDC上做一段现场演示之前,3Lateral就已经开始着手地狱之刃中Senua角色的研发工作了。

3Lateral扫描了Ninja Theory的Melina Juergens,并提供了一个高精度的面部和Senua的绑定。

扫描过程涉及到一项花了很多时间的专利技术,3Lateral能够通过外部扫描数据组建一个Rig,他们将扫描和绑定整合起来,不同于平常的制作了一个面部点云摄影测量方案,更进一步的,3Lateral在不同帧之间实现非常精确的内聚力。

 

Mastilovic解释道:“这些数据都是首次捕捉到的,我们编写的软件会有助于在不同帧之间建立一致性的对应关系”。上面的影像会成为一个光流(optical flow),这仅仅只是方案的一部分,这个团队还有其独特的长处,比如匹配方法在高端的面部识别算法中虽然并不常见,但是这个工具给人印象深刻,也是3Lateral解决方案的关键特征。这有助于解决不同桢之间的差别,不然可能无法实现光流分析。

在游戏开发者大会上,3Lateral公司将这种连贯的分析法和后面的“Rig Logic”算法作为其两大核心技术,着重进行演示。3Lateral所采用的扫描技术虽然尚未对外公布,但它无疑是影响成像质量的第三大关键因素。这部扫描仪配置了一个焦距为90的相机设备,能生成具有高分辨率、高精度的面部数据。在对Ninja Theory的Juergens进行扫描时,3Lateral团队仅仅能运行V.3版本的扫描仪。然而在游戏开发者大会不久后,3Lateral团队便成功地为这款扫描仪增添了不少功能。“它介于标准的摄像测量与专业系统之间”,Mastilovic说道。这款扫描仪将特殊的灯与高速摄像(10,000fps)的机器视觉相机结合起来,并将Agisoft 软件作为在基本重建过程中进行数据处理的中间环节。 正如Mastilovic解释的,“我们并不想重新发明一些机器——它们运转得都很好,我们只是给它们增加了一些计算程序,让我们能从收集到的数据里提取出更多的信息。”(译者:blue)

血流

面部血流也在Senua脸上做了建模,血红蛋白重新分布的模,采用的是一种变形样本的方法,随着Senua形成一种新的表情,面部的压力会让血流地图改变,3Lateral了解所有不同种类的血流 – (兴奋的,害羞的,压力和表情)- 足够满足目前的实时表演和游戏水平的需求,团队使用的是一个简化模型。“当你加上血流,面部的三维度立体感会得到加强,因为有很多视觉体验制造者-比如眉毛,血流可以告诉我们哪里是凸起的。” Mastilovic解释道。

Tameem Antoniades表示,Ninja Theory的态度是先创造出角色,然后再尽一切所能让她的表情更加有表现力。团队在样本展示开始前很晚的时间才开始添加血流,在真实的游戏中,如果需要一个情绪回应但是无法被自动加上,那么团队会手动进行关键帧处理。

有趣的是,团队也是在最后才添加了瞳孔放大功能,“这让她在直视镜头时更加逼真”,Antojades解释道。人们一直觉得瞳孔放大和面部血流是面部重要因素,但只是不是很确定如何准确地叫出这些现象的名字。不管怎样,这两点添加了很多潜意识的特质,同时也是人类情感意识大脑系统面部的解密的一部分。Antonjades说如果你做一对一对比,就会发现“这两点可以产生巨大的不同,这是我们需要继续推进研究的方向。”

皱纹和血流

皱纹和血流

在游戏开发者大会的样本展示上,模型的前额被颜料覆盖,因此血流是在双颊和嘴周围体现的,有趣的是,让颜料干裂展现在前额花费了很大功夫,即使有这些颜料,皱纹还是可以明显看到,而且表情也没有受到限制。“实际上,颜料的张力让细节更加彰显,你在涂有颜料的区域甚至可以看到比正常肌肤区域更多的皱纹,” Antonjades指出,“这也是我们想深入研究的一部分。”

 

在前面身体追踪环节讨论过了,脖子部分是团队特别想做好的关键一部分。再提高了IKinema解决方案的解决能力后,3Lateral开始着手让Senua的脖子看起来更加真实,“开始时脖子看起来太糟糕了,像橡胶材质的,Vladimir Mastilovic 做了很多工作才让脖子的转动看起来真实。” Antoniades解释道,跟EPIC的团队一起,做出的解决方案是Senua在扭动和抬头看时三套准确脖子形态,还有一个新的修正过的转动点头被添加到了脖子的骨头上,可以在下列图片中看到:

特殊的脖子修正

特殊的脖子修正

在这个试验模型中,右边的脖子没有强烈的橡胶质感

在这个试验模型中,右边的脖子没有强烈的橡胶质感

背景形状筑模CSM是3Lateral开发的一个在其他面部动作编码系统的驱动形态下能够看到不同面部单独动作的软件,这个工具让艺术家们可以控制,以及合并不同的表情或每个表情驱动的肌肉群或是动作单位AU,扫描可以帮助让所有的动作看起来连贯一直,整合起来的表情跟捕捉到的单独的一个表情动态是不一样的。让组合起来的表情看起来更加真实可信,一个背景整合绘图UI是至关重要的- 它可以对任何组合表情或是一系列动态做出简单调整。这样艺术家可以轻松检查整个表演语义上是否有效,换句话说,我们需要的是一系列AU动作单位的整合,或是面部希望传达出的一些不一样的东西- 不是所有部分的整合所表面展现的东西。“通过回放一系列动态动画,并且转换最初设定,以实时播放的形式,我们觉得这对于生产效率和最终结果都是非常重要的。”Mastilovic说。

背景形状筑模CSM

背景形状筑模CSM

Rig Logic

3Lateral团队拥有一款叫做Rig Logic的关键工具,该工具可以驱动面部并且直接在UE4内部运行,将这种技术从Maya转移到UE4内部大大方便了在GDC上进行实时、低延迟的样片演示。

 

在《地狱之刃》(Hellblade)的测试阶段,Ninja Theory团队发现了一个有趣的现象, Tameem Antoniades说,他们将Melina Juergens的脸与一个健身教练的身体上,这个过程很简单,在流程中通过将脸部和身躯分层处理就可以。但Antoniades发现这样做的效果并不理想,以至于他现在坚持不同的演员饰演不同的角色(除非是为了某些异域风情的怪兽而需要重再创作),他相信所有表演的整合都应该来自于同一个模特演员而不是多个不同的人:“最终的结果很理想,当动作捕捉演员具有某些不足时渲染画面也会展示这些不足,这就是我们想要的——英雄角色也不得不面对自身的缺陷。”

健身教练“从技术上讲”身体肯定更加协调,他们有更长的臂展及可见的肌肉,但是对于Antoniades来说,每个人身体与生俱来的不完美之处才让他们显得更符合人的性质。用他直接的观点来讲,就是只有Senua这一角色的所有动作原型都是来自Melina Juergens一个人的时候,这才是一个可信的角色。“我们不会介意不完美的脸——因此也要有个不完美的身体——于是我们舍弃了原来(采用健身教练的身躯作为原型)的方法”。他将进对此展开一步深入的工作并为动作扑捉制作更完美贴身的工作服,从而捕捉更多演员本身和演员动作的信息。他相信最好的方法是进行1:1面部对接和1:1躯体对接,“只要其他问题得到解决我们便可以定位更多信息——但目前,我想避免冒进,即使我们能够做到的时候我也会问——为什么要那样做?而为何不直接选用最合适的演员呢?”他说道,“我认为这是脸部的不足之处,正是模特脸上的不足之处,这让他们显得更符合人的特征,当你看到CG角色渲染合成的完美无缺——十全十美——我觉得这才是真正的不足之处——现实中没有人长得那么惊艳!”

EPIC 游戏: 虚幻引擎4

EPIC游戏团队建造了Senua在游戏开发者大会上的展示样本,这得益于他们最近为Paragon做的很多工作。EPIC的Kim Libreri解释道:“我们从之前既有的构造,建模,模型透视开始,我们也直接取用了我们已经完成的工作- 特别是Twinblast和Paragon的麻雀- 借鉴过来并改进到更好!”

几乎大部分需要生产游戏开发者大会的展示样本的东西都已经在EPIC的虚幻引擎4
(UE4)里面了,但是还是需要一些调整。

首先,团队需要把数据在线传输到UE4,这些数据流是上面提到过的,IKinema的身体数据和3Lateral的面部数据。

 

然后,之前UE4系统在面部混合的变量和常量,使得结果并没有3Lateral那样在仿真度上有高度一致性,而UE4在游戏开发者大会上的版本,可以用计算机在GPU中计算好变量和定量- 这会产生跟传统视觉效果或是动漫很相近的结果。高级绘图工程师Brain Karis说“这比我们之前的系统都更能真实的模拟出面部表情。” Brain Karis曾经与Haarm-Pieter Duiker(之前在ESC,ICT工作过,并以跟学院合作创作出ACEScg文明)合作过。

新的非插入式的(左边是旧的变量)帮助仿真度的法线(右边)

新的非插入式的(左边是旧的变量)帮助仿真度的法线(右边)

Senua的身体得益于一个新的骨骼驱动控制器,这一新的技术帮助Senua在弯腰时实现衣服的折叠或提升,因为在她的关节处有一个曲线参数做驱动。

右边更加真实的折痕

右边更加真实的折痕

摄像机

现场展示是与一台预定拍摄路径的摄像机一起工作的,但是虚拟场景中摄像机的拍摄画面范围却是前期制作好的,演员则进行的是实时的移动,这就带来一些有趣的问题。首先,如果演员的动作稍许的偏离了预定画面,工作团队仍然希望可以让其在取景范围中且对偏离进行纠正;第二,当摄像机切换为景深模式时,在现场演示中很有可能出现的情况是演员正在运动且不在摄像机对焦范围之内。为了解决这两个问题,技术团队增加了一个智能摄像机来追踪拍摄演员的头部姿势,同时在主要的动作过程中还采用X、Y、Z轴三维调节器来覆盖演员身体以起到矫正作用。

这一头部追踪技术也会驱动虚拟镜头的对焦调整器,从而保证不管演员如何运动的情况下镜头都始终保持对焦在演员的脸部。在现场演示的最后对焦变得有些偏弱了,只有演员的眼睛和鼻子可以完全对焦成功,最后阶段摄像机移动的时候出现了羽化的情况,由此可见受头盖骨的影响要更多一些。

 

视觉开发

Senua是在没有妆容的状态下被测试的,下面是一个没有地狱之刃妆容的引擎视频测试模型。

3Lateral提供高清晰度的地图,法线和漫反射率,但并没有比如Lightstage扫描你可能会有的,单独的镜面反光和扩散采样的地图,整个团队用出版用纸来衡量镜面反光和粗糙度,团队拥有非常有用的灯光和皮肤参考摄像技术,这样他们能够进行一对一的细致比较,从而使得每个细节以及皮肤颜色都能做到高度仿真。

模特原型(右边)和引擎模型(左边)的对比(内部肌肤测试)

模特原型(右边)和引擎模型(左边)的对比(内部肌肤测试)

为了得到一些细节数据,团队使用微计算机水平的粗糙度地图,同时还有一个凹陷地图,从而可以将毛孔以及化妆品的裂隙间加深颜色

 

次表面散射(SSS)需要将散射和镜面反光区别出来,因为镜面是一个表面所以不会分散,SSS在引擎中存在一段时间了,但是为了游戏开发者大会GDC,做了相应的改进。过去,这个系统通过在Alpha渠道中储存一个RGB和一个散射地图,来为每个项目提供一半的解决方案。散射随后被弱化,取消跳棋盘加入基础颜色后重新整合。当然,所有捕捉到的参考照片都包含一些光线散射问题所以这是一个修正完善的过程,通过调整引擎来达到参考效果。

眼睛

Senua眼睛的水准是非常高的。她的眼睛对于实时游戏引擎来说是相当复杂的。眼球是用几何学的角膜突出来做模型的- 它们并不是完美的球体。一个新的EPIC眼睛工具可以做到对角色的眼睛做到全方位的操控,从尺寸,颜色,到虹膜,巩膜,瞳孔,角膜缘环以及湿度。所有这些都可以做成动漫特效,从而她的眼睛可以准确地对灯光变化做出反应。

 

对于眼睛的折射,眼睛纹理中储存了几何学上眼球前方到眼睛中间或是虹膜表面的数据,这在任何光束通过角膜击中眼睛任何部分时都会被捕捉到。如果没有这个,虹膜会出现在眼球前方。

由镜片造成的焦散其实是假的,早期的SSS方法(前面提到过)被觉得不适合用于眼部工作,因为二次抽样并不符合可以在眼睛表面有清晰的镜面反光细节的要求。跳棋盘的解决方案也被拒绝了,取而代之的是节省能源的Lambert Shader。

 

注意现实中眼睛的泪腺和湿度感

注意现实中眼睛的泪腺和湿度感

整个团队非常努力地把眼球和面部连接起来,包含一条泪腺- 几何学上的新元素,并且是透明的。她的眼睛有屏幕空间涉嫌追踪的阴影,所以没有添加阴影地图。同时她的眼球上有一个眼睛“保护壳”,会一直处于眼睛上方,无论眼睛如何移动。这可以提供一种阴影感,而且当眼球跟上下眼睑接触时会产生一种模糊感,如果没有这个的话眼睛会像是机械式的(见下图)。这个“保护壳”有一个深度限定,从而可以避免眼睛上下看时不合适的“眼睛凸起”。

Four samples of the eye improvements each step added, especially the refraction in this side view.

Four samples of the eye improvements each step added, especially the refraction in this side view.

几何学上另外一点是连接泪腺和眼球的一个混合界面,它将颜色和常量都混合起来从而在泪腺周围将眼睛连接起来。

 

最终的实时眼睛效果是惊人的,许多人表示虚拟人物阿凡达和其他一些形象的眼睛都是死的,但是在游戏开发者大会上,EPIC团队创造出的这个结果是令人振奋的(即便是以非实时的标准来判定)。

前部的进展

前部的进展

面向未来

 

实时系统的一个有趣的点是它可以通知演员。Melina Juergens不仅可以看到自己的表演而且可以使用这个系统,这如同一个演员对着镜子彩排一样,而且不会对系统造成太多滞后和拖延。即便没有化妆,她也可以在系统里看到自己穿着游戏服以及全部的妆容的样子来进行演练。Antoniades表示:“我希望开发更多,比如建立一个洞穴,就像ILM洞穴(ILM-XLab),这样她就可以走进去,在洞穴/房间内环顾四周,看一下野火或是周边的风景。这样的系统可以通过一个她头上的动态追踪器来调整实时投射的周边环境- 根据角度来做相应调整。”

VR

自从游戏开发者大会之后,Ninja Theory就把Senua实时样本放到在Oculus Rift头部跟踪系统的VR中运作,“当她看到相机-看到你,她的眼睛追踪器跟头部的略有不同,然后她的眼光就会汇聚到她认为你在的地方,如果你走的离她面部很近,她的瞳孔会放大-这是非常有效的” Antoniades解释道:“我当然希望保留所有的原始表演,但是我觉得还有很大的调整余地,比如Senua通过动态跟踪器可以跟你并肩行走,而且跟你步伐一致,如果你停下来跟她说话她也会停下来并盯着你看。”

Rig Logic工具

Rig Logic工具在3Lateral发生了很大变化,从最初的只是位于Maya内部到现在独立出来,可以独立的把直接的动漫动态信息传输到UE4。

 

 

 

 

 

 

 

 

 

对于Rig Logic工具的下一个进化目标是让它在不是本地的cloud里运作。这样的技术可以允许手机或是VR头罩得到一系列指令,而在别的地方完成计算机程序化过程。它可以把面部的数据以最小的容量直接传输到引擎。“虽然这一想法很新颖,但是我觉得未来肯定大有用处,尤其对于我们现在在开发的角色数量产生系统这一块,可以把整个模型-基本的表达,所有的面部表情,所有的一切 (变成一个很高效的数据形式)以很小的容量展现却能涵盖整个角色特质。比如,这样就可以生产出成千上万街上行走的人,这也是我们在近期所在积极筹备的。” Mastilovic解释道。

形状融合变形器对比骨骼(Blendshapes vs. Joints)

历史上,当然也有例外,游戏设计者使用过joint的面部模型,电影团队用过形状融合变形器blendshapes。3Lateral非常高兴在RE4中使用了新的形状融合变形的方法,Mastilovic依然相信公司的新技术和方法仍然有将面部做的更好的潜力,“这个UE4版本可以轻松实现形状融合变形,这是非常棒的,但是95%的案例表明Joint技术对于引擎来说更加有效。但是随着VT和AR需要更高的帧率,我们又开发了新的可以把形状融合变形器转换成骨骼的技术- 变成一些列不固定数量的joint,然后再把这些变成模型逻辑需要的编码- 这样我们既有Blendshapes的高仿真度,也有Joints的高效性。”

在对比Blendshapes和Joints是有很多需要考虑的因素。使用Joint为基础的系统可以有很多益处- Blendshapes是空间直线这样导致通过Blendshapes的唇部周围的动作会看起来很假-因为这些直线的转换-而嘴巴的移动更多通过弧线而不是直线,所以说Joints可能会更好。过去如果想做到肌肤下隐隐的肌肉线条以及在游戏引擎中良好的肌肤的是非常难的,但3Lateral解决方案可以解决很多这样的问题。

次级运动

目前游戏开发者大会上的现场表演仅仅是由动态捕捉数据流来推动的,所以还是又在现场表演中添加其他输入数据的可能的,如果在模型中加入次级运动可以实现眼泪按要求堆积变大,或是眼睛展现出慵懒的申请或是受伤,而这是在离线的状态下可以实现的。

这也可以实现加入肌肤同步的版本,肌肤同步是计算机方面非常昂贵的。但几乎是以同样的方法肌肤同步在离线表演渠道中被添加到了行动追踪之上。3Lateral可以为表演添加一个额外的输入因素 – 即便是现场表演也可以。

Mastilovic说:“你iphone上的一个滑块都可能影响现场表演。” 3Lateral有一个展示的样本(不是在数据堆里的),里面一个女演员看起来很难过,“在这时我加入了一个微笑。”这两个看起来很相反的情绪,模型逻辑系统把这个表演更加有吸引力,“这变得更加强烈了,我觉得因为她尝试在泪水中微笑,这个对比很有趣。” 他解释道。

本质上,“我们可以把我们的模型分解到小的joints,计算出皮肤,并保留99%的来自Blendshapes的变形,在我们希望应用joint为基础的二阶运动的地方,我们可以创造一个动态的子骨骼,并通过计算皮每个表情的皮肤张力来控制表情的减弱。” Mastilovic解释道,对于任何面部表情,Rig逻辑可以把降低的数值传递给任何面部表情的joints,从而可以形成更加真实的效果。

“我们知道现在有很多多样的方法,但是这个方法效果很好,而且跟现今的游戏引擎很匹配。”

 

身体

Senua的身体是相对简单的部分,因为很直白,而且都依赖于Xsens的原始数据和IKinema的引擎身体解决方案的最新的实时数据,Xsens有17个感应装置,只有一个位于演员的头部,大部分身体模型都是现成的软硬件,现在都已经可以在市面上找到。

Ninja Theory的Melina Juergens穿的Xsens身体设备都是无线的,但是在游戏开发者大会上外套是连线的因为有“商业会展影响”的风险,但是这并没有对演员造成什么影响,因为她大部分的表演都是在一个很近的展台上并没有什么很夸张的表演。

来自Xsens感应器的数据被通过IKinema传输到Epic的虚幻引擎4(UE4)。Xsens的娱乐产品经理Hein Beute跟fxguide说一旦你有了数据但还是需要重新定向到CG模型,“这就是为什么我们喜欢IKinema-因为他们可以很好地直接将数据重新定向到最终的角色身上。”

IKinema之前跟Xsens数据流合作开发了U4插件,所以某种程度上Xsens和IKinema为实时人体模型的心动脸部模型添加一个身体,这意味着把Juergens’的Technoprops脸部数据流和Xsens感应器的数据流在UE4里结合起来。

IKinema的CEO Alexandre Pechev 解释道:公司在2016年游戏开发者大会期间同步发行了他们的软件的第二个版本。“这个新版本可以实现在不真实引擎中直接进行设定和设计,过去要建立一个管道系统你需要Maya或者Motionbuilder来设定好对于身体的解决方案,然后把这个作为一个模型传输给虚幻引擎,但现在我们的新版本可以实现直接传输数据到虚幻引擎。”

这个管道网设计流程现在都简化了:一方面有抓捕数据的硬件感应器,另一方面是游戏引擎和人体模型生成,直接地图设计是很新的并能实现更简单快速的管道图设计。

 

Ikinema完成了身体部分来自Xsens的数据重新定向的任务,IKinema可以运作角色而不管任何来自硬件的FK或是身体数据,原始数据然后可以“运行特征向量,然后我们用我们的解决器来产生对于脊柱和脖子更加自然的反应。” 因为角色的脖子和上身没怎么被衣服覆盖,团队同意Senua的脖子动作将是至关重要的,鉴于只有头部有感应器,没有很多角色脊柱的数据可以使用。但是令人惊奇的是IKinema系统还是做到了解读所有数据并解决了脊柱,肩胛骨和头骨定位的问题。
所以Xsens的17的感应器可以提供他们自己的身体解决器,IKinema仅仅通过原始的来自以下部位的骨骼数据来解决身体问题:

  • 手部位置
  • 双脚位置
  • 帽子 (只有一个头部追踪器)
  • 屁股位置

其余的工作由IKinema动态捕捉器完成,Xsens数据由IKinema解决器转换成一个运行模型,可以操控整个身体的模型,再结束基础的重新定向后,有另外一个解决器有节点可以帮助修改捕捉到的惯性数据,“我们有很多节点来自于解决方案可以用来提升数据质量,例如,我们用一个过滤器来除去所有的可能来自MoCap数据的噪音和瞬时故障。” Pechev评论道,在整个过程中,IKinema生产了人物的整个身体不包含面部,面部是随后在UE4游戏引擎中被另外添加的。

Xsens在游戏开发者大会开始前两个月才首次被邀请参加的,Xsens自己的观点来说,这是一个很标准很好理解的生产过程,因为Xsens就是设计做实时动作捕捉的,“加入我们的系统其实很简单-毕竟我们经常做这类工作”, Beute开玩笑道,我们之前在fxguide被报道过,我们只需要几分钟来组建,而且这个Rig任何人都可以用,不需要改进或是调整。
Xsens的Hein Beute说,对于Xsens团队来说跟IKinema组建结合并让新系统无缝隙同步运作是一个新的概念,几个星期前他们最初从Ninja Theory收到测试动态捕捉的文件,IKinema团队然后组建一个模型几乎是立刻就给Ninja Theory发回了结果(这个模型仅需要10分钟来组建)。Ninja theory审查了模型并提供了回馈,比如关于肩膀看起来怎么样,反馈做完,最终的文件以一个UR4文件形式发回去了,“那之后身体只是可以运作,我们这边觉得这是一个很直白的工作,在不真实Unreal如果有实时数据,任何一个艺术家都能把它在几分钟内组建好。”

总结

游戏开发者大会上的样本非常让人印象深刻,但是这是仅仅在8个周内完成的成果而且没有任何一个参与方有重大的软件上的技术改进,更像是各合作方的一系列的改善和对质量的追求的成果,这是有重大意义的,我们看到的这样高质量的工作是许多主要生产方共同合作的结果,虽然目前对于实时反馈的技术并没有这么先进,但是这种合作模式向我们指明了未来,在未来几年内这种方式会被更为广泛的应用的。

 

本站已委托维权骑士进行维权,禁止一切形式的转载。
翻译校对难免会有纰漏,欢迎指正。
加入CG小宇宙Slack平台点击 交流

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注