关于游戏引擎的认知
这里整理了一些近期的材料,和对游戏引擎未来的设想。
背景
2020年,全球游戏市场规模约2000亿美元
,用户规模约27亿
。中国游戏市场销售收入约500亿美元
,用户规模约6亿
。
作为对比,同时期全球云计算市场规模约
2200亿美元
,中国约200亿美元
。
游戏市场规模扩大的同时,产业链也日趋成熟:
研运(研发、发行、运营)
分发渠道(三方商店如应用宝、硬件厂商如huawei、运营商、垂直渠道如taptap)
用户服务(媒体、语音、加速器、交易)
产业服务(游戏引擎、云服务、支付、信息流广告、数据分析、ASO、IP供应)
对于游戏硬件平台的收入分布,移动设备约50%
,主机约30%
,PC约20%
。
此外,国内游戏产业值得注意的趋势是:
游戏出海。头部厂商例如
FunPlus
,米哈游
,莉莉丝
,腾讯
,网易
。内容为王。渠道和流量红利减弱,开始拼研发水平,一些具有产品实力的中小团队在steam上崭露头角。如罗子雄团队的
Party Animal
,游戏科学的黑神话悟空
。上海崛起。2020年,
33%
的游戏求职者迁入上海(深圳为11%,成都为6%)。
越是大型的游戏,越离不开游戏引擎。其大致分为商业引擎(如Unity
,Unreal
)、免费引擎(如Godot
,Ogre3D
)和自研引擎。游戏引擎的不可或缺之处在于其提供了内容制作(强大的数字内容生产工具链)、跨平台能力。同时由于商业引擎大都可提供实时渲染、物理模拟等功能,也开始应用在游戏以外的领域。
商业游戏引擎近况
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 Core
(Nvdia 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