以下著作来源于腾讯游戏学堂 ,作家陈宇青 余果
在本年的游戏斥地者大会(GDC 2025)上,腾讯游戏带来20场议题共享,围绕AI、渲染、跨端游戏斥地等游戏技艺应用及游戏研发教训与全球游戏斥地者探讨交流。本文为"法度化生成之路:重建秦朝古都"共享的图文版干货内容。
共享嘉宾:
陈宇青 腾讯游戏天好意思责任室T1技艺好意思术
余果 腾讯游戏效力产物部技艺好意思术
众人好,迎接来到咱们今天的共享会。我叫陈宇青,很痛快和我的共事余果一谈和众人交流咱们旧年作念的一个样式。这个样式是对于如何通过法度化设施构建一座城市。先约略先容一下我我方,我于2020年加入腾讯,最近5年一直注重斥地法度化内容生成(PCG)磋磨的器具集。在长远主题之前,我思先播放一段对于这个样式的视频。

咱们将主要盘问四个话题。开头是样式配景,咱们之前作念过什么,以及咱们为什么要构建这么一个演示样式。第二部分是咱们的器具集架构,咱们思要兑现的一些规划,以及咱们作念出的一些想象采取。第三部分是兑现细节,包括布局、建筑和兴味点区域。终末一部分是总结。
这是预报片的一个片断。我思展示一下咱们之前作念的一些当然环境方面的责任。如众人所见,曩昔几年咱们一直在构建一款洞开寰球类型的手机游戏。咱们的规划是领有64平方公里的可玩区域。其中64%的寰球将是当然环境。接近40%将是像小镇和大都市这么的以东谈主类作为为中心的环境。
左边的图片是咱们之前完成的一座中型城市。咱们给与的是东谈主工密集型责任历程完成的,包含约2万栋建筑。咱们花了21个东谈主月来构建它,每次迭代需要2个东谈主月。咱们思要构建一座像右边图片那样的大都市,其限制是现时城市的16倍。若是给与旧设施,预测需要336个东谈主月,基本上这是不可能完成的任务。那么咱们应该若何作念呢?
带着这些问题,咱们寻找了一些行业处罚决策来匡助咱们。育碧之前发布了一系列对于法度化生成的演讲,还有几款基于Houdini的处罚决策在当然环境方面额出门色。
迷水商城迷水商城咱们从中学到了许多,况且还是确立了一个构建当然环境的历程。正如您所看到的这些图片,它们是咱们正在构建的寰球的不同地方。但以东谈主类作为为中心的环境仍然是个问题。
咱们在寻找一些法度化城市处罚决策,咱们归来了蜘蛛侠系列和《黑客帝国醒悟》技艺演示。它们给了咱们许多启发。
但要津在于,咱们思要创建一座以中国古代为基础的城市,非常是秦朝(大致2600年前)。
这里有一些对于这座城市的参考,如您所见,它们的布局愈加不律例。由于当代城市频繁确立在大面积的平坦区域上,秦朝的城市频繁围绕山脉建造,况且在垂直方朝上有多个档次的结构。
是以咱们意志到咱们必须我方构建一个处罚决策。这即是咱们思要构建古代城市样式的原因。
当今让咱们归来一下在这个样式中咱们需要兑现的一些规划。
迷水商城第一个规划是构建一个以艺术家为导向的责任历程。咱们的艺术家将辞退四个不同质料阶段来制作高质料的场景,咱们需要在PCG责任历程中尊重这极少。况且咱们但愿咱们的艺术家在作假引擎内创建法度化内容,而无需翻开其他应用法度。
第二个规划是辞退中国古代城市的布局想象。咱们需要提供一些器具来匡助他们原型化城市的布局,就像左边图片展示的那样。同期,器具生成的内容也应该合乎这些条目。咱们对法度化元素的值和位置有一些限制。举例,咱们弗成有一个太窄的结净或建筑物和墙壁之间太小的缝隙。以合乎游戏玩法想象。
第三个规划是提高分娩效率。因为咱们有手动完成这项责任的惨痛阅历。
接下来谈谈咱们对此的回应。咱们构建了一个包含三个要领的器具集。
第一步是为手动扬弃想象的。咱们允许艺术家扬弃自界说的立方体和弧线,以代表主题区域寝兵路,从而快速原型化城市的关卡想象。
第二步基本上是一个交互式的PCG过程。咱们将在艺术家在第一步扬弃的区域内法度化地生成更多的子盒子,以代表建筑物和多个PCG规划。艺术家不错养息盒子的位置、大小。并将它们发送行止理,往来养息PCG扫尾。
第三步,在每个庭院内生成更高质料的资源和遮拦性内容,这部分的扫尾应合乎托福质料。
另外极少是,咱们通过两种自界说剪辑模式延长了作假引擎,即古代城市剪辑模式和兴味点(POI)剪辑模式,这将允许艺术家径直在作假引擎内创建与PCG磋磨的整个内容。
在作假引擎和后端Houdini之间通过PCG劳动进行数据传输。正如您所看到的,左边的图片是咱们在作假引擎中的一个城市关卡,右边的是在Houdini中的传输代理数据,咱们将把处理好的数据送回作假引擎以完成一个计较轮回。
迷水商城迷水商城为了兑现第二个规划,即尊重中国古代城市的布局条目。咱们归来了中国不同朝代的城市特征,咱们发现每个朝代都有其私有的作风,像秦朝的故土制和宋朝的街巷制。咱们还探望了不同区域的布局律例,像居住庭院、花坛、宫殿和传统寺庙,咱们将在器具斥地过程中尊重这种私有性。
对于咱们第三个规划,效率进步部分,咱们但愿咱们的关卡艺术家专注于POI区域,这些区域可能包含大宗的游戏玩法想象。
因为城市80%的部分将是PCG部分(图片中的蓝色区域),而另外20%是POI区域,咱们为这部分想象了特定的器具。
为了兑现第三个规划,即效率部分。咱们斥地了漫步式处理设施来加快咱们的布局程度。多个区域不错同期处理,艺术家不错以高频率赢得反馈。
对于一个单独的地块,咱们不错通过参数限制生成多种扫尾,让艺术家挑选其中更好的一个。
此外,咱们的PCG扫尾不错由艺术家手动修改,以决定该区域的最终外不雅。
迷水商城咱们通盘框架由两部分构成。图片左侧的作假引擎界面和右侧的PCG后端,PCG劳动将在它们之间进行数据传输。引擎界面旨在处理来自艺术家的数据输入,如画图区域和立方体,收受来自PCG后端的数据。后端自己注重法度化磋磨的计较。
引擎界面将允许艺术家画图区域寝兵路以原型化关卡想象。谈路若是与输入区域叠加,将把它们分红子区域。就像这张图片中的红色和黄色框,这些子区域将是后续处理的基础。
迷水商城PCG后端将从引擎收受区域数据,并字据咱们之前提到的律例,性药商城哪里有的照旧土制,递归且分层地运行计较。以匹配秦朝的作风。况且详备内容,如建筑物、里面谈路、NPC和遮拦性内容也将在该要领中生成。
迷水商城对于POI区域,艺术家不错使用咱们的POI器具集快速创建多种元素,如绳子、符号、杂物、城墙或城市外的稻田。
接下来由我共事余果来解释PCG后端部分。
开头,它欺诈USD进行圭臬化。这不仅允许与行业中的其他数字内容创作器具无缝集成,还赋予了咱们前所未有的抒发才气。
其次,它是一个基于Omniverse构建的云劳动。这使咱们好像更松驰地与团队成员配合,并在需要时延长计较资源。
第三,它给与Houdini进行布局算法。Houdini仍然是法度化内容生成最雄伟的器具,况且它与Flow在云霄配合得额外好。
终末,它欺诈漫步式并行计较,使咱们好像快速高效地生成大限制内容。
此外,它与UE5中的新PCG图集成了邃密的配合,这极少我差点忘了说起。但愿这能回应"为什么还要使用另一个PCG框架?"这个潜在问题。
另外,它还是被无数电影作品测试和施展。
USD,凭借其才气,已在业内平素给与。除了在业内的平素给与,咱们还额外心疼USD的高性能和高延长性。
迷水商城由于USD被想象为快速且高效,它不错松驰处理大限制内容。USD具有将修改后的内容保存在单独文献中的才气,这就像一个补丁,这种补丁般的作为进一步裁汰了通讯老本,并与Flow框架完好集合。
无人不晓,USD出身于皮克斯,为电影行业劳动,许多功能都是围绕他们的需求斥地的。另一方面,咱们是游戏斥地者,USD在某些方面尚未阴私,举例在作假引擎中,咱们有地形、植被、蓝图等。
交运的是,USD极其纯真。咱们不错传递轻易数目的属性,不错界说我方的语义,况且不错抒发金钱、组件、Actor过火属性间的复杂关连。这对于成立作假场景至关进犯。
凭借这些特质,咱们当今不错用USD默示一个完整的作假场景。通过这种状貌,通过USD,迷奸 三人组用的是什么药咱们不错在Houdini中实足限制作假场景。
在这个例子中,咱们在一个属性中放入了一大块文本数据,这么不错确保生成的作假Actor在作假中可再行剪辑,这个属性偶然可能高达数十MB。
这诚然不是USD蓝本的想象用法,但它不错毫无问题地处理这种用法。而且,用其他口头很难兑现这个功能。
让咱们来谈谈在云霄运行Houdini的克己。执行上,这是咱们构建Flow框架的率先动机。
终末,漫步式计较。这是咱们为古代城市样式构建的,况且极地面进步了性能。当今有了咱们现存的器具,这还是变得很容易了。
布局算法本色上是可并行化的,因为每个区域不错独处计较。这使它们成为漫步式计较的理思候选者。跟着Houdini实例还是在云霄运行,USD文献还是存储在云霄,这仅仅调换任务和蚁合合果的问题。
在这张图片中,一个用户提交了一个任务,许多责任进程同期处理它。但由于我在用户名上打了马赛克,可能看起来不太了了。
无论如何,凭借这个框架,大型城市不错在几分钟内生成,陈宇青稍后会列出具体数字,当今我合计是我把时刻交还给陈宇青的时候了,多谢。
好的,多谢我的共事,迎接回到我的频谈。这部分是对于咱们如何兑现不同区域的布局想象的。
咱们的城市布局不错分为两种类型,假寓点型建筑,如子民区和富东谈主区,还有像政府大楼和天子宫殿这么的大型建筑。
我思再详备解释一下咱们的布局律例故土制。
秦朝在其时是一个军事化的国度,是以政府用额外严格的法律来统率东谈主民,居住区的布局亦然这种统率的响应。是以有一句来自咱们古籍《周礼》的成语,它说五户为一比,五比为一闾,是以这个律例被称为故土制。
故土制的布局更像是一个棋盘,从这些图片中不错看出,尤其是右上角和左下角的图片,它就像一个网格空间。为了赢得更好的视觉成果,咱们在原始的故土制基础上添加了尺寸变化。以报复这种高度重复的韵律。
迷水商城以子民区为例,咱们的技艺好意思工在Houdini中斥地了算法,以递归的状貌分歧和生成布局。
妖精漫画咱们将有一个输入区域块,这是艺术家在作假引擎中创建的。这个块将被分歧为几个故土单元,一些里面谈路数据也会生成。每个故土单元将在第三步被再次分歧为几个小庭院,在第四步字据之前的扫尾生成建筑物和墙壁,第五步生成更多的遮拦性内容,如生物群落区域和NPC。
终末咱们将这些数据读回作假引擎。
第六步还有一个第三东谈主称视角检察。
富东谈主区的斥地辞退探讨的逻辑,但具有更多的空间和更整洁的布局。
你不错看到第五步的图片。
对于政府大楼,重心在于它将占据更大的空间,况且在建筑限制上具有更高的对比度。
它老是会有一个主庭院和一个大建筑在里面。
是以咱们的技艺好意思工将输入区域块分歧为至少一个带有勇士建筑的主庭院。
在咱们为这部分斥地的算法中,咱们老是通过动态谋划算法找到输入区域的最大内战斗矩形,无论艺术家输入的体式如何,器具将长期确保有宽裕区域来扬弃咱们的勇士建筑。其他子区域辞退之前的探讨逻辑。
你不错在第五步看到最终扫尾。
为了使政府区域的布局各种化,咱们斥地了一种称为共线剪辑模式的特定剪辑设施。
由于咱们的布局老是由Houdini生成,艺术家在处理之前无法看到扫尾。
这个功能将在Houdini的第一次处理时创建操作器。并允许艺术家字据视觉扫尾进行修改,而无需依赖Houdini。咱们的艺术家不错幸免输入参数并反复尝试。
从视频中不错看到,咱们通过拖动布局范畴松驰养息了一个政府区域的布局。
这种共线剪辑模式是一种基于几何算法的操作,灵感来源于室内想象理念。当艺术家拖动布局旯旮时,会触发拆分或吸附作为,以匡助艺术家再行界说现存布局。
咱们用这个功能来构建秦朝的皇宫。
第一步咱们剪辑一个由Houdini生成的现存布局,然后将扫尾发送到后续的第二步、第三步和第四步。第五步是最终扫尾。
若是你还牢记,咱们仍然需要在庭院内生成详备内容,主要有四个主要类别需要生成。建筑物、里面谈路、NPC和一些遮拦,如里面花坛。
庭院的建筑设施也不错有多种类型,如主建筑、副建筑、后院建筑和墙壁。它们各自有不同的条目,我将在后头建筑剪辑器部分详备教诲。
对于像里面花坛这么的遮拦性内容。咱们想象了一种特等的设施,集配合假PCG框架与Houdini计较。
举例,一个花坛将字据不同的区域进行变化,如富东谈主区或子民区,有些部分需要艺术家事先界说,比如这个区域不错使用什么样的树。但花坛的玄虚和生物群落位置不错就地变化。
是以咱们有一个称为土产货PCG的过程。艺术家不错在作假引擎华夏型化花坛预设的外不雅。就像左边视频闪现的那样。艺术家正在使用基于作假PCG框架的器具剪辑这个预设。
迷水商城咱们将这个预设过火称号、权重和一些进犯参数(如是否启用树木生成)一谈传递。让Houdini后端来决定漫步过程。
当咱们把数据读回作假时,有一个字据Houdini的输出实例化咱们预设的过程。正如图片所示,一个政府区域内的花坛被生成。
通过这种状貌,咱们的艺术家不错直不雅地原型化PCG元素,况且这部分的要津外不雅得到保证。同期,咱们幸免了大宗点云数据的输入和输出。
对于谈路和NPC,咱们也使用了这种设施。
为了更高效地组织模块并重复使用它们。咱们创建了两个新成见。
1. 建筑模块,它由一个单一模块金钱和一个单一语法律例构成。就像图片的中间列。这个建筑模块不错导入和导出以供重复使用。咱们不需要每次都重新创建律例
2. 建筑模板,它由几个有序的建筑模块构成,它不错附加到一个建筑块上,用于酿成更大的建筑。
咱们还斥地了一个称为布局会通的功能,它包含两个操作,同一和切割。
这将匡助艺术家处理相似布尔操作的任务。
迷水商城有些建筑可能需要部分养息大小。这里有一个锚点系统。
这是一个三维锚点系统。咱们用这些锚点来限制哪部分需要固定,哪部分不错养息大小。
迷水商城咱们还为艺术家提供了法度化生到手能。他们不错快速通过几次点击弹出不同的建筑。
在咱们的城市中,有许多具有私有特征的兴味点区域。它额外依赖艺术家的手动扬弃,也很耗时。约略说几句。
是以咱们想象了一套POI器具来增强场景的各种性并提高该区域的游戏玩法想象。
这张图片是咱们创建的一个POI区域。通过集合使用咱们的POI器具。
对于这些器具的框架想象,咱们想象了一个作假C++基类来封装基本器具作为,如起初化或退出过程,和一个托福类来处理鼠标交互逻辑,如点击和拖动。
线基类袭取自鼠标交互类,用于处理弧线体式的创建和剪辑。咱们有一系列器具袭取自该类,如旅途对王人漫步器具、河流生成器具或城墙生成器具。
每个器具将生成一个新类,称为生物群落代理,就像右边图片闪现的那样。这是咱们生成PCG内容的区域。
对于生物群落代理,咱们使用蓝图系统来延长它,并在幕后使用作假PCG系统。由于咱们的器具基于作假PCG框架,咱们的技艺好意思工不错松驰将其延长为不同的POI器具。让咱们快速看一下这些器具。
弧线散射器具咱们用这个器具在建筑前扬弃一些马车。这是最常用的器具之一。
符号器具。咱们通过识别建筑的结构框在建筑名义创建符号。
咱们用NPC器具创建行东谈主。
咱们用城墙器具创建城墙,并通过拖动墙段而不是样条点来养息它,这对艺术家来说额外浮浅。它不错妥当地形变化,并不错在城墙模块之间插入建筑。
咱们在城市外创建稻田。该器具撑合手不同的模式,如弧线体式和直线。还不错在稻田中生成农民和一些设施。
正如咱们之前提到的,用手工设施构建这么的城市需要336个东谈主月才气完成,每次迭代需要32个东谈主月。通过使用咱们的古代城市器具集,咱们将老本裁汰到9个东谈主月完成,0.5个东谈主月迭代。对于将来,咱们认为作假PCG框架不错在游戏斥地中饰演进犯脚色。
终末。我思感谢我的古代城市团队,曩昔一年咱们一直在力争责任,终于完成了这个样式。很痛快成为这个团队的一员。
游戏葡萄招聘内容剪辑,
迷水商城