.

一文读懂游戏引擎核心问题适用场景与下一

白癜风 http://m.39.net/pf/a_10450195.html

作者

胡璇腾讯研究院研究员

吴羽腾讯研究院特约研究员

前言:游戏是科技应用和创新的前沿

年,美国国防部向MIT赠送了若干台单价40万美元的中型计算机PDP-10,本应用于模拟武器研发的设备中,更受学生欢迎的却是一款叫做冒险(adventure)的电子游戏;年,英伟达顶级图形显卡仍然一卡难求,这些原本为游戏玩家和设计师准备的硬件因超高浮点运算能力等多项性能优势,被广泛用于人工智能和区块链计算;5月26日,虚幻引擎5体验版发布,Nanite虚拟几何体、Lumen实时全局光照和MetaSounds等功能,为次世代游戏、实时可视化和沉浸式互动体验在真实感和细节上实现了跨世代的提升。

如果深潜至内容和社交层面的游戏理解之下,就会看到其更为“硬核”的一面——游戏不仅是创作和表达的媒介、社会交往的空间,更是科技应用和创新的前沿。游戏研发技术中的通用技术及工具正在赋能影视、仿真、工业等多个领域,AI云计算等新技术将游戏作为深度应用场景,新硬件与新交互带来算力和体验多重突破。未来游戏将会朝着哪些科技领域突破发展,又将如何助力“超级数字场景”加速虚实融合、创造更多价值?系列文章将从关键技术和发展路径角度,围绕以下几个侧面尝试进行解读。

游戏引擎虚拟人云游戏混合现实设备AI辅助内容生成……

超级数字场景:

将脱水的互联网空间再浸泡

科幻作品呈现的未来想象中,赛博空间会越来越场景化,成为集生活、交易、娱乐为一体的“超级数字场景”。比如《黑客帝国》中Matrix世界与现实世界无异,《头号玩家》VR头显背后是多个超现实场景构成的异想世界。

但在当下,当我们点击一个视频链接时,期待的仍是内容本身,而非想象自己正漫步进一家虚拟的电影院;弹幕增强了临场感,但仍然很难再现生活中的观影体验。从有形的现实场景到互联网场景,超文本改变了传统的时空关系,我们在链接间的“传送门”跳跃。场景在互联网中成为一个抽象理念,往往不再意味着具体的设施、环境和体验。

嗯,这就是我们给互联网的画像……

咖啡馆、画廊、美术馆、健身房等,并非单纯的物理设施,而是承载着公共活动和文化意涵,从而改变人们的态度与行为,影响社会生活,并重新定义了城市场景(UrbanScenes)。这也是社会学著作《场景:空间品质如何塑造社会生活》中的主要观点之一。

超级数字场景以超大规模、实时可交互的虚拟世界,将被折叠的互联网在D空间中展开,在视觉、听觉多层面传达可信、沉浸的丰富信息。这里不仅再现日常生活、更实现幻想世界,并提供更多选择。比如任意两个地点之间可以瞬时传送,演唱会在你“坐下”的一刻才会开启,不断改变自己的外观(甚至性别)也并非难事。尽管全功能脑机接口、全感知沉浸技术离我们尚有时日,但《荒野大镖客2》《赛博朋克》等游戏则切实展示了通向未来的雏形。

可以嗅到风的气息

游戏引擎是超级数字场景的“梦工厂”

构建“超级数字场景”的本质是对现实世界的抽象、提炼和再现,需要多种能力:对现实的测量及在数字世界中的重绘,构造外观和动作逼真的“人”的数字化身,统筹声音画面动作等资源,及构建新世界的运行规则。同时,这种能力也须以开放、工具化、易使用的形式提供给各种层级的创作者。当下,最贴近这一能力的是游戏引擎(gameengine)及相关开发工具。

实现超级数字场景所需的部分技术

游戏引擎是为了提升游戏开发效率的一系列工作套件,管理游戏的画面表现和交互逻辑。世界知名的游戏引擎包括EPIC公司的unreal系列,unity系列,CryEngine及部分游戏公司自研引擎,如EA的寒霜,育碧的Anvil,CDPR的REDENGINE,网易的NeoX、Messiah,腾讯的Quicksilver等。

