游戏科技谈——游戏引擎背后的技术
原文出处:游戏科技谈——游戏引擎背后的技术 - 专利吧 - KM平台
游戏科技谈,解密游戏新技术,本期游戏科技谈将带大家一起看看游戏引擎背后的专利技术。
一、游戏引擎的历史
“游戏引擎”的概念最初出现于1990年代,用于指代预先制作的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。游戏引擎的出现降低了游戏开发难度和工作量,让游戏设计者能容易和快速地做出游戏程序。
首款完整的游戏引擎通常被认为是id Software公司于1993年开发的Doom Engine。除《Doom》外,Doom Engine还被用于《Heretic》、《Hexen: Beyond Heretic》、《Chex Quest》等多款游戏的开发。此外Doom Engine许可费同样为id Software公司带来了一笔可观的收入,这也开创了游戏公司通过游戏引擎赚钱的先河。

Digital Cafe使用Doom Engine开发的《Chex Quest》
作为Doom Engine的后继者,id Software公司进一步开发出了鼎鼎大名的Quake Engine。Quake Engine对地图、角色、道具均能以全3D的形式进行描绘,并且在射击判定中还可以考虑角色之间的高度差,是首次真正意义上实现了即时3D的游戏引擎。
在id Software几乎独霸整个引擎市场的时候,1998年,Epic Games公司将渲染、碰撞检测、AI、图形、网络、文件系统管理统合在一个完整的引擎中,开发了初代的Unreal Engine(下称UE)。UE1模拟出的光影效果和材质精细程度均优于Quake Engine,获得了业界广泛的关注。但由于当时硬件性能的限制,还需要在各方面进行诸多权衡,例如在UE1中决定使用圆柱体碰撞检测,才得以维持可进行游戏的帧率。
随着硬件性能大幅提升和游戏引擎的版本迭代,游戏引擎的性能显著提升。在Epic Games最新发布的UE5中,虚拟几何体系统“Nanite”和动态全局光照和反射系统“Lumen”构成了最新版本升级的两大核心特性。

UE 5官方发布的Demo演示图
“Nanite”能够极快地速度渲染大量的三角面,并将每一帧中超十亿的原始几何体三角面无损压缩到两千万个绘制三角面,实现像素级的几何渲染及阴影效果。“Lumen”不仅能对移动中的光源作出反应,还适应于几何体的变化,能够在拥有高细节的大型场景中渲染拥有无限反射次数的漫反射和间接高光反射,在进行虚拟世界的设计时能够实现完美的实时光线反射。
功能日益强大的游戏引擎使得创造无限逼真的虚拟世界成为可能。
二、游戏引擎的技术
下图示出了一个典型3D游戏引擎的主要运行时组件,其中还未包含任何工具的部分,游戏引擎无疑是个非常大型的软件系统。

游戏引擎的运行时组件(引自《游戏引擎架构》)
更简化地从功能性来划分,一个典型游戏引擎通常提供的核心系统包括:渲染系统、物理引擎、AI系统、动画系统、音频系统、网络系统等。
作为最主要的系统之一,渲染系统是根据模型来渲染生成3D图形的系统,模型是指用语言或者数据结构进行严格定义的三维物体或虚拟场景的描述,包括几何、视点、纹理、照明和阴影等信息。在游戏渲染中,通常采用shadow map技术来实时计算物体的阴影。由于需要基于光源的视点去渲染shadow map,并且在正常渲染时还需要对shadow map进行采样进行阴影的计算。当场景复杂度很高时,即存在大量的物体和光源时,若对于光源逐一进行整个场景的阴影计算,则会造成计算量巨大,影响阴影的渲染效率;若采用部分采样进行阴影计算,则容易产生边缘锯齿现象,影响阴影的渲染效果。

