超级数字场景:将脱水的互联网空间再浸泡
科幻作品呈现的未来想象中,赛博空间会越来越场景化,成为集生活、交易、娱乐为一体的”超级数字场景“。比如《黑客帝国》中Matrix世界与现实世界无异,《头号玩家》VR头显背后是多个超现实场景构成的异想世界。
但在当下,当我们点击一个视频链接时,期待的仍是内容本身,而非想象自己正漫步进入一家虚拟的电影院;弹幕增强了临场感,但仍然很难再现生活中的观影体验。从有形的现实场景到互联网场景,超文本改变了传统的时空关系,我们在链接间的”传送门“跳跃。场景在互联网中成为一个抽象理念,往往不再意味着具体的设施、环境和体验。
咖啡馆、画廊、美术馆、健身房等,并非单纯的物理设施,而是承载着公共活动和文化意涵,从而改变人们的态度和行为,影响社会生活,并重新定义了城市场景(Urban Scenes)。这也是社会学著作《场景:空间品质如何塑造社会生活》中的主要观点之一。
超级数字场景以超大规模、实时可交互的虚拟世界,将被折叠的互联网在3D空间中展开,在视觉、听觉多层面传达可信、沉浸的丰富信息。这里不仅再现日常生活、更实现幻想世界,并提供更多选择。比如任意两个地点之间可以瞬时传送,演唱会在你”坐下“的一刻才会开启,不管改变自己的外观(甚至性别)也并非难事。尽管全功能脑机接口、全感知沉浸技术离我们尚有时日,但《荒野大镖客2》《赛博朋克2077》等游戏则切实展示了通向未来的雏形。
游戏引擎是超级数字场景的“梦工厂”
构建“超级数字场景”的本质是对现实世界的抽象、提炼和再现,需要多种能力:对现实的测量及在数字世界中的重绘,构造外观和动作逼真的“人”的数字化身,统筹声音画面动作等资源,及构建新世界的运行规则。同时这种能力也须以开放、工具化、易使用的形式提供给各种层级的创作者。当下,最贴近这一能力的是游戏引擎(game engine)及相关开发工具。
游戏引擎是为了提升游戏开发效率的一系列工作套件,管理游戏的画面表现和交互逻辑。世界知名的游戏引擎包括EPIC公司的unreal系列,unity系列,CryEngine及部分游戏公司自研引擎,如EA的寒霜,育碧的Anvil,CDPR的REDENGINE,网易的NeoX、Messiah,腾讯的Quiksilver等。
从工作流程看,游戏引擎属于中间件。美术资源的建造需要预先在其它软件中完成,如3DMax、Maya、ZBRUSH制作模型,PS绘制贴图,Houdini制作场景,动作捕捉获取动作信息等,导入引擎进行整合。音乐音效素材同样由引擎外的其它工具制作。随着游戏引擎应用领域的增加,与工业软件、仿真应用、影视制作工具的衔接越发紧密。
“创世”并非易事,游戏引擎尽可能去模拟世界的内外形态,设定基础物理规则,定义交互方式。游戏引擎更像一个设备齐全、工艺先进的巨型影棚,在演员、布景、灯光、摄像机、导轨一次摆好后,如何让画面、运动、交互协调运转,就是创作者和引擎的工作了。真实世界的信息量趋近无限,需要做出抽象和简化。游戏引擎及相关工具在实时运算、效率优先、追求品质的思路下,解决的三个核心问题是:渲染、物理、动作。
渲染:绘制超逼真的计算机图像
当你在阅读这行文字时,计算机及一整套协议、软件正共同施展一个叫做“渲染”(render)的魔法,使得代码和数据变成显示屏上可以阅读的图像。在影视、游戏中,同样由计算机将原始数据信息绘制为一帧一帧图像,渲染规模更大、任务更多,最终效果也更为复杂和绚丽。其主要工作一是将3D模型转化为摄像机前的平面图像,二是尽量准确地还原每个像素应有的颜色。
赛博朋克世界烟雨迷蒙,霓虹映照出角色眼中“五彩斑斓的黑”,这背后是计算机图形学和工程学人数十年孜孜不倦的努力。1974年成立时,ACM SIGGRAPH(美国计算机学会计算机图形学特别兴趣组)只是由少数学科专家组成的团体,如今已发展为由国际研究人员、艺术家、开发者、电影人和产业人共同组成的国际社区,每年召开SIGGRAPH及SIGGRAPH ASIA顶级学术会议,发布前瞻性的图形和交互技术革新。
渲染可能意味着巨大的计算量,效果和效率难以兼顾。当前,渲染被分化为影视常用的离线(off-line)渲染,和游戏使用的实时(real time)渲染。
影视为了实现纤毫毕现的拟真效果,可以静静等待渲染画面生成,动用的超大计算集群被形象地称为“农场”。维塔数码制作地《战斗天使阿丽塔》,主角每根发丝都是一个需要单独渲染地“物体”,共超过13万根。单帧画面渲染需要100小时,3万台电脑不分昼夜工作,排放出地热气使惠灵顿气温上升。
游戏则要对玩家的输入实时反应,射击类游戏中,高手决胜往往就在几帧画面之间;同时,玩家硬件的计算能力捉襟见肘。因此,效率被摆在首位,视觉上的减法、优化甚至欺骗都很必要。比如将被遮挡的物体剔除掉不做计算;将更精致、面数更高的模型渲染好,提取光影纹理贴图放在低面数模型上的漫反射、高光、法线贴图技术。计算机图形学和算法、工程的加持,与作为工具的游戏引擎一同加入这场“极限挑战”。
左:400万面的高精度模型
中:500面的简化低面数模型
右:法线贴图效果-把光影信息叠加在低面数模型上
实时渲染效果的提升,依赖算法和算力的共同推进。在3D场景中,如何准确呈现一个多边形中每一个像素当下的色彩?这要考虑它的形体、颜色、光线和材质。开启全局光照(global illumination,简称GI)后,画面中原本没有直接光照而漆黑一片的地方,也因漫反射带来的间接照明变亮,细节和真实度大幅提升。
GPU专业图形硬件发展为渲染特别是光影表现带来极大提升。比如20世纪70年代末提出的光线追踪(raytracing,简称光追)算法框架,需要计算视点发出的每一根光线在物体表面反射、折射的情况,来相对准确地还原投影、镜面、折射的光学效果。但因为计算量巨大,直到2018年英伟达发布RTX GPU、微软推出DXR API,硬件层面的实时光线追踪才成为可能。顶级消费显卡2080ti开启光线追踪后,游戏画面也会迅速下降到30帧甚至更低。
物理:锚定新世界的运行规律
数字3D模型至少有两种构成逻辑:以顶点和多边形(Polygon)绘制空心的外表面,及用乐高积木一样的体素(Voxel)由内而外搭建实体。后者更逼近物理世界的构成逻辑,2009年《我的世界(Minecraft)》取得空前成功,非常类似一个高度封装的体素物理引擎,其建造、组装、破坏等方式丰富了玩家和数字世界的交互。但巨量的粒子数对实时运算要求过高,材质和细节表现不佳,因此主流游戏制作仍采用多边形模式。UE5的Nanite技术,使得画面中可以同时存在数亿个三角形,达到影视及逼真效果。
a. 体素《我的世界》:
b. UE5演示的Nanite技术:
现实中,敲碎一块大石头会得到几块小石头,两块石头相撞会弹开;在缺乏物理支持的引擎中,分解石头模型只能得到若干破碎的曲面,两块石头靠在一起则会相互交叉。想要表达物体碰撞、雨水堆积、发丝飘动、建筑破碎,就需要引擎物理特性的支持。世界知名的物理引擎有AMD公司的Bullet、Nvidia的PhysX,还有Microsoft的Havok。物理引擎以概括和简化的规则,巧妙实现逼真效果。
物理引擎处理的对象主要可以分为刚体(Rigid Bodies)和柔体(Soft Bodies)两大部分。三维空间里的球形模型是气泡还是铅球,取决于刚体组件的质量、阻力、重力设置;铅球想要“落在”而非穿过地板,需要设置碰撞器让二者接触时就停止运动。国风的武侠、玄幻题材讲究“衣袂飘飘”,在布料、发丝的柔体效果方面积累了很多经验:一种实现方式类似做雨伞,给布料绑定骨骼,通过牵引骨骼改变布料运动;或者以质点-弹簧模式,模拟布料在伸展、折叠时的一些力学特性。
光子在2021年腾讯游戏发布会上的技术演示:
在引擎可以设定具体的物理参数,如摩擦系数大小;也可以改变虚拟场景的运行定律。比如使场景中的重力和现实一致,或设定为“重力方向可由玩家操作改变”(游戏《重力异想世界》)。在物理引擎的支持下,可以在虚拟环境下模拟一些真实场景,比如高中课本中的“在斜坡上拉动载着弹簧和小球的小车”,演示阿基米德定律,或者用强化学习训练一只模拟狗学习走路。
PhysX的FleX特性展示(2015年):
动作:驱动更自然的角色行为
在游戏美术的诸多环节中,动作调整是个不折不扣的苦力活儿,需要设计师对着照片或者视频,在关键帧一点点手动调节每个关节的位置。找不到感觉的时候,就拉着同时或亲自上阵,感受骨骼走向、肌肉发力。要让角色鲜活逼真,动作的真实度和丰富度都不可缺少。
动作捕捉技术可以高效获取大量动作数据,并显著提升真实度,在影视特效、游戏制作中已成熟应用。2015年前后,动作捕捉的使用难度下降,场地校准、骨骼建模、动作回看所需时间大幅缩短;精度上升,支持对手指动作的捕捉。《战神4》等3A游戏在制作影视级过场剧情时,会同时录制演员的肢体运动、面部表情、摄像机运动和前期录音。
《战神4》之战神和他地老父亲:
收集足够多的动作片段素材是第一步,如何让动作和动作之间真实衔接,曾经是一个难点。暴力解法是为每两个独立的动作之间再做一个衔接动画,当基础动作数为100时,需要额外加做至多100*99/2=4950段新动画。育碧在《荣耀战魂》中应用的Motion Matching技术,核心是基于大量连续的动作数据,根据玩家的输入和角色所处的状态等信息,自动化地搜索出最匹配未来角色状态的动作并播放,节约工作量并使动作连续自然。
在AI加持下,未来将从播放既定动画,到智能体自主学习复杂动作。育碧2020年在SIGG发表最新成果《LearnedMotion Matching》(https://montreal.ubisoft.com/en/learned-motion-matching-2/),利用神经网络和深度学习技术,AI能够抽象出动作和环境间的逻辑,学会爬坡上坎、坐在椅子上等、坐在椅子上等复杂动作组合,更自然地切换动作,切实地与虚拟环境融为一体,进一步减少训练时间和计算消耗,增加学习地可解释度和泛用性。
不止游戏:让虚拟和真实紧密结合
引擎实时渲染的效果纤毫毕现、令人沉浸,与现实场景混合在一起,足以以假乱真;在物理特性和动作方面的积累,可以支持简单的仿真模拟应用。因此,一些商业引擎开始探索如何为更多行业开放这些能力,并提供更切合需求的工具,逐步应用在对高保真、实时呈现有需求的多种场景,比如建筑、影视、汽车、直播、模拟训练、工业制造、广告等。
影视-虚拟制片 UE与Netflix的曼达洛人:
过去影视制作中,绿幕拍摄和后期合成依次进行。由于拍摄和制作分离,团队中每个人的工作都面临挑战:演员只能想象着场景表演,人和场景的融合需要大量后期工作,导演不能实时看到拍摄效果,道具和场景师也无法在现场及时调整布景。
虚拟制片正以实时模式改变制作流程,游戏引擎助力场景更加真实。片场搭设多面实时LED幕墙,蓝天白云与四周风景真实倒映在演员墨镜、皮衣等反光材质上。布景中的山体、云雾如在镜头中效果不佳,也能现场修改。整体提升虚实结合拍摄效率,为艺术家带来更多灵感和创作空间。
《曼达洛人》第1季的过半镜头正是这样拍摄的:有4台同步的PC运行虚幻引擎,实时驱动LED幕墙播放预先制作好的高精度美术素材。另一方面,三名虚幻操作者可以同时操纵幕墙上的虚拟场景、光照和效果。LED幕墙内的工作人员也能用iPad远程控制场景,与导演并肩合作。节约外景地拍摄成本的同时,可以利用摄像机中的准确光照和反光拍摄大量复杂的视觉特效镜头,并且在片场共同对场景进行实时迭代。《西部世界》《权力的游戏》等多部影视作品也使用了虚拟制片模式。
游戏引擎作为实时3D创作平台,其技术被汽车行业广泛应用在设计与工程验证,内外饰效果与HMI(人机交互),市场推广与终端销售,模拟培训与自动驾驶等领域。
我们常在各种广告中见到酷炫的汽车外观展示,在灯光下车身玻璃、金属和油漆闪现不同光泽,勾勒出流畅生动的车体曲线。游戏引擎能够实时渲染出细节丰沛的图像,帮助设计师随时调整汽车形体、颜色、材质和细节,并加入复杂灯光烘托氛围,为视频广告提供支持。像素推流(Pixel Streaming)技术可以将模型直接展示在网页中,供用户通过任何终端随时旋转、缩放,任意观看。
迈凯伦官网上使用游戏引擎制作和实时推流的汽车模型:
自动驾驶需要大量测试和数据来提升算法的效率及可靠性,而传统的道路测试难以满足。根据美国兰德公司的研究,自动驾驶算法想要达到人类驾驶员水平至少需要累计177亿公里的驾驶数据来完善算法。传统道路测试成本高昂,存在一定安全隐患,且不能完全展现实际中的多种突发情况。什么车能不费一滴油24小时连轴运转,又有什么场地既能一秒模拟极端恶劣天气、电动车变道加塞、行人从盲区中走出等突发情况,同时不危害实际道路安全?
自动驾驶仿真系统应运而生,游戏引擎的渲染、物理能力起到重要作用。例如,腾讯TAD Sim引入UE4,以得到更好的环境仿真效果和更加精准的传感器仿真结果。游戏引擎的渲染能力可以为仿真场景制作非常逼真的光影效果,以及风、霜、雨、雪等天气条件的变化。同时借由物理引擎的力量,可以为仿真世界定义一套与现实世界一样的物理规则,让光照条件和天气条件的变化,包括各种交通元素的行为对仿真场景产生的影响与现实世界一致,这对车辆感知算法和控制算法的训练来说非常重要。目前场景库中有超过1000种场景类型,可以泛化生成万倍以上丰富场景,具备每日1000万公里以上的测试能力。
下一个十年,游戏引擎还会带来哪些惊喜
创造一个世界可以很简单,一张纸,一根笔,加上天马行空的想象力;创造一个世界可以很复杂,辛苦到上帝都需要休息一天。现有的游戏引擎如果要打造头号玩家中的“绿洲”,在能力和功能上都相距甚远。但在硬件算力的加持下,在计算机图形学家和工程师孜孜不倦的努力下,在艺术家和设计师的巧思妙手中,引擎在向着更强大、更易用、更泛用的方向加速发展。未来,游戏引擎还将在一下几方面着力突破:
- 更强大的全方位表现力,提升沉浸感——包括在画面上实时提供影视级的真实感与丰富细节,更逼真的光照、粒子特效;物理层面对现实世界更近似的模拟方式;声音方面更准确还原声场,与场景深度融合。
- 更易用及更泛用——将复杂的技术留在冰山之下,让更多普通创作者以简单操作实现高阶效果,实现面向不同场景、需求和使用者的功能组合;跨平台能力,对VR\AR\MR等新硬件和平台更好的支持;探索原生云游戏引擎能力,充分利用GPU集群化渲染能力,探索突破单卡算力的高品质游戏;增加更多关联软件的协同性。
- 与基于数据驱动的深度学习相结合——辅助程序化生成,提升美术制作能力及效率,使场景的规模和复杂性满足开放大世界需求,让角色动作真实连贯,高效完成场景测试。
- 更广泛的应用领域——向更多需要实时、高保真画面呈现,提供沉浸式体验的行业进行渗透,与机器人、无人机、物联网等有更多的集成和交互。
面向未来,在虚拟与真实体验融合、实体与数字全面融合的发展过程中,以游戏引擎为代表的游戏技术和工具将具有更泛化的能力,连接影视、工业、仿真等更多领域、功能与服务,创造出更大的社会价值。
参考文献:
1.触乐,周思冲《1975,用造核弹的机器玩游戏》https://www.chuapp.com/article/280104.html
2.虚幻引擎5抢先体验版文档介绍https://docs.unrealengine.com/5.0/zh-CN/
3.【加】丹尼尔•亚伦•西尔、【美】特里• 尼科尔斯•克拉克著,祁述裕 、吴军 译《场景:空间品质如何塑造社会生活》,社会科学文献出版社,2019年
4.虚幻引擎官方文档,https://www.unrealengine.com/zh-CN/blog/forging-new-paths-for-filmmakers-on-the-mandalorian
5.虚幻引擎官方文档,https://www.unrealengine.com/zh-CN/spotlights/unreal-engine-a-high-spead-engine-empower-auto-industry
6.知乎,下一个十年(2020后),游戏引擎技术会如何发展?https://www.zhihu.com/question/364032123