作者
胡璇 腾讯研究院研究员
吴羽 腾讯研究院特约研究员
1975年,美国国防部向MIT赠送了若干台单价40美元的中型计算机PDP-10,本应用于模拟武器研发的设备中,更受学生欢迎的却是一款叫做冒险(adventure)的电子游戏; 2021年,英伟达顶级图形显卡仍然一卡难求,这些原本为游戏玩家和设计师准备的硬件因超高浮点运算能力等多项性能优势,被广泛用于人工智能和区块链计算; 5月26日,虚幻引擎5体验版发布,Nanite 虚拟几何体、Lumen 实时全局光照和 MetaSounds 等功能,为次世代游戏、实时可视化和沉浸式互动体验在真实感和细节上实现了跨世代的提升。
如果深潜至内容和社交层面的游戏理解之下,就会看到其更为“硬核”的一面——游戏不仅是创作和表达的媒介、社会交往的空间,更是科技应用和创新的前沿。 游戏研发技术中的通用技术及工具正在赋能影视、仿真、工业等多个领域,AI云计算等新技术将游戏作为深度应用场景,新硬件与新交互带来算力和体验多重突破。 未来游戏将会朝着哪些科技领域突破发展,又将如何助力“超级数字场景”加速虚实融合、创造更多价值? 系列文章将从关键技术和发展路径角度,围绕以下几个侧面尝试进行解读。
- 游戏引擎
- 虚拟人
- 云游戏
- 混合现实设备
- AI辅助内容生成
- ……
超级数字场景:
科幻作品呈现的未来想象中,赛博空间会越来越场景化,成为集生活、交易、娱乐为一体的“超级数字场景”。 比如《黑客帝国》中Matrix世界与现实世界无异,《头号玩家》VR头显背后是多个超现实场景构成的异想世界。
但在当下,当我们点击一个视频链接时,期待的仍是内容本身,而非想象自己正漫步进一家虚拟的电影院; 弹幕增强了临场感,但仍然很难再现生活中的观影体验。 从有形的现实场景到互联网场景,超文本改变了传统的时空关系,我们在链接间的“传送门”跳跃。 场景在互联网中成为一个抽象理念,往往不再意味着具体的设施、环境和体验。
嗯,这就是我们给互联网的画像……
咖啡馆、画廊、美术馆、健身房等,并非单纯的物理设施,而是承载着公共活动和文化意涵,从而改变人们的态度与行为,影响社会生活,并重新定义了城市场景(Urban Scenes)。 这也是社会学著作《场景: 空间品质如何塑造社会生活》中的主要观点之一。
超级数字场景以超大规模、实时可交互的虚拟世界,将被折叠的互联网在3D空间中展开,在视觉、听觉多层面传达可信、沉浸的丰富信息。 这里不仅再现日常生活、更实现幻想世界,并提供更多选择。 比如任意两个地点之间可以瞬时传送,演唱会在你“坐下”的一刻才会开启,不断改变自己的外观(甚至性别)也并非难事。 尽管全功能脑机接口、全感知沉浸技术离我们尚有时日,但《荒野大镖客2》《赛博朋克2077》等游戏则切实展示了通向未来的雏形。
可以嗅到风的气息
构建“超级数字场景”的本质是对现实世界的抽象、提炼和再现,需要多种能力 : 对现实的测量及在数字世界中的重绘,构造外观和动作逼真的“人”的数字化身,统筹声音画面动作等资源,及构建新世界的运行规则。 同时,这种能力也须以开放、工具化、易使用的形式提供给各种层级的创作者。 当下,最贴近这一能力的是游戏引擎(game engine)及相关开发工具。
实现超级数字场景所需的部分技术
游戏引擎是为了提升游戏开发效率的一系列工作套件,管理游戏的画面表现和交互逻辑。 世界知名的游戏引擎包括EPIC公司的unreal系列,unity系列,CryEngine及部分游戏公司自研引擎,如EA的寒霜,育碧的Anvil,CDPR的REDENGINE,网易的NeoX、Messiah,腾讯的Quicksilver等。
从工作流程看,游戏引擎属于中间件。 美术资源的建造需要预先在其它软件中完成,如3DMax、Maya、ZBRUSH制作模型,PS绘制贴图,Houdini制作场景,动作捕捉获取动作信息等,导入引擎进行整合。 音乐音效素材同样由引擎外的其它工具制作。 随着游戏引擎应用领域的增加,与工业软件、仿真应用、影视制作工具的衔接越发紧密。
“创世”并非易事,游戏引擎尽可能去模拟世界的内外形态,设定基础物理规则,定义交互方式。 游戏引擎更像一个设备齐全、工艺先进的巨型影棚,在演员、布景、灯光、摄像机、导轨依次摆好后,如何让画面、运动、交互协调运转,就是创作者和引擎的工作了。 真实世界的信息量趋近无限,需要做出抽象和简化。 游戏引擎及相关工具在实时运算、效率优先、追求品质的思路下,解决的三个核心问题是: 渲染、物理、动作。
渲染: 绘制超逼真的计算机图像
当你在阅读这行文字时,计算机及一整套协议、软件正共同施展一个叫做“渲染”(render)的魔法,使得代码和数据变成显示屏上可以阅读的图像。 在影视、游戏中,同样由计算机将原始数据信息绘制为一帧帧图像,渲染规模更大、任务更多,最终效果也更为复杂和绚丽。 其主要工作一是将3D模型转化为摄像机前的平面图像,二是尽量准确地还原每个像素应有的颜色。
赛博朋克世界烟雨迷蒙,霓虹映照出角色眼中“五彩斑斓的黑”,这背后是计算机图形学和工程学人数十年孜孜不倦的努力。 1974年成立时,ACM SIGGRAPH(美国计算机学会计算机图形学特别兴趣组)只是由少数学科专家组成的团体,如今已发展为由国际研究人员、艺术家、开发者、电影人和产业人共同组成的国际社区,每年召开SIGGRAPH及SIGGRAPH ASIA顶级学术会议,发布前瞻性的图形和交互技术革新。
渲染可能意味着巨大的计算量,效果和效率难以兼顾。 当前,渲染被分化为影视常用的离线(off-line)渲染,和游戏使用的实时(real time)渲染。
影视为了实现纤毫毕现的拟真效果,可以静静等待渲染画面生成,动用的超大计算集群被形象地称为“农场”。 维塔数码制作的《战斗天使阿丽塔》,主角每根发丝都是一个需要单独渲染的“物体”,共超过13万根。 单帧画面渲染需要100小时,3万台电脑不分昼夜工作,排放出的热气使惠灵顿气温上升。
游戏则要对玩家的输入实时反应 ,射击类游戏中,高手决胜往往就在几帧画面之间; 同时,玩家硬件的计算能力捉襟见肘。 因此,效率被摆在首位,视觉上的减法、优化甚至欺骗都很必要。 比如将被遮挡的物体剔除掉不做计算; 将更精致、面数更高的模型渲染好,提取光影纹理贴图放在低面数模型上的漫反射、高光、法线贴图技术。 计算机图形学和算法、工程的加持,与作为工具的游戏引擎一同加入这场“极限挑战”。
实时渲染效果的提升,依赖算法和算力的共同推进。 在3D场景中,如何准确呈现一个多边形中每一个像素当下的色彩? 这要考虑它的形体、颜色、光线和材质。 开启全局光照(global illumination,简称GI)后,画面中原本没有直接光照而漆黑一片的地方,也因漫反射带来的间接照明变亮,细节和真实度大幅提升。
GPU专业图形硬件发展为渲染特别是光影表现带来极大提升。 比如20世纪70年代末提出的光线追踪(raytracing,简称光追)算法框架,需要计算视点发出的每一根光线在物体表面反射、折射的情况,来相对准确地还原投影、镜面、折射的光学效果。 但因为计算量巨大,直到2018年英伟达发布RTX GPU、微软推出DXR API,硬件层面的实时光线追踪才成为可能。 顶级消费显卡2080ti开启光线追踪后,游戏画面也会迅速下降到30帧甚至更低。
物理: 锚定新世界的运行规律
数字3D模型至少有两种构成逻辑: 以顶点和多边形(Polygon)绘制空心的外表面,及用乐高积木一样的体素(Voxel)由内而外搭建实体。 后者更逼近物理世界的构成逻辑,2009年《我的世界(Minecraft)》取得空前成功,非常类似一个高度封装的体素物理引擎,其建造、组装、破坏等方式丰富了玩家和数字世界的交互。 但巨量的粒子数对实时运算要求过高,材质和细节表现不佳,因此主流游戏制作仍采用多边形模式。 UE5的Nanite技术,使得画面中可以同时存在数亿个三角形,达到影视级逼真效果。
体素《我的世界》
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集群化渲染能力,探索突破单卡算力的高品质游戏; 增加更多关联软件的协同性。
-
与基于数据驱动的深度学习相结合——辅助程序化生成,提升美术制作能力及效率,使场景的规模和复杂性满足开放大世界需求,让角色动作真实连贯,高效完成场景测试。
-
更广泛的应用领域——向更多需要实时、高保真画面呈现,提供沉浸式体验的行业进行渗透,与机器人、无人机、物联网等有更多的集成和交互。
面向未来,在虚拟与真实体验融合、实体与数字全面融合的发展过程中,以游戏引擎为代表的游戏技术和工具将具有更泛化的能力,连接影视、工业、仿真等更多领域、功能与服务,创造出更大的社会价值。