纹素阴影计算示例图
为了尝试解决上述问题,一种基于GPU的距离场阴影贴图烘培方法被提出。在该方法中,获取目标虚拟对象的低分辨率阴影贴图,然后确定低分辨率阴影贴图中每个纹素的第一纹素范围以及中心点,并基于中心点采用缩放系数对第一纹素范围进行缩放处理以得到第二纹素范围,进而通过目标虚拟对象的高分辨率阴影贴图来渲染第二纹素范围,以实现对目标虚拟对象的阴影渲染。通过该方法,实现了基于阴影贴图的图像渲染过程,由于通过低分辨率的贴图确定贴图位置计算量较小,提高了图像渲染的效率;然后基于该位置渲染高分辨率的阴影贴图,保证了阴影的清晰度,避免了边缘锯齿的产生,提高了图像渲染效果。(专利公开号:CN111292405A)
作为游戏引擎的另一重要部分,物理引擎是通过为物体赋予真实的物理属性的方式来计算运动、旋转和碰撞等过程,对各种物理系统或物理过程进行近似模拟的系统。近年高质量的动画与电影中开始使用一种称为物质点法的新的物理模拟技术,这种技术特别适合描述有大的形状变化和大的拓扑结构变化的物理过程,并且可以用统一的算法,求解非常多种类材料的物理运动,MPM算法通过CPU得到了比较良好的实现,但是,当通过GPU计算架构来实现MPM算法时,因为并行计算能力的大幅提升,方案不再适用。每个计算核处理一个小块和相应粒子会造成大量的计算核处于空置状态,从而浪费了计算能力。此外,在GPU计算时,如何在提升CUDA线程的并行的粒度的同时避免格点的写冲突也是一个重要的问题。

模拟空间网格示意图
针对上述问题,一种物理特效模拟方法被提出。在该方法中,模拟数据包括物理特效粒子当前时间的属性信息和位置信息,以及用于放置物理特效粒子的模拟空间,模拟空间包括至少一个用于放置物理特效粒子的格子,每个格子对应至少一个格子节点,获取用于模拟物理特效的模拟数据,基于物理特效粒子的位置信息对物理特效粒子进行排序,根据排序结果确定每个物理特效粒子对应的处理线程、以及物理特效粒子与格子之间的第一映射关系,接着,基于物理特效粒子与格子之间的第一映射关系,利用物理特效粒子对应的处理线程将物理特效粒子的属性信息插值到物理特效粒子所在格子对应的格子节点,再然后,根据格子节点中所有物理特效粒子的属性信息,计算物理特效粒子在目标时间的运动状态信息,以实现物理特效的模拟。该方案可以有效地提高物理特效的模拟效率得到一个高效快速、高质量、多材料的物理模拟引擎。(专利公开号:CN112862942A)
游戏世界的运行离不开AI系统的控制。AI系统是根据环境信息、角色自身信息、外部输入信息等进行角色决策和行为控制的系统。人们通常期望与更拟人化更高水平的游戏AI进行对抗或协作,这促进了游戏AI技术的不断发展。在通常的AI系统运用中,NPC的行为存在两种驱动方式:第一,NPC的行为基于状态机进行驱动,用户控制的虚拟角色的行为触发状态机进行状态的跳转,NPC根据该状态进行对应的行为;第二,NPC的行为基于行为树进行驱动,根据NPC当前的状态和用户控制的虚拟角色的行为驱动NPC进行行为选择。但这样的NPC的行为驱动方式较为单一,NPC只能按照预设的逻辑与用户控制的虚拟角色进行互动,智能化的程度较低。

