第 27 章

建筑师的迁徙

把时间拨回2019年5月,Unity在资本市场的异化压力尚未完全显形,但它的阴影已经足够长,足以让一些非游戏行业的用户开始重新评估自己对商业引擎的依赖。建筑、工程与施工行业——通常被简称为AEC——正是其中规模最大的潜在迁徙群体。这个群体在2019年之前与实时引擎的关系若即若离:他们知道Unreal Engine的存在,偶尔会在行业展会上驻足观看那些令人惊叹的实时漫游演示,然后回到办公室继续使用V-Ray和3ds Max。

转变的契机来自一个在游戏行业几乎没有引起波澜的收购事件:Epic Games买下了一家名为Twinmotion的法国公司。Twinmotion是什么?在游戏开发者眼中,它几乎不值一提——一个画质平庸、功能有限的实时可视化工具,无法与Unreal Engine原生的渲染能力相提并论。但在建筑师的日常工作中,Twinmotion代表了一种完全不同的价值主张。

它的全部设计哲学浓缩在一个事实里:一个从未写过一行代码的建筑师,可以在导入Revit或ArchiCAD模型后的一个下午,产出第一段在实时引擎中漫游的视频。不需要节点编辑器,不需要着色器语言,不需要理解Draw Call或LOD。界面上的每一个控件都在说同一句话:这是为你准备的。

Epic为这笔交易付出的金额从未公开,但它的战略意图不需要财务报表来解读。Twinmotion不是被收购来增强Unreal Engine的渲染能力的——它的渲染能力远逊于UE4原生的管线。它被收购是因为它掌握了一把钥匙:通往建筑师桌面的钥匙。这把钥匙的齿纹不是技术性能,而是认知契合。Twinmotion的材质库预设了建筑行业常用的材料类型——不同规格的混凝土、不同颜色的玻璃幕墙、不同纹理的木材饰面——而不是游戏行业常用的科幻装甲或中世纪石墙。它的光照预设模拟的是不同纬度、不同季节、不同时刻的自然光照条件,而不是奇幻世界中的双月系统。

它的植被库包含的是常见的景观树种,而不是外星植物。每一个设计决策都在降低建筑师从BIM模型到实时可视化的转换摩擦。这笔收购发生在一个需求爆炸的前夜。2019年的建筑行业已经站在一个临界点上。BIM在过去十年中从先锋事务所的实验变成了大型项目的标准交付物。业主和开发商不再满足于效果图展板和预渲染动画——他们想在方案评审会上走进建筑物的大堂,实时切换不同楼层的视角,在冬至日和夏至日的光照条件下分别审视立面的表现。这种需求在2015年前后还是扎哈·哈迪德事务所或福斯特事务所这类顶级机构的奢侈实验,到2019年已经下沉为大型公建项目竞标的准入门槛。

建筑师群体发现自己面临一个陌生的挑战:他们需要实时引擎的能力,但他们不想成为实时引擎的专家。这正是Twinmotion所占据的生态位。它不是Unreal Engine的替代品——它是Unreal Engine的入口。

Epic在收购后迅速采取的一系列动作验证了这个判断:Twinmotion被免费提供给所有Unreal Engine用户;Datasmith数据转换工具包被深度集成到UE的资产导入管线中;与Autodesk Revit和Graphisoft ArchiCAD的直接数据交换通道被建立起来。这些动作构成了一场有条不紊的“入口战役”,其目标不是让建筑师放弃他们熟悉的BIM工具,而是让建筑师能够在BIM工具中完成设计后,将整个模型“一键”送入实时引擎,并在一个为建筑行业定制的简化界面中完成可视化工作。

这场战役的效果在随后三年中以远超外界预期的速度显现。建筑事务所开始组建实时可视化团队,这些团队的人员构成呈现出一种意味深长的混合:一部分成员来自传统的建筑可视化背景,带着对V-Ray渲染质量和3ds Max工作流的深刻理解;另一部分成员则来自游戏行业,带着对帧预算的直觉和对实时渲染管线的掌控。

