多年以来,电影工业冲在 “消化” 大量前沿计算机图形技术(computer graphics)的最前线。
例如新晋 3D 技术革命拥趸者、著名导演李安,就在去年推出的《双子杀手》中实现“数字造人”:完全通过 CG 复制出年轻版的威尔 · 史密斯。最新一届图灵奖,也青睐于电影工业十几年前所经历的特效革命,颁给了创造 3D 动画的两位皮克斯“前员工”—— Patrick Harahan 和 Catmull。
图丨 EDWIN E.CATMULL(左)和 PATRICK M. HANRAHAN(右)(来源:如图示)
而随着不久前一款游戏引擎 Demo 的发布,显示出一场不可忽视的技术性升级飓风,同样刮到了游戏产业。
新款游戏引擎 “虚幻引擎 5” 在 PlayStation 5 上运行的实时 Demo 中,从光照渲染的表现力到物体细节的丰富程度,展现了罕见的视觉效果,如同从好莱坞 3D 电影中随意截取的片段,几乎是游戏引擎实现的最接近 “电影级” 画面体验的一次。
图丨虚幻引擎 5 Demo (来源:EPIC GAMES)
计算数千亿个三角形,一次生产力的解放
游戏引擎是开发者用来开发游戏、交互体验、AR/VR 应用的电脑程序。最初只是每次游戏开发中一些基本代码的集合,现发展成为包含多个子系统的开发框架,可谓游戏开发核心技术集大成之体现,使用者可以将 3D 模型、3D 环境、图像、音效、音乐等元素导入到游戏引擎中来实现创作。
游戏画面的视觉渲染工作,便是游戏引擎需要完成的一个环节。一款优秀的游戏引擎,本身就可以视为一台强大的渲染机器,因此也常被设计师们应用于电视、电影、广告、建筑、可视化设计等领域。
在游戏引擎的市占率方面,虚幻引擎是目前主要第三方引擎之一,由全球领先的游戏开发商和引擎研发商 Epic Games 所推出,包括《最终幻想 VII 重制版》《堡垒之夜》等众多知名游戏都基于这款引擎开发。最新宣布的虚幻引擎 5,计划在 2021 年早期发布预览版,于 2021 年晚期发布完整版,除了支持现世代主机以外,主要还将面向诸如 PlayStation 5、Xbox 为代表的次世代主机(现在的 PlayStation 4 和 Xbox One 还基于 7 年前的硬件技术)。
图丨虚幻引擎 5 Demo (来源:EPIC GAMES)
官方介绍,这款新的生产力工具在帮助游戏开发者节省大量时间的同时,也朝着完全真实的模拟更进一步:“使用该游戏引擎,开发者可将 4K 级别质量的 3D 资源导入游戏并运行”。
我们常说“立竿见影”,但将这种寻常光影现象在虚拟世界复现,特别对于强调实时互动感的游戏体验来说,难度又比制作 3D 电影更高。
虚幻引擎 5 的实时 “电影级” 画面背后,主要是这两大核心技术支撑:Nanite——允许通过美术建模直接将影视级别画质、亿级多边形组成的美术作品直接导入虚幻引擎并自动优化;Lumen——则提供了全动态全局光照解决方案,且无需专门的光线追踪硬件,就能在宏大而精细的场景中渲染间接镜面反射和无限反弹的漫反射,小到毫米级、大到千米级,将为美术师省下大量的时间。
图丨 曲面形状由三角网格数据结构来表达(来源:虚幻引擎 5 技术解析:几何图像的思想 )
尤其容纳亿级多边形恐怕是其中最让游戏开发者们兴奋的一个点。
正如 "百万像素" 是衡量一张照片质量高低的指标,多边形数量是 3D 模型质量的一个基本指标,它是指模型的面数,例如,一个立方体有 6 个面。
这些多边形通常由三角形组成,就像 Demo 中所言,它是游戏和 AR/VR 体验中影响图形质量的主要因素。一个模型的多边形越多,3D 效果看起来就会越流畅、越逼真,所包含的信息和细节就越多。如同在低分辨率的照片中,你可以看到像素点,但在高分辨率的照片中,像素点几乎无法察觉。
诚然,开发者们自然希望自己的游戏中的模型质量越高越好,但现实是,硬件是一个限制因素。例如,一部手机就无法处理具有数百万个多边形的复杂 3D 模型,即使是大多数高端的 VR 体验,也需要对 3D 模型进行优化,即减少多边形的数量,让更多的带宽用于交互性和同时加载其他模型。一切都需要服务于实时体验。
因此,设计师们在创造一个作品时,他们需要时刻警惕每种设备或体验所允许的多边形数量上限。
(来源:EPIC GAMES)
虚幻引擎 5 所展示的,正是这种 “Less troubleshooting, more creation” 的效果:可容纳多达上亿个多边形共存,意味着创作者可以在不降低多边形数量,即不降低画质的情况下,充分展现作品。也正因如此,虚幻引擎 5 的问世在游戏设计师群体引发轰动。
“虚幻引擎 5 一夜之间将游戏领域数十年积累的很多技术翻页”。计算机图形学领域学者、纽约州立大学石溪分校教授顾险峰更是给出了如此高的评价。
虚幻引擎 5 发布后不久,顾险峰在网络上发布了详尽的专业技术分析。文中特别提到,Nanite 这种对多边形的容纳能力,让他想起 18 年前,其与 Gortler 教授、Hughes Hoppe 合作的 SIGGRAPH 论文 “几何图像” 中所提出的一种新颖思想——让两种不同的视觉数据走向统一。几何图像技术是基于著名数学家丘成桐和顾险峰创立的计算共形几何的算法。计算共形几何算法将任意三维曲面映射到平面区域,这种映射使得畸变最小,同时将三维曲面问题转化成二维平面问题,从而实现“降维攻击”。
图丨每个雕像具有 3300 万个多边形(来源:EPIC GAMES)
更多的技术变革正在路上
众所周知,这一轮基于深度学习的计算机视觉爆发,与其所需的视觉信息大数据的到位息息相关。
与计算机视觉不同,相较于感知和理解,图形学的核心问题更在于如何呈现和创造。相较之下,计算机图形学牵涉到大量复杂数学几何问题,造成了数据本身的门槛,也让该领域的可用数据量远未到所说的大数据级别。
而在虚拟世界中的视觉呈现效果,又主要由纹理和几何这两种类型的数据所支配。
图丨曲面共形参数化(来源:虚幻引擎 5 技术解析:几何图像的思想 )
图丨大卫王头像的几何图像与法向纹理图(来源:虚幻引擎 5 技术解析:几何图像的思想 )
“我们看到在图形学中有两种主要的数据结构:表示曲面几何的不规则三角网格和表示表面纹理的规则图像。为了处理这两种迥然不同的数据,图形处理单元(GPU)硬件中设置了两条流水线,一条用于处理三角网格,另外一条用于处理纹理图像。我当时的想法是将两种数据结构统一成纹理图像,从而抛弃三角网格的流水线,由纹理图像的流水线处理几何与纹理数据,从而简化 GPU 的硬件设计,提高渲染速度”,顾险峰在文章《虚幻引擎 5 技术解析:几何图像的思想》中如此写道。
顾险峰在接受 DeepTech 采访时更通俗地介绍道:“两种数据在创建三维模型的过程中发挥的作用,类似于糊一个灯笼所需要的贴纸和竹架。三角网格类似于竹架,纹理图像类似于有着人物山水装饰的灯笼纸,然后贴到灯笼上。18 年前,我们所设想的,就是把几何数据也通过纹理来表达”。
在顾险峰看来,虚幻引擎 5 基于 Nanite 方案所展现的效果,几乎是他目前看到当年所设想的理论对应的最佳应用案例。
对于虚幻引擎 5 背后所象征的行业技术趋势,他也在访谈中给出了更多解读,以下为主要 QA 内容:
(来源:EPIC GAMES)
DeepTech:没有虚幻引擎 5 的 demo 之前,从业者是怎么去追求这种效果的?
顾险峰:没有虚幻引擎之前的话,画面的几何复杂程度会低非常多。
比如我是一个艺术家,在设计人物的时候,本可以设计得美轮美奂,拥有非常多的细节,但限于多边形数量预算、多边形内存预算或绘制次数预算等问题,画得越精细算得越慢,所以达不到实时效果。艺术家很多时候要忍痛割爱。
但现在因为用虚拟技术对于这个几何限制完全去掉了,理论上你想用多复杂的几何都没问题。传统方法迫不得已要牺牲掉很多几何细节,要把局面进行简化,几何效果也因此变得粗糙,这会给艺术家带来很大不便,也限制了他们的想象。虚幻引擎实际上克服了这些缺陷。极大地解放了艺术家的想象力,艺术家想怎么设计就怎么设计,不需要有太多顾虑。
我预计,虚幻引擎 5 很大程度上会成为下一代的技术标准。
如果它的技术比较稳定,我相信很多玩家肯定会接受的,工业界也会把它作为新一代的标准。
比如说像 Magic Leap,他们所做的全局光照绝对是未来的方向,但是四维光场计算对硬件要求过高,超越目前整个时代技术发展水准,所以市场上没有成功,但总的技术趋势来看,方向是对的,过于超前。
图丨 Geometry images 研究(来源:hhoppe.com)
DeepTech:你提到的和这种效果相关的 18 年前一篇研究,当时为什么会设想将纹理和几何两种数据统一?
顾险峰:在创建三维模型的过程中,纹理和几何两种数据类似于糊一个灯笼所需要的纸和竹架。三角网格类似于竹架,纹理图像类似于有着人物山水装饰的灯笼纸,然后贴到灯笼上。
原先这两种数据结构几乎是彼此平行的,因为这是两种完全不同的数据。GPU 设计的两个流水线(管线),正是用来分别处理它们。
纹理图像本身可以做得非常之大,但几何网格却不行。纹理数据的体量一大,就需要用到所谓的虚拟纹理技术。把这两种数据结构统一,即可以用纹理来表达几何,这会为整个系统带来很多简化,极大地提高效率。
18 年前,我们所设想的,就是把几何数据也用纹理图像来表达。如果要把三角网格变成纹理,那么意味着首先要把弯曲的曲面打平,以铺到平面上。当时曲面参数化技术并不成熟,需要比较深的微分几何知识。如今过了十多年,特别是丘成桐团队奠定了理论基础,经过许多专家学者和技术人员的努力,这些理论和算法都大为成熟了,从而工业界得以大规模应用。
(来源:EPIC GAMES)
DeepTech:虚幻引擎 5 的全局光照解决方案,和英伟达的光线追踪有何异同?
顾险峰:光线追踪是动态全局光照中非常重要的突破。
几乎所有电影画面用的光照计算方法、绘制方法基本都是基于光线追踪。但光线追踪方法计算特别慢,需要逐个像素地计算,目前需要昂贵的硬件支持才能达到实时计算。但是虚幻引擎并没有用到实时光线跟踪,却也实现了动态全局光照技术,其中用到了很多近似算法,更多的工程实现细节需要等到公布之后才能分晓。这其中肯定也与他虚拟纹理技术、虚拟多边形技术有很大关系,比如虚拟影图,这方面的改进对于全局光照也会大幅提高效率。
DeepTech:游戏以外,类似于虚幻引擎 5 这样的虚拟纹理、虚拟几何技术可以应用到其它领域吗?
顾险峰:可以。比如说智慧城市中的几何大数据,以及各种各样的三维地理信息系统,数据都非常之大。不单单是纹理数据大,几何数据也很大。此前是很难实现实时渲染,或者就是实时渲染的质量特别粗糙,现在可以对几何大数据进行可视化处理,这会带来很大的推进作用。
大场景的几何处理一直是难点,虚拟几何技术可以处理无穷大的几何数据,这会极大地推动动漫映射行业,也为广大的 VR、AR 的艺术工作者提供了强有力的软件工具。
DeepTech:你谈到的未来会因此被淘汰的技术 / 技能是什么?
顾险峰:现在国内也有非常多专门学数字媒体专业的学生,他们去找工作,其中一项技能考验就是提供一个高模,即特别精细的几何模型,需要把它转变成低模,即如何把它简化,然后将高模生成的法向像贴图做出来 “烘焙” 到低模上。这种技术可以得到一个三角面比较少、渲染速度比较快的产品,同时还要保证渲染质量仍相对不错。
传统上,这个技能实际上一直是很关键的,也是目前该行业技术人员的看家本领之一。但我们看到,虚拟引擎 5 出来之后的话,这个能力就不再迫切需要了。
也有一些传统的技术会被时代所扬弃,现有的数字媒体技术格局会受到冲击。这是历史发展的客观规律,技术总是为人类的艺术才华服务。