关于游戏引擎的认知

这里整理了一些近期的材料,和对游戏引擎未来的设想。

背景

2020年,全球游戏市场规模约2000亿美元,用户规模约27亿。中国游戏市场销售收入约500亿美元,用户规模约6亿

作为对比,同时期全球云计算市场规模约2200亿美元,中国约200亿美元

游戏市场规模扩大的同时,产业链也日趋成熟:

  • 研运(研发、发行、运营)

  • 分发渠道(三方商店如应用宝、硬件厂商如huawei、运营商、垂直渠道如taptap)

  • 用户服务(媒体、语音、加速器、交易)

  • 产业服务(游戏引擎、云服务、支付、信息流广告、数据分析、ASO、IP供应)

对于游戏硬件平台的收入分布,移动设备约50%,主机约30%,PC约20%

此外,国内游戏产业值得注意的趋势是:

  • 游戏出海。头部厂商例如FunPlus米哈游莉莉丝腾讯网易

  • 内容为王。渠道和流量红利减弱,开始拼研发水平,一些具有产品实力的中小团队在steam上崭露头角。如罗子雄团队的Party Animal,游戏科学的黑神话悟空

  • 上海崛起。2020年,33%的游戏求职者迁入上海(深圳为11%,成都为6%)。

越是大型的游戏,越离不开游戏引擎。其大致分为商业引擎(如UnityUnreal)、免费引擎(如GodotOgre3D)和自研引擎。游戏引擎的不可或缺之处在于其提供了内容制作(强大的数字内容生产工具链)、跨平台能力。同时由于商业引擎大都可提供实时渲染、物理模拟等功能,也开始应用在游戏以外的领域。

商业游戏引擎近况

Unity

近年来,Unity由Entity-Component-System (ECS)架构切入,主推CPU友好的DOTS解决方案。其Scriptable Render Pipeline (SRP)以先进的设计思想,理论上可以定制出比Unreal更高效的渲染效率,受到开发者高度评价(链接),甚至技术美术都可以自己改渲染管线。

Unity公司除了引擎本身,还提供云托管、云测试、广告系统。Unity的2020年总收入约7.7亿美元。这是因为引擎本身占游戏收入的分成很有限,并且头部厂商具有自研引擎的能力。所以Unity正大力发展游戏以外的业务。截至2020年底的793个年缴费超过10万美金的客户中,有60个来自游戏以外的行业。例如船厂车间和船坞设施和空间布局规划。

Unreal

Unreal的底层架构还是OO而没有ECS方案,其主攻方向是以GPU Driven,以优化pipeline层面的性能。工程难度很大,例如一个复杂的粒子系统可能就没法完全 GPU Driven 而需要重新设计。Unreal在pipeline方向上的工作还有很多,例如自行实现的chaos物理引擎就尝试引入可编程管线的思想,如果落地将是另一个创举。

Unreal 5 的新特性:Nanite (虚拟几何体,运行时自动LOD),Lumen(动态全局光照)。此前游戏3D物体的制作流程是:基本形--(雕刻)-->高模--(拓扑)-->低模-->游戏引擎; 高模--(烘焙)--> 法线贴图等贴图 --> 游戏引擎。游戏引擎运行时根据算法进行LOD(普通LOD会导致远处巨大物体细节丧失,快速移动时远处物体突然出现)。现在有了 Nanite,高模可以直接导入游戏引擎且不需要LOD算法。而且高模可以直接来自3D扫描器(例如Quixel Bridge)。大大节省了美术制作流程,提高了细节表现。关于光照,此前全局光效果多采用烘焙,只适用于场景中静态的物体(也不能支持昼夜交替),因此要和局部的动态光相互配合;另一种解决方案光线追踪需要专门的硬件支持。Lumen则不依赖光追硬件,来实现近似光追达到的全局光效果。

基础技术

引擎技术的革新往往源于基础技术的革新,例如 GPU Direct Storage (Nvdia RTX IO,读取带宽从顶级SSD的7GB/s,提升到14GB/s,同时CPU占用变为原来的1/4)。又如 GPU RT CoreNvdia Turing GPU Architecture),通过在SM内集成专用的光线追踪求解模块(专用的ASIC流水线)射线与三角形求交,较 compute shader 有数量级的提升。

作为引擎开发岗,除了关注前沿技术外,修炼基本功更是重要。举几个例子:

  • 数学和物理。数学主要是三角学、线性代数、微积分,可能还需要随机过程、数值分析、偏微分方程;物理主要是力学、光学,电磁学也会有帮助。

  • C++。 尤其内存管理,对象的生命周期管理。

  • 数据结构。

  • 计算机体系结构。比如一些加速技术(多线程、缓存等)和硬件特性(带宽、发热原理等)。

  • 渲染及API。OpenGL/DX/Vulkan。