这两拨人在同一个项目文件上协作时,常常会在术语和工作习惯上发生摩擦——建筑可视化出身的人习惯于每帧渲染数小时的质量预期,游戏行业出身的人则本能地在质量和性能之间寻找平衡点——但这种摩擦本身正是两个行业认知体系开始融合的现场。

这场迁徙在2019至2023年间沿着三条路径展开。每一条路径都对应着建筑行业一个不同的工作阶段,每一条都对引擎架构提出了不同的要求,每一条都在将实时引擎从一个为娱乐优化的运行时,推向一个为决策负责的工程工具。第一条路径是方案竞标的沉浸式体验。这是最接近游戏引擎传统用途的场景,也是建筑师最早大规模拥抱实时引擎的领域。

在一个典型的竞标场景中,建筑事务所需要在有限的时间内向评审委员会展示设计方案。传统的做法是制作效果图展板、实体模型和预渲染的漫游动画。这些媒介共享一个根本性的局限:它们是单向的。评审者只能看到设计团队预先选定的视角、预先设定的光照条件、预先编排的漫游路径。

如果评审委员会主席突然问“从这栋楼的第十七层看出去,对面的历史建筑是否会被遮挡”,设计团队通常只能回答“我们会在后续深化中补充这个角度的分析”——因为他们手头没有第十七层视角的渲染图。实时引擎改变了这个权力结构。当整个设计方案以完整的BIM模型形式导入Unreal Engine后,评审会变成了一个交互式探索的过程。评审者可以要求“带我去大堂的电梯厅”,可以实时切换不同的立面材料方案,可以模拟冬至日下午三点的日照角度,可以调出消防疏散通道的立体视图。

这不是“更好的渲染”——这是建筑方案的评审方式从“观看预设画面”变成了“进入可探索空间”。这种转变的影响超出了效率提升的范畴:它改变了设计沟通中的权力分配。在传统的效果图评审中,设计团队控制着评审者看到什么;在实时引擎支持的评审中,评审者获得了主动探索的能力,可以提出设计团队未曾预料的问题,可以发现设计团队试图回避的缺陷。

一些大型建筑事务所在这一时期的竞标策略中开始将实时引擎演示作为核心竞争力。竞标文件中会出现这样的承诺:中标后,业主团队可以在施工开始前,以实时漫游的方式审查每一个关键空间节点。这不是未来的愿景——它正在变成行业惯例。而这种惯例的形成,反过来对引擎的渲染质量、场景加载速度和跨平台兼容性提出了持续的压力。

第二条路径是施工阶段的设计协调与碰撞检测。这条路径比方案竞标更深入地触及了建筑行业的工程本质,也对引擎架构提出了更尖锐的挑战。在一个大型建筑项目中,结构工程师、暖通工程师、给排水工程师和电气工程师各自维护着自己的BIM模型。这些模型在各自的专业软件中分别创建,理论上应该在一个“联邦模型”中整合检查,实际上却常常在施工现场才暴露出冲突:通风管道穿过了结构梁,电缆桥架占据了消防喷淋的空间,地下室的水泵检修口被柱子挡住了三分之一。

传统的碰撞检测工具——以Autodesk Navisworks为代表——可以识别出这些几何冲突并生成报告,但它们呈现冲突的方式是静态的:一个列表,每条冲突附带一个三维视图的截图。施工协调会议上的典型场景是,各方工程师围坐在一张桌子前,对着投影屏幕上的冲突列表逐条讨论,然后分别回到各自的专业软件中修改模型,数日后再次开会检查修改结果。这个循环可能持续数周,而施工现场的每一天延误都在积累成本——在大型项目中,这个成本以每天数十万甚至上百万的规模增长。