从工作流程看,游戏引擎属于中间件。美术资源的建造需要预先在其它软件中完成,如DMax、Maya、ZBRUSH制作模型,PS绘制贴图,Houdini制作场景,动作捕捉获取动作信息等,导入引擎进行整合。音乐音效素材同样由引擎外的其它工具制作。随着游戏引擎应用领域的增加,与工业软件、仿真应用、影视制作工具的衔接越发紧密。

“创世”并非易事,游戏引擎尽可能去模拟世界的内外形态,设定基础物理规则,定义交互方式。游戏引擎更像一个设备齐全、工艺先进的巨型影棚,在演员、布景、灯光、摄像机、导轨依次摆好后,如何让画面、运动、交互协调运转,就是创作者和引擎的工作了。真实世界的信息量趋近无限,需要做出抽象和简化。游戏引擎及相关工具在实时运算、效率优先、追求品质的思路下,解决的三个核心问题是:渲染、物理、动作。

渲染:绘制超逼真的计算机图像

当你在阅读这行文字时,计算机及一整套协议、软件正共同施展一个叫做“渲染”(render)的魔法,使得代码和数据变成显示屏上可以阅读的图像。在影视、游戏中,同样由计算机将原始数据信息绘制为一帧帧图像,渲染规模更大、任务更多,最终效果也更为复杂和绚丽。其主要工作一是将D模型转化为摄像机前的平面图像,二是尽量准确地还原每个像素应有的颜色。

赛博朋克世界烟雨迷蒙,霓虹映照出角色眼中“五彩斑斓的黑”,这背后是计算机图形学和工程学人数十年孜孜不倦的努力。年成立时,ACMSIGGRAPH(美国计算机学会计算机图形学特别兴趣组)只是由少数学科专家组成的团体,如今已发展为由国际研究人员、艺术家、开发者、电影人和产业人共同组成的国际社区,每年召开SIGGRAPH及SIGGRAPHASIA顶级学术会议,发布前瞻性的图形和交互技术革新。

渲染可能意味着巨大的计算量,效果和效率难以兼顾。当前,渲染被分化为影视常用的离线(off-line)渲染,和游戏使用的实时(realtime)渲染。

影视为了实现纤毫毕现的拟真效果,可以静静等待渲染画面生成,动用的超大计算集群被形象地称为“农场”。维塔数码制作的《战斗天使阿丽塔》,主角每根发丝都是一个需要单独渲染的“物体”,共超过1万根。单帧画面渲染需要小时,万台电脑不分昼夜工作,排放出的热气使惠灵顿气温上升。

游戏则要对玩家的输入实时反应,射击类游戏中,高手决胜往往就在几帧画面之间;同时,玩家硬件的计算能力捉襟见肘。因此,效率被摆在首位,视觉上的减法、优化甚至欺骗都很必要。比如将被遮挡的物体剔除掉不做计算;将更精致、面数更高的模型渲染好,提取光影纹理贴图放在低面数模型上的漫反射、高光、法线贴图技术。计算机图形学和算法、工程的加持,与作为工具的游戏引擎一同加入这场“极限挑战”。

左:万面的高精度模型

中:面的简化低面数模型

右:法线贴图效果-把光影信息叠加在低面数模型上

实时渲染效果的提升,依赖算法和算力的共同推进。在D场景中,如何准确呈现一个多边形中每一个像素当下的色彩?这要考虑它的形体、颜色、光线和材质。开启全局光照(globalillumination,简称GI)后,画面中原本没有直接光照而漆黑一片的地方,也因漫反射带来的间接照明变亮,细节和真实度大幅提升。

GPU专业图形硬件发展为渲染特别是光影表现带来极大提升。比如20世纪70年代末提出的光线追踪(raytracing,简称光追)算法框架,需要计算视点发出的每一根光线在物体表面反射、折射的情况,来相对准确地还原投影、镜面、折射的光学效果。但因为计算量巨大,直到年英伟达发布RTXGPU、微软推出DXRAPI,硬件层面的实时光线追踪才成为可能。顶级消费显卡ti开启光线追踪后,游戏画面也会迅速下降到0帧甚至更低。

