跨越恐怖谷—实时渲染的突破和虚拟角色的诞生
| 导语 实时渲染的质量在当前已经有了巨大的进步,在虚拟人物实时渲染方面已经能做到以假乱真。本文带领大家盘点技术演进的来龙去脉。
Siggraph 2017, Meet Mike展出,超高质量的眼睛渲染
找茬
下面两组图片,大家能猜出哪些图片是真实照片,哪些图片是虚拟人物,实时渲染的?
上排图片都是在游戏引擎中实时渲染的人物,而下排图片都是预先拍摄的真实照片。
不知不觉间,实时渲染的质量已经有了巨大的进步,在虚拟人物实时渲染方面,已经能做到以假乱真。本文带领大家,盘点一下技术演进的来龙去脉。
走出恐怖谷:角色渲染的重要追求
长久以来,电影工业中的虚拟人物制作技术发展迅速。我们已经很习惯在电影中看见活灵活现的虚拟角色,比如《指环王》中的咕噜姆,《金刚》中的大猩猩,或是《阿凡达》中的主角,都让人一眼看去难辨真假。换句话说,基于离线渲染技术的电影工业,已经在虚拟角色塑造上,跨过了恐怖谷[1]。
《阿凡达》
《金刚》
《魔戒2》
而游戏行业,虽然也大量应用了3D渲染,但为了满足可交互的需求,只能使用实时的渲染技术。后果就是,画面综合质量上,游戏比起电影还有很大的差距。
追求最高质量的渲染能力,一直是游戏行业发展的重要动力。随着硬件能力的提升和算法的突破,游戏的渲染质量也越来越高,实时渲染的质量开始接近12年前的电影质量。从2013年GDC上,Jorge Jimenez带来NEXT GENERATION CHARACTER
RENDERING的分享以来,游戏中的角色渲染技术得到了突飞猛进。
NEXT GENERATION CHARACTER RENDERING
从近年来一系列游戏的实时渲染画面来看,静态的人物质量已经非常高了。
《神秘海域4》的高精度人物渲染,一直为人称道。
但动态画面,总还是有些别扭,并没有走出恐怖谷。我们不禁想问,什么时候,游戏的虚拟角色,也能接近真实的质量,走出恐怖谷?
挑战:计算资源、画面质量和复杂流程
我们简单分析一下整体技术,看看为什么实时渲染出高真实度的虚拟人物是一件很困难的事情。
首当其冲的问题是渲染性能问题,离线渲染可以花费数小时渲染一帧画面,投入服务器集群的计算资源,用尽可能物理正确的光线追踪技术。但游戏中使用的实时渲染,每秒至少要渲染30帧画面,也就是说每一帧画面只有33毫秒,这比离线渲染少了五个数量级,渲染时只有一台PC的CPU和GPU资源,相比离线渲染又少了一到二个数量级,在计算资源上的差距,非常巨大。
下一个问题是渲染质量问题,毛发渲染、眼球渲染、皮肤渲染等高阶渲染技术,被大量应用在电影行业。对于动物、人物角色的衣料或者毛发,人物眼睛的表现,角色皮肤表现等等领域,传统的渲染技术还远远不能真实表现。电影行业在这些领域做了深入的开发,高质量的离线算法,虽然开销巨大,但对最终画面质量提升有着决定性的作用。实时渲染无法使用高级的渲染技术,只有高度抽象和简化过的渲染算法,这让渲染器的最终质量,比电影级的渲染低了不少。
最后一个问题是复杂的流程。为了在电影中做到如此高质量的角色,电影工业在过去20年中建立了相当复杂的制作流程。简单来说,制作一个这样的角色,离不开下面的这些技术:
· (1) 高质量的扫描和建模:通过基于Photogrammetry的扫描技术,从多角度拍摄即将建模的物件、人体,后续通过计算机图形学,进行复杂的3D建模、Rig建立等等步骤,产生最高质量的3D模型和材质。
· (2) 全身动作捕捉和还原:捕捉演员的表演动作,还原成动画数据来回放。动作捕捉技术相对比较成熟,但依然面临着捕捉精度、稳定性、设备部署维护等等巨大的挑战。这部分动画数据,后续会被用来驱动虚拟的角色,让虚拟角色能做出和演员一样的动作。
· (3) 面部AI捕捉和还原:通常会和演员全身动作捕捉同期进行。演员在表演的时候,一般会佩戴特制的头盔,头盔中有一个或者数个摄像头,拍摄演员的脸部表情以及对话口型,在后期制作时再通过计算机视觉,还原成表情动画。本质上和全身动作捕捉技术有一定的相似性,但由于脸部表情对于角色形象极其重要,所以面部捕捉和还原会应用更高精度的技术来进行。
在高质量的实时渲染中,(1)是被广泛使用的,因为它可以被离线制作。但(2)、(3)都是非常难实时采集和合成的。这也导致游戏中实时的动画质量,远低于电影质量。
曙光:实时的整合流程
开发者们一直在往这个目标做不懈的努力。
2016年的Game Developer Conference以及2016年的Siggraph中,Epic Games联合3Lateral、Cubic Motion、Ninja Theory等公司,开发出了可实时驱动的虚拟人物演示。多公司的联合团队,成功的将Hellblade游戏中的一段过场视频,搬上了实时渲染的游戏引擎。
这个获得了当年Siggraph最佳演示奖的Demo,是这样解决上述难题的:
· 渲染性能不够用,渲染质量不够高?实时渲染质量肯定比不上电影,但目标并不是要超越电影,而是在合适的性能开销下,提供最顶级的画面表现,让实时渲染的角色,也能有极高的真实度。从这个demo中看,开发者基本达到了设想的目标。Unreal引擎本身在超真实人物渲染上有深入的实现,在实时渲染中,UE也能达到相当真实的渲染质量。同时配合行业顶尖的技术美术、角色美术,对材质、模型进行深入细致的调整,最终在可接受的性能开销下完成了渲染。
· 扫描和建模方面,Epic Games选择和行业顶尖公司3Lateral合作,3Lateral有着多年同好莱坞剧组合作的经验,也帮助无数AAA游戏进行人物角色的建模。
通过拍摄在进行角色建模
· 全身动作捕捉方面,Epic Games选择了Xsens的惯性动作捕捉系统,易设置,精度适中,但抗干扰性略差一些。在实际演示中,还是遇到了一些小麻烦,比如现场电磁干扰较多,动作捕捉设备会不停出现抖动,后来团队灵机一动,让现场演出的模特儿站在桌上,才避开了地板下的干扰。同时Epic使用了iKinema公司的IK组件,成功把全身动作、面部捕捉等多条动画stream重新合成的角色上,完成了多采集数据源共同实时驱动角色的功能。
通过全身动作捕捉进行动画数据录制
· 最关键的面部表情捕捉,Epic Games选择了Cubic motion的技术。这是一家英国技术企业,提供简单易用的头盔,配合AI深度学习的solver,来捕捉和计算脸部表情数据,然后驱动3Lateral的Rig系统,从而把演员的微妙表情,实时还原到虚拟角色。
头部的Cubic Motion专用头盔,录制表情
简单说,这个高质量的演示,具有重大的意义,它标志着电影化虚拟角色的复杂流程、高计算量等等障碍,被逐渐克服,我们终于有机会在消费级的硬件环境下,实时渲染高质量虚拟角色。
进展:质量的提升永无止境
整个行业都看见了曙光,实时渲染的突破仿佛就在眼前,更多团队开始研究如何在实时渲染中做出虚拟角色。研究的团队中,既有Epic这样传统的游戏引擎厂商,也有更多从电影、特效行业来的厂商。
2017年7月底举办的计算机图形顶级会议Siggraph 2017中,Mike Seymour,著名Fx Guide网站创始人,亲自参到Meet Mike的项目。Epic Games、3Lateral、Cubic Motion、Tencent等6家行业顶级公司,横跨四大洲合作,向行业展示了实时游戏引擎中,渲染虚拟角色的最新进展。
Meet Mike项目,一方面对原有的流程进行了大幅度的增强,3Lateral的扫描技术全面升级,Cubic Motion的脸部表情进一步提高,另一方面也拓展了展示形式,展出在VR中进行,访问者可以在VR世界里面和虚拟的Mike Seymour交流。同时,对于渲染质量,Epic Games和腾讯一起进行了深入的开发,在皮肤、光照、毛发等方面对Unreal引擎做了全面的增强。
RENDERS IN REAL TIME ON ONE PC (30FPS)
MEETMIKE项目展示了数字人科技的最新研究,在洛杉矶SIGGRAPH2017的VR Village现场,几位业界领袖人物接受了一个照片级真实的数字人的在线实时采访,而这个数字人是在“悉尼”的一个虚拟演播室中。观众可以在VR中观看,也可以通过一个巨型屏幕围观。
Rendered at 30fps above, and at 90fps in stereo at Siggraph
腾讯互娱NEXT研发中心有幸参与其中,几位实时渲染和图形学的研发人员帮助提升了数字人脸部皮肤的细节和真实性,与Epic Games合作开发完成了一套全新的复杂的皮肤着色器(Skin Shaders)。
展望
Meet Mike项目,是不是就能跨过恐怖谷,真正成为实时渲染的里程碑呢?从目前的结果来看,我们还不能过早下结论。从几段视频来看,单看一张静态画面,你已经很难分辨是否是真实照片了。而动画播放的时候,Mike的眼部表情活灵活现,头发和皮肤材质也非常逼真,达到了目前实时渲染的最高水准。
但实时流程的老问题还是存在,当mike的动画动起来以后,嘴部动画还是略有生硬,能感觉的存在一些问题,但这个问题究竟是在3Lateral的建模和Rig上,还是Cubic Motion的脸部动捕有问题,还有待进一步改善。
无论如何,技术发展的趋势不可改变,传统电影渲染技术,往往在数年后走进实时渲染领域,引领着实时渲染的突破。我们坚信,虚拟人物的渲染成熟化,也即将到来。
[1]恐怖谷:由于机器人与人类在外表、动作上相似,所以人类亦会对机器人产生正面的情感;直到一个特定程度,他们的反应便会突然变得极为负面。哪怕机器人与人类只有一点点的差别,都会显得非常显眼刺眼,整个机器人显得非常僵硬恐怖,使人有面对僵尸的感觉。可是,当机器人和人类的相似度继续上升,相当于普通人之间的相似度的时候,人类对他们的情感反应会再度回到正面,产生人类与人类之间的移情作用。(from Wikipedia)