实时引擎在这个环节提供的不是“更好的碰撞检测算法”,而是一种完全不同的协调方式:多人实时协作审查。当所有专业的BIM模型被导入Unreal Engine后,结构工程师、暖通工程师和电气工程师可以同时进入同一个虚拟空间,从各自的视角查看冲突区域。他们可以“走”到那根被通风管道穿过的结构梁旁边,从不同角度观察冲突的严重程度,在现场讨论修改方案。

如果引擎能够支持足够快的模型更新——这是这个“如果”的关键所在——他们甚至可以在会议期间看到修改后的效果。这种工作方式将碰撞检测从“异步的报告-修改-再报告”循环,变成了“同步的发现-讨论-解决”过程。

但这条路径也对引擎架构施加了反向压力,其核心矛盾在于数据精度。游戏引擎传统上使用局部坐标系:场景中的每个物体相对于一个原点定位,这个原点通常设在关卡的中心位置。在游戏开发中,一个关卡通常不超过数平方公里,32位浮点数提供的精度——大约在厘米级别——完全够用。

但当建筑师将一个长达数公里的机场航站楼模型导入引擎时,问题出现了:距离原点越远的几何体,其顶点位置的浮点误差就越大。在距离原点五公里的地方,32位浮点数的精度已经退化到毫米级别以下。这意味着两个本应精确对接的钢结构构件可能在引擎中呈现出肉眼可见的缝隙——即使它们在原始BIM模型中是完全对齐的。这不是一个可以通过“提高精度”简单解决的问题。

64位双精度浮点数可以将精度提升数个数量级,但GPU硬件对双精度计算的支持远弱于单精度。在实时渲染管线中全面使用双精度会导致性能急剧下降,可能将帧率从60帧拖至个位数。

Epic的工程师们面对的是一个此前从未认真对待的约束:如何在保持实时帧率的前提下,在一个覆盖数十公里范围的场景中维持毫米级的几何精度。他们的解决方案——在UE5中引入的大世界坐标系——本质上是一种折中:在CPU端使用双精度存储和计算物体的世界位置,在GPU端则将这些位置转换为相对于摄像机位置的局部坐标,使渲染管线仍然可以使用单精度浮点运算。这个方案的代价是增加了引擎底层代码的复杂度。

每一处涉及世界空间坐标的计算都需要区分“存储精度”和“渲染精度”,而这两个精度之间的转换本身也会引入微小的误差——尽管在绝大多数建筑应用场景中,这种误差已经远小于施工公差的要求。这就是建筑行业对引擎架构施加的第一种反向压力:精度压力。

它迫使引擎开发者修改了自id Software时代以来一直被视为理所当然的坐标系统设计,在底层引入了双精度支持。这个修改的影响范围远远超出了建筑行业——开放世界游戏的开发者同样受益于大世界坐标系——但驱动这个修改的最初动力,来自建筑师对“钢结构能否与地基准确对接”的执念。

第三条路径是运维阶段的数字孪生平台。这是三条路径中走得最远、对引擎架构的要求也最深刻的一条。数字孪生的概念起源于工业制造领域——一台航空发动机在运行过程中持续向一个数字模型回传传感器数据,使运维团队可以实时监控其状态、预测故障并优化维护计划。当这个概念被扩展到城市尺度时,它意味着整个建筑群、基础设施网络乃至城市区域都可以拥有一个持续运行、持续更新、可交互的实时数字镜像。2019至2023年间,多个城市和大型基础设施运营商开始探索基于实时引擎的数字孪生平台。

这些项目的规模令游戏开发者感到眩晕:一个港口数字孪生需要整合来自数千个传感器的实时数据,覆盖数十平方公里的地理范围,同时为数百个并发用户提供不同权限层级的访问。一个机场数字孪生需要将航班调度系统、行李处理系统、安防监控系统和建筑管理系统的数据流映射到同一个三维空间中,并确保每个用户只能看到其权限范围内的信息。这类需求对引擎架构施加的压力远远超出了渲染层面。