物理:锚定新世界的运行规律

数字D模型至少有两种构成逻辑:以顶点和多边形(Polygon)绘制空心的外表面,及用乐高积木一样的体素(Voxel)由内而外搭建实体。后者更逼近物理世界的构成逻辑,年《我的世界(Minecraft)》取得空前成功,非常类似一个高度封装的体素物理引擎,其建造、组装、破坏等方式丰富了玩家和数字世界的交互。但巨量的粒子数对实时运算要求过高,材质和细节表现不佳,因此主流游戏制作仍采用多边形模式。UE5的Nanite技术,使得画面中可以同时存在数亿个三角形,达到影视级逼真效果。

体素《我的世界》

UE5演示的Nanite技术

现实中,敲碎一块大石头会得到几块小石头,两块石头相撞会弹开;在缺乏物理支持的引擎中,分解石头模型只能得到若干破碎的曲面,两块石头靠在一起则会相互交叉。想要表达物体碰撞、雨水堆积、发丝飘动、建筑破碎,就需要引擎物理特性的支持。世界知名的物理引擎有AMD公司的Bullet、Nvidia的PhysX,还有Microsoft的Havok。物理引擎以概括和简化的规则,巧妙实现逼真效果。

物理引擎处理的对象主要可以分为刚体(RigidBodies)和柔体(SoftBodies)两大部分。三位空间里的球形模型是气泡还是铅球,取决于刚体组件的质量、阻力、重力设置;铅球想要“落在”而非穿过地板,需要设置碰撞器让二者接触时就停止运动。国风的武侠、玄幻题材讲究“衣袂飘飘”,在布料、发丝的柔体效果方面积累了很多经验:一种实现方式类似做雨伞,给布料绑定骨骼,通过牵引骨骼改变布料运动;或者以质点-弹簧模式,模拟布料在伸展、折叠时的一些力学特性。

光子在年腾讯游戏发布会上的技术演示

在引擎中可以设定具体的物理参数,如摩擦系数大小;也可以改变虚拟场景的运行定律。比如使场景中的重力和现实一致,或设定为“重力方向可由玩家操作改变”(游戏《重力异想世界》)。在物理引擎的支持下,可以在虚拟环境下模拟一些真实场景,比如高中课本中的“在斜坡上拉动载着弹簧和小球的小车”,演示阿基米德定律,或者用强化学习训练一只模拟狗学习走路。

PhysX的FleX特性展示(年)

动作:驱动更自然的角色行为

在游戏美术的诸多环节中,动作调整是个不折不扣的苦力活儿,需要设计师对着照片或者视频,在关键帧一点点手动调节每个关节的位置。找不到感觉的时候,就拉着同事或亲自上阵,感受骨骼走向、肌肉发力。要让角色鲜活逼真,动作的真实度和丰富度都不可缺少。

动作捕捉技术可以高效获取大量动作数据,并显著提升真实度,在影视特效、游戏制作中已成熟应用。年前后,动作捕捉的使用难度下降,场地校准、骨骼建模、动作回看所需时间大幅缩短;精度上升,支持对手指动作的捕捉。《战神4》等A游戏在制作影视级过场剧情时,会同时录制演员的肢体运动、面部表情、摄像机运动和前期录音。

《战神4》之战神和他的老父亲

收集足够多的动作片段素材是第一步,如何让动作和动作之间真实衔接,曾经是一个难点。暴力解法是为每两个独立的动作之间再做一个衔接动画,当基础动作数为时,需要额外加做至多*99/2=段新动画。育碧在《荣耀战 》中应用的MotionMatching技术,核心是基于大量连续的动作数据,根据玩家的输入和角色所处的状态等信息,自动化的搜索出最匹配未来角色状态的动作并播放,节约工作量并使动作连续自然。

在AI加持下,未来将从播放既定动画,到智能体自主学习复杂动作。育碧年在SIGG发表最新成果《LearnedMotionMatching》(


转载请注明:http://www.abachildren.com/jbzs/3761.html