土耳其厂商Peak Games(已被Zynga收购)推出的《Match Factory!》,在短短几个月内就展现出了惊人的市场表现,不仅迅速超越了同类头部产品《Triple Match...
梦回大秦:当程序化生成遇上千年古都
梦回大秦:当程序化生成遇上千年古都
深入剖析腾讯游戏利用PCG重建秦朝古都的技术之道与实践挑战
想象一下,漫步在两千多年前的秦朝古都,感受那雄浑而不失精巧的建筑,体验那独特的市井风情。这不再仅仅是历史爱好者的遐想,更是游戏开发者们试图通过尖端技术在数字世界中重现的宏大愿景。然而,如此规模宏伟且细节丰富的历史场景,若完全依赖传统的人工方式构建,其工作量之巨、迭代周期之长,足以令任何团队望而却步。在GDC 2025上,腾讯游戏的分享“戏程序化生成(PCG)之路:重建秦朝古都”为我们揭示了一条充满创新与挑战的技术路径。本文将以此为引,带您深入探索PCG技术在重建恢弘历史场景中的核心算法、实践经验与独特魅力。
宏伟蓝图下的效率瓶颈:为何呼唤PCG?
腾讯游戏团队在分享中提到,他们曾采用人工密集型工作流程构建了一座包含约2万栋建筑的中型城市,耗费了21个人月,每次迭代还需2个人月。当目标转向一座规模扩大16倍的秦朝大都市时,传统方法预计需要惊人的336个人月——这几乎是不可能完成的任务。面对如此严峻的效率鸿沟,程序化内容生成(PCG)技术,作为一种能够通过算法和规则自动创建大规模、多样化内容的利器,自然成为了破局的关键。
PCG的核心在于“以规则定义世界,让算法填充细节”。它不仅能极大提升内容生产效率,更能赋予世界一种内在的逻辑和生命力。但挑战也随之而来:如何让冰冷的算法理解并再现中国古代城市,特别是秦朝(约2600年前)那种依山而建、布局不规则、富有层次感的独特风貌?这与现代城市常见的规整网格布局大相径庭。
腾讯的PCG实践:三步构建秦风古韵
面对重建秦朝古都的艰巨任务,腾讯游戏天美工作室的陈宇青和效能产品部的余果及其团队,着手构建了一套以艺术家为导向、尊重历史风貌并追求高效的PCG工具集。其核心工作流巧妙地融合了艺术家的宏观掌控与PCG的微观生成能力,主要分为三个步骤:
- 第一步:蓝图勾勒(艺术家主导) - 艺术家在虚幻引擎(UE)内,通过放置自定义的立方体和曲线,快速勾勒出城市的主题区域和道路网络。这为城市的整体骨架和关卡设计奠定了基础。
- 第二步:骨肉填充(交互式PCG) - 在艺术家定义好的区域内,PCG系统会程序化地生成代表建筑群落和多个PCG目标的子盒子。艺术家可以实时调整这些盒子的位置、大小,并反复迭代PCG生成的结果,直至满意。
- 第三步:精雕细琢(高质量交付) - 针对每个庭院或重要区域,PCG将进一步生成符合最终交付质量的高精度资源和装饰性内容,确保场景的视觉效果和沉浸感。
为了让艺术家能更便捷地在UE中进行创作,团队还扩展了两种自定义编辑模式:古代城市编辑模式和兴趣点(POI)编辑模式。 这种设计理念确保了艺术家始终处于创作的核心地位,PCG则作为其高效的助手和延伸。技术核心:UE、Houdini与USD的协同作战。
这套PCG系统的强大之处,在于其巧妙的架构设计。前端,艺术家在直观的虚幻引擎界面操作;后端,则由强大的PCG计算引擎驱动。两者之间通过专门的PCG服务进行数据传输与协同。
前端:虚幻引擎的艺术界面
艺术家通过UE定制的编辑模式绘制区域、道路,这些输入会分割出子区域,作为后续PCG处理的基本单元。引擎界面不仅负责收集艺术家的输入,也负责接收并展示PCG后端处理好的数据,形成一个高效的“设计-生成-反馈-调整”闭环。
后端:Houdini的算法魔力与USD的数据枢纽
PCG后端是整个系统的“智慧大脑”,其核心组件与技术选择值得深入探讨:
- Houdini的布局算法: Houdini以其强大的节点式程序化建模和算法能力,成为处理复杂城市布局(如秦朝的“闾里制”)的首选。它能根据预设规则(如建筑间距、道路宽度、区域功能)递归且分层地生成建筑、内部道路、NPC乃至装饰性内容。
例如,Voronoi图算法常用于生成不规则的街区划分,L-System(L系统)可用于生成具有自相似性的道路网络或植物生长模式。这些算法通过Houdini的VEX语言或SOP节点(Surface Operators,用于几何操作,如Scatter用于散布点,Copy to Points用于在点上复制几何体,PolyExtrude用于多边形挤压等)进行实现。
- USD (Universal Scene Description):
这是整个数据流的基石。USD不仅仅是一个文件格式,更是一个强大的场景描述框架。它的优势在于:
- 标准化与互操作性: 允许与Houdini等多种DCC(Digital Content Creation)工具无缝集成。
- 高性能与高扩展性: 专为处理大规模场景设计,能够高效处理数十GB甚至更大的数据。
- 非破坏性编辑与分层: 修改可以保存在单独的图层文件中,如同“补丁”,极大降低了数据传输和同步的成本,这与腾讯团队的Flow框架(可能指其内部协作流程或特定技术)完美契合。
-
灵活性: 可以传递任意属性,定义自定义语义,表达复杂的资产、组件、Actor及其属性间的关系,这对于完整表示虚幻引擎场景(包括地形、植被、蓝图等特有元素)至关重要。
-
基于Omniverse的云服务: 利用NVIDIA Omniverse平台,PCG后端可以作为云服务部署。这不仅方便团队成员协作,共享和同步USD数据,还能在需要时弹性扩展计算资源,应对大规模场景生成的算力需求。Omniverse的Nucleus服务器是数据协作和版本控制的核心。
-
分布式并行计算: 为了加速大规模布局的生成过程,系统采用了分布式处理方法。多个区域可以同时计算,艺术家能以高频率获得反馈,极大提升了迭代效率。
值得一提的是,该框架还与UE5中原生的PCG图(PCG Graph)进行了良好集成,这表明团队并非完全另起炉灶,而是力求结合现有引擎的优势。
挑战与探索:重塑历史的“神”与“形”
重建秦朝古都,PCG面临的首要挑战是如何在提升效率的同时,精准捕捉和再现其独特的“神”与“形”。秦代城市布局强调“法天则地”,顺应山川地势,结构往往不规则且富有垂直层次感,这与现代基于平坦地形的网格化城市规划截然不同。团队深入研究了秦朝的“闾里制”等城市特征,以及居住庭院、宫殿、寺庙等不同区域的布局规则,并将这些规则融入PCG工具的开发中。
例如,在生成建筑布局时,算法需要考虑地形起伏,自动调整建筑朝向、高度和密度,并确保道路的合理连接。对于特定的“闾里”单元,系统需要依据历史文献和考古发现,生成符合其封闭式或半封闭式特征的院落组合。这可能涉及到复杂的约束求解算法,以平衡美学、历史准确性和游戏可玩性等多重目标。 (相关考古研究背景可参考陕西历史博物馆对秦咸阳城的研究)
经验之谈:让艺术家聚焦创意,而非繁琐
腾讯团队强调,PCG的目标是“让关卡美术师专注于POI(Point of Interest)区域”。据分享,城市中约80%的区域将由PCG生成(主要是背景和氛围营造),而另外20%的POI区域,则包含大量游戏玩法设计,需要艺术家投入更多精力精雕细琢。
为此,他们还为POI区域设计了特定的工具集,用于快速创建绳索、标志、杂物、城墙乃至城外的稻田等元素。
这种“二八原则”的划分,体现了对PCG优势与局限性的清醒认识。PCG擅长处理大规模、重复性高但又需要一定变化性的内容,而对于承载核心玩法、情感表达和叙事功能的关键区域,艺术家的手工打磨依然不可或缺。PCG生成的初步结果也可以由艺术家进行手动修改,赋予场景最终的独特外观。这种人机协作的模式,既保证了生产效率,又保留了艺术创作的灵活性和深度。
“我们希望我们的艺术家在虚幻引擎内创建程序化内容,而无需打开其他应用程序。” - 陈宇青,腾讯游戏天美工作室T1技术美术
这不仅是对工具易用性的追求,更是对工作流程效率的极致优化。通过参数化控制,一个单独地块可以生成多种结果供艺术家挑选,这无疑为创意探索提供了更多可能性。
结语:PCG——开启数字文保与游戏创作的新纪元
腾讯游戏通过重建秦朝古都的案例,为我们展示了PCG技术在大型复杂场景,特别是历史文化场景重建方面的巨大潜力。其以艺术家为中心的设计理念、UE与Houdini、USD、Omniverse等技术的深度整合,以及对历史风貌的尊重与再现,都为业界提供了宝贵的经验。
对于游戏开发者而言,这套PCG管线不仅是提升效率的工具,更是拓展创意边界的翅膀。对于广大玩家,这意味着未来我们将有机会在游戏中体验到更宏大、更真实、更富有文化底蕴的虚拟世界。PCG技术,正如同秦代工匠手中的刻刀,以数字化的方式,精雕细琢着连接过去与未来的桥梁,让我们得以在虚拟的时空中,与历史进行一次前所未有的亲密接触。
(本文主要参考自GameRes发布的“戏程序化生成(PCG)之路:重建秦朝古都”一文,内容基于腾讯游戏在GDC 2025的分享。)