首先是地理信息系统的集成。一个城市尺度的数字孪生必须使用大地坐标系——经度、纬度和海拔——而非引擎原生的局部笛卡尔坐标系。这意味着引擎需要理解地球曲率、投影方式和坐标转换,需要能够将不同来源的地理数据——卫星影像、地形高程、建筑轮廓、地下管线——精确地对齐到同一个空间参考系中。如果一个建筑模型在BIM软件中使用的是地方平面坐标系,而地形数据使用的是WGS84大地坐标系,引擎必须能够在导入时完成坐标转换,并保持足够的相对精度。

这个需求在游戏开发中几乎不存在——游戏场景不需要知道自己在哪个大陆上——但它正在成为实时引擎在AEC行业中的基本要求。

其次是语义数据交换。一个BIM模型不仅仅是一堆三角面片,它携带了丰富的语义信息:这面墙的防火等级、这扇门的制造商和型号、这台空调机组的额定功率和维护周期。当这个模型被导入实时引擎后,这些语义信息不能丢失——运维人员点击一面墙时,需要看到它的构造层次和防火等级;设施管理人员点击一台水泵时,需要看到它的上次检修日期和下次维护计划。这就要求引擎不仅能够渲染几何体,还要能够承载和查询结构化的语义数据,并将其与几何体保持正确的关联。

IFC标准在这个过程中扮演了关键角色。IFC是一个开放的、中立于供应商的建筑数据交换格式,它描述的是一个由类型、属性和关系构成的复杂对象图。

但IFC的数据模型与游戏引擎的数据模型之间存在根本性的不匹配:IFC的核心抽象是“墙”、“梁”、“柱”、“门”、“窗”这些建筑构件及其相互关系,而游戏引擎的核心抽象是Actor-Component树——一个为高效渲染和物理模拟而优化的层级结构。在这两者之间建立稳定的映射,需要大量的中间件开发和数据转换逻辑。如果一个IFC模型中的“墙”对象包含多层构造——外层砖石、中间保温层、内层石膏板——引擎需要决定是将这面墙作为一个Actor导入还是拆分为多个Actor,以及如何在拆分后保持IFC中定义的语义关联。这部分工作正在成为引擎平台在AEC市场中的核心竞争力。

再次是多用户协作的权限体系。游戏引擎传统上假设所有进入同一个场景的用户拥有大致相同的交互能力——在多人游戏中,玩家可以互相看到对方、可以拾取物品、可以触发事件。但建筑项目的协作审查需要精细的权限控制:结构工程师可以修改结构模型但不应改动暖通模型;

施工经理可以添加注释和标记但不能修改设计模型;业主代表可以浏览所有内容但不能导出模型文件。这种权限粒度远远超出了游戏引擎原生的网络复制框架的设计假设。Epic在UE5中对Replication Graph的改造——允许开发者自定义网络相关性和复制策略——为这种权限体系提供了底层支持。但将其适配到建筑协作场景仍然需要大量的上层开发:定义角色层级的权限模板,建立模型元素的所属关系追踪,实现基于权限的可视化过滤——某些用户可能只被允许看到建筑的外壳而看不到内部的MEP设备。这些需求在游戏开发中几乎不存在,但在建筑协作中是不可或缺的基础功能。

这三条路径——方案竞标、施工协调、数字孪生——在2019至2023年间并行展开,彼此交叉,共同指向一个根本性的转变:建筑不再被理解为一组静态的图纸和渲染图,而是被理解为一个持续运行、可交互、可模拟的实时系统。这个转变的意义超出了工具替换的范畴。

当一座建筑物在设计阶段就被导入实时引擎,在施工阶段通过实时引擎协调各方模型,在运维阶段通过实时引擎监控运行状态,那么这座建筑物在整个生命周期中始终存在于一个数字环境中。这个数字环境不是“建筑物的数字副本”——副本意味着复制,意味着原件的优先性——而是建筑物的另一种存在方式:一个与物理建筑物同步演化、相互影响的信息层。