服务器与客户端的交互示意图
作为上述问题的一种解决方案,一种游戏中的情感NPC设计方法被提出。在该方法中,对被控虚拟角色在虚拟环境中活动时触发的事件进行确定,确定活动事件对应的非用户扮演类角色NPC,然后控制NPC对活动事件进行情感评判,得到情感评判结果,进而根据情感评判结果控制NPC与被控虚拟角色进行互动。通过对NPC设置情感状态,被控虚拟角色在进行不同的活动事件后,服务器控制NPC根据活动事件进行情感评判,得到情感评判结果,服务器控制NPC根据情感评判结果与被控虚拟角色进行互动,NPC基于情感评判结果,与被控虚拟角色进行差异化的互动,使得NPC与被控虚拟角色的互动方式更加丰富。(专利公开号:CN110496394A)
时至今日,随着游戏引擎的功能日益强大,其成为创建虚拟世界的必备工具,应用场景早已不再局限于游戏制作。在游戏制作中产生的游戏引擎相关技术同样也不再限于游戏领域本身,可以被广泛地应用于自动驾驶、影视制作、建筑规划等众多的工业领域。
三、游戏引擎在其他领域的应用
下面带大家看看游戏引擎及其相关技术在其他领域的应用。
3.1 自动驾驶领域
自动驾驶汽车在真正商业化应用前,需要经历大量的道路测试才能达到商用要求。采用路测来优化自动驾驶算法耗费的时间和成本太高,且开放道路测试仍受到法规限制,极端交通条件和场景复现困难,测试安全存在隐患。因此,基于场景库的仿真测试也成为解决自动驾驶研发测试挑战的主要路线。
自动驾驶汽车的仿真测试,首先需要模拟构建出与真实世界一致的车辆运行场景,而场景的构建可以分为静态场景构建和动态场景构建两个层面。静态场景构建的作用是还原出场景中与车辆行驶相关的静态元素,例如道路(包括材质、车道线、减速带等);静态交通元素(包括交通标志、路灯、车站、隧道、周围建筑等)。相对更复杂的,广义的动态场景元素包括动态指示设施、通信环境信息等动态环境要素,以及交通参与者(包括机动车行为、非机动车行为、行人行为等)、气象变化(雨、雪、雾等天气状况)、时间变化(主要是不同时刻光照的变化)等。动态场景构建是为了在静态场景的基础上,复现出场景中的动态元素,并且使得这些元素的动作及其产生的影响严格遵循现实世界的物理规律以及行为逻辑,在这个层面渲染系统、物理引擎、AI系统起到非常重要的作用。
腾讯自动驾驶仿真平台TAD Sim正是结合了专业的游戏引擎、工业级车辆动力学模型、虚实一体交通流等技术打造的自动驾驶仿真平台。在腾讯TAD Sim中引入了游戏引擎UE4,得到了更好的环境仿真效果,使传感器的仿真结果更加精准。