游戏引擎子方向

几个主要的子方向有:渲染, 动画, 仿真, 游戏AI,管线工具。

关于技术美术

上文谈到游戏引擎开发的几个方向,其中渲染方面主要是图形程序员负责的。而在国内一些大公司里,图形程序员和技术美术(TA)的边界似乎是比较模糊的。区别是目的:TA的目的是使用技术做出项目需要的效果,属于内容制作团队,图程的目的是技术实现和优化,属于引擎工具团队。不过这是理论情况,现实情况是假如使用Unity引擎或自研引擎,由于工具链还不完善,所以TA会涉及更多技术方面,例如修改渲染管线。

所以,成为一名优秀的TA,核心能力可能并不是技术,而是美术,譬如美学解构能力。

另参考:美术工作者如何点亮TA的技术(Technical )技能树?

作为补充,这里也列举一些国外某工作室技术美术评级参考的技能点。

  • 资产管线方向

    • 3DS MAX, Maya, Photoshop, Substance Painter, Blender, Motionbuilder, Houdini

    • 指导美术师创建符合引擎规范的asset,以及验证规范性;制定项目的Shading/Lighting/Material Model

    • 程序化纹理,DCC脚本

  • 工具开发方向

  • 游戏引擎方向

    • 研究引擎和工具,为美术团队提供培训,建立工作流

  • 性能优化方向

    • 对drawcall,半透明,shader复杂度等有了解

    • 图形调试软件 Nsight, RenderDoc, Intel GPA

    • 平衡性能和画面质量,保证目标帧率

    • 了解CPU,GPU架构,根据目标平台提供性能优化方案

  • 程序化生成方向

  • 灯光照明方向

  • shader和渲染方向

    • 开发复杂的shader算法,提升画面质量。

    • 对shader性能有深刻了解。

游戏之外,以及未来

目前游戏引擎已经强势涉足的领域还有:

  • 汽车设计、制造、展示、自动驾驶仿真、人机交互界面;

  • 建筑设计、家装设计和展示;

  • 地理信息系统、城市交通规划;

  • 博物馆等展陈项目;

  • 制造业的厂地规划、流水线模拟、监控(船厂、电厂、各类车间);

  • 技能培训(士兵、医生、工人等);

  • 另外还有大量实验性的课题:数字虚拟人,metaverse,病毒传播仿真等。

代表公司和项目有:

  • ESRI公司,旗下的ArcGIS系列软件(包含著名的CityEngine)已开发插件兼容Unity/UE4以实现实时渲染和跨平台(参考这里)。

  • 日本公司historia.inc,与隈研吾建筑都市设计事务所(KKAA)合作项目Multiplication,基于UE4实现虚拟画廊和奇幻建筑。该公司还涉足游戏、汽车、建筑和广播行业。

  • 扎哈·哈迪德建筑事务所(ZHA),基于UE4及Twinmotion进行建筑可视化和云端演示。

  • 通用汽车,基于UE4开发人机界面(HMI)并用于GMC悍马EV。

  • 华为,河图项目。切入点是重现敦煌当年面貌,主打AR地图。

  • 风语筑,设计政务服务、城市文化体验、文旅、广电MCN、新零售体验和数字艺术消费。

  • 阿里旗下的躺平设计家,主要是室内装修效果图。

  • 光辉城市,智慧城市数字孪生技术提供商,覆盖建筑设计从创作到交付全流程。

  • 51World,数字孪生技术提供商,基于UE4提供交通、地产、港口、园区等数字化能力,以及自动驾驶仿真软件51Sim-One

  • WorldBLD,基于UE5的城市级虚拟资产构建。

没有把云游戏放进游戏引擎的范畴是因为云游戏取决于商业模式,与新技术已经没有任何关系(参见我在知乎上的回答:5G的出现对游戏领域会有多大的影响?)。

就中国游戏行业自身来说,伴随着经济的迅速发展和工业化完成,按照美国和日本的历史规律,接下来文化产业也会迎来爆发式的发展。中国游戏行业也会在未来十年内迅速提升在全球的影响力。

未来一定是属于虚拟世界的。环顾四周,唯有游戏引擎有潜力成为创建虚拟世界的工具。换句话说,从事游戏引擎开发便是参与人类最浪漫的梦想之一:创世

Last updated