对于引擎开发商而言,这场迁徙验证了一个此前只是假设的判断:一个为射击游戏设计的引擎,确实可以被重塑为建造真实世界的基础设施工具。但这种重塑不是免费的。

每一条路径都对引擎架构施加了反向压力——大地坐标精度、语义数据交换、多用户权限、与外部数据源的实时集成——而这些压力正在将Unreal Engine从一个相对紧凑的游戏运行时,推向一个越来越庞大、越来越复杂的通用实时平台。支持GIS坐标意味着引擎底层需要维护两套坐标系统,并在它们之间进行持续的高精度转换。

支持IFC数据意味着引擎需要内置一个语义数据管理层,能够解析、存储和查询建筑行业的领域模型。支持多用户协作意味着网络复制框架需要理解建筑行业的权限逻辑,将其映射到引擎的Actor复制机制上。这些新增的抽象层并非免费午餐——它们增加了代码库的复杂度,延长了新功能的上线周期,并让引擎在面对传统游戏开发需求时显得越来越“重”。一个只需要制作线性关卡的游戏开发者,可能会困惑于为什么引擎的项目设置中包含“大地坐标参考系”的选项;一个只需要单人体验的独立开发者,可能会觉得多用户权限系统是毫无必要的复杂性。

这就是“通用化税”在建筑行业迁徙中的具体形态。Epic通过Twinmotion为建筑师打开了一扇轻量化的入口——一个不需要理解着色器语言、不需要管理LOD层级、不需要优化Draw Call的入口。但一旦建筑师进入这个入口并开始沿着三条路径深入,他们就会不断要求引擎做更多的事情:更精确的坐标、更丰富的语义、更精细的权限。

而这些要求最终都会沉淀为引擎架构中的永久性负担,成为每一个后续版本必须兼容的遗产。这个负担在短期内可以被《堡垒之夜》的巨额收入所吸收。但从更长的时间尺度来看,它正在将Unreal Engine推向一个与id Tech截然不同的演化方向。id Tech始终是一个为特定类型游戏优化的垂直引擎——它的每一次架构决策都可以用“这是否让射击游戏跑得更快”来检验。而Unreal Engine正在成为一个为“所有需要实时三维渲染的行业”服务的水平平台。

水平的代价是厚度——平台的每一次横向扩展都在增加它的体积和复杂度。支持建筑行业的大地坐标系统,支持汽车行业的物理传感器模拟,支持影视行业的线性色彩管线,支持直播行业的虚拟制片工具集——每一个新行业的涌入都在引擎架构中沉淀一层新的抽象。

这些抽象层之间并非总是和谐共存。为建筑行业优化的大世界坐标系可能增加开放世界游戏的CPU开销;为影视行业引入的线性色彩管线可能破坏游戏行业已经习惯的后处理效果链;

为汽车仿真引入的确定性物理可能限制游戏物理引擎的优化空间。通用化意味着妥协,而妥协意味着引擎在任何一个垂直领域都无法做到极致。这个张力不会在2019至2023年间解决——它只是开始积累。

建筑师的迁徙证明了一个为射击游戏设计的引擎可以被重塑为建造真实世界的基础设施工具。但它同时也在引擎架构中埋下了一个尚未被充分认识的问题:当一个平台必须同时服务于游戏开发者对帧率的极致追求、电影人对画质的无限苛求、建筑师对精度的工程级要求、以及汽车工程师对物理确定性的绝对依赖时,它的架构是否还能保持足够的弹性来容纳下一个未知行业的涌入?这个问题在2023年的时间点上没有答案。但它的轮廓已经足够清晰,足以让引擎架构的决策者在每一次添加新功能时感受到它的重量。Twinmotion的那扇轻量化入口通向的,是一条越走越重的路。