腾讯TAD Sim部分场景展示(引自《2020中国自动驾驶仿真蓝皮书》)
游戏引擎的渲染系统可以为仿真场景渲染出非常逼真的光影效果,以及风、霜、雨、雪等天气条件的变化。同时借由游戏引擎的物理引擎的力量,可以为仿真世界定义一套与现实世界一样的物理规则,让光照条件和天气条件的变化,包括各种交通元素的行为对仿真场景产生的影响与现实世界一致。
此外,场景中影响车辆运行的动态元素除了天气、光照等气象条件,还有测试主车之外其他交通参与者的行为。采用游戏中的AI技术是一个解决方案,在游戏中AI技术的作用主要是定义NPC(非角色玩家)的行为,每个NPC都需要有自己的行为逻辑。用同样的技术,以大量路采数据训练交通流AI,可以快速生成真实度高、交互性强的交通场景,构建庞大的场景库,提升测试效率。
游戏引擎相关的技术对自动驾驶仿真有很大的助力作用。在场景几何还原上,可实现三维场景仿真和传感器仿真,使环境和测试车辆条件都与现实世界相同;在场景逻辑还原上,可在虚拟世界中模拟出测试车辆的决策规划过程;在场景物理还原上,可模拟出车辆的操控和车身动力学作用结果,使虚拟世界的自动驾驶测试结果与现实世界无限接近。(专利公开号:CN112163348A——路面仿真、CN114177613A——动态通行路更新、CN110880204A——虚拟植被、CN113827966A——虚拟立交桥)
3.2 影视领域
在传统的视觉效果大片制作中,从主创人员完成现场工作,到后期制片工作全面实现设想,可能要经过数周乃至数月时间。实时游戏引擎的出现为影视行业带来了真正变革的机会。
在《曼达洛人》的拍摄中提出了一套颠覆性的虚拟制片方法:在用巨大LED幕墙围起来的舞台上拍摄这部剧集,幕墙上显示动态的数字化布景,创作人员在实时制片过程中能够对这些数字化内容作出实时反应和操作((下称“虚拟制片”)。

基于UE的LED摄影棚
当拍摄开始时,有多台同步PC运行虚幻引擎,实时驱动LED幕墙上的像素。另一方面,UE的操作者可以同时操纵幕墙上的虚拟场景、光照和效果,LED幕墙内的工作人员也能远程控制场景。
这种虚拟制片工作流程被用于拍摄《曼达洛人》第1季的过半镜头,使电影人不再需要外景地拍摄,可以利用摄像机中的准确光照和反光拍摄大量复杂的视觉特效镜头,并且在片场共同对场景进行实时迭代。大海、森林、沙漠、宇宙等等场景都可以有逼真的展现,在影视剧拍摄的时候,演员可以切身感受到电影成片时所呈现的环境效果,场景的转换都可以保持无缝衔接,大大节约了拍摄的视角。

采用虚拟制片技术的首部影视作品《曼达洛人》剧照
虚拟制片的出现提供了随时做出创作决定的自由和机会,促进了各部门之间的实时协作,让所有人都能在几秒钟之内就看到自己的创作设想得到充分实现。从首部采用虚拟制片的《曼达洛人》起,过去的两年时间内,国外虚拟制片技术高速发展并在影视行业获得了广泛应用,目前已有200多部影片使用了虚拟制片技术。
腾讯在2021年11月也联合Epic Games搭建了总占地3000平方米LED摄影棚,影棚的配置完全不输《曼达洛人》所使用的虚拟影棚。

基于UE 实时实现的月圆之夜(引自《腾讯LED虚拟影棚拍摄首秀来了!》)
通过LED影棚能够随时通过UE的操作实时地改变天气情况,并通过配合棚内灯光效果能够简单地获得所期望的拍摄场景。游戏引擎的实时能力与沉浸式LED屏幕相结合,实现了以前无法想象的创作灵活性。(专利公开号:CN112907716A——虚拟云层、CN108043027A——虚拟星空、CN109509243A——水体模拟)
3.3 建筑规划领域
近年来建筑规划行业也越来越多出现了UE和Unity等游戏引擎的身影。作为全世界最著名的建筑事务所之一,扎哈·哈迪德建筑事务所(ZHA)已在多个具体项目中使用Twinmotion(一款基于UE构建的方便易用的实时可视化工具)来对创意进行快速迭代和向客户展示设计。

ZHA使用Twinmotion实现的建筑设计示意图
对设计师而言,使用游戏引擎可以像玩游戏一样轻松展现设计场景,而且不必担心通常与实时技术相伴的各种技术难题,比如光照贴图、PBR工作流程等技术细节。这些优点使得设计师们可以把更多时间用在使项目设计更上一层楼的润色上。
作为城建规划方面的例子,在法国索菲亚科技园的规划初期,Egis团队选择使用Twinmotion来创建各种可视化资源。Egis以数字形式再现索菲亚科技园中与开发项目相关的区域。将所有数据导入Twinmotion后,Egis可以利用该工具无所不包的功能集使可视化影像变得鲜活。填充行人和车流等真实元素可以为沿公共汽车/有轨电车路线的旅行带来真实感。通过游戏引擎技术的使用,能够展示3D画面,其中有动态的车辆和植被,还有逼真的光照和阴影,可以从行人的视角来想象工程完工后的样子。
腾讯在“企鹅岛”的设计和建造中也尝试按照设计方案在游戏环境中搭建了企鹅岛的数字孪生。一方面是去探索游戏所积累的仿真、AI等科技在建筑设计等场景的应用,另一方面也是在这个相对拟真的环境中去验证我们的规划,交通能源等系统的设计是否合理,以一种更低成本的方式去优化和“试错”,去更科学地规划未来总部。(专利公开号:CN112784002A——建筑、CN112675545A——地表、CN111311723A——光照)
四、结语
游戏引擎虽起源于视频游戏的制作,随着硬件性能的大幅提升和游戏引擎版本的升级迭代,游戏引擎所能实现的效果和应用价值已远超越诞生之初人们对于其的期待和想象。游戏引擎的发展所带来的技术革新正在改写科技创意的未来,创造一个全新的世代。同样值得期待的,游戏行业基于游戏引擎产生的各项创新技术会渐渐向外蔓延到相关的工业和制造领域,这一定会为各行业的进一步发展注入新的活力。