基于自回归 Transformer 的模块化 3D 资产生成 AssetFormer: Modular 3D Assets Generation with Autoregressive Transformer
用自回归 Transformer 从文本生成模块化 3D 建筑资产
前置知识
自回归模型
自回归模型是按顺序生成数据的概率模型,每个输出都依赖于之前生成的所有输出。在语言建模中,给定文本序列 x = (x_1, x_2, ..., x_n),自回归模型通过分解联合概率 P(x) = prod_{i=1}^n P(x_i | x_{<i}) 来生成。Transformer 作为自回归模型的核心架构,通过自注意力机制捕获长距离依赖关系,能够处理数千个 token 的长序列。AssetFormer 将 3D 资产建模为模块序列,每个模块包含类别、旋转和位置五个属性,对应五个 token,因此一个包含 1000 个模块的资产需要生成约 5000 个 token 的长序列。
本文的核心创新就是将自回归建模从文本和图像扩展到模块化 3D 资产,需要理解 token 序列化、注意力机制、采样策略等概念才能把握方法的设计思路。
模块化表示
模块化表示将复杂 3D 对象分解为一组基本形状(称为 primitives)的组合,每个 primitive 具有离散的属性如类别 c、旋转 r 和位置 x。与三角形网格不同,模块化表示保持了设计的结构化信息,每个 primitive 是独立但连接的组件。本文使用了 25 种基本模块,分为屋顶、墙体和组件三大类。每个 primitive P_j = (c_j, r_j, x_j),其中 c_j 属于 C(25 种类别),r_j 属于 R(4 种旋转),x_j 属于 X^3(3D 坐标,分别为 59、44、81 个离散值)。这种表示源自计算机辅助设计中的实体几何构造思想,广泛应用于游戏资产制作。
模块化表示是本文区别于其他 3D 生成方法的关键,理解它的特性(无损、可直接集成游戏引擎、用户友好)有助于理解本文的应用价值和技术挑战。
图遍历(DFS/BFS)
深度优先搜索(DFS)和广度优先搜索(BFS)是图遍历的两种基本算法。DFS 从起始节点出发,尽可能深地探索每个分支,使用栈结构实现;BFS 则按层级顺序访问所有节点,使用队列实现。在 AssetFormer 中,3D 资产被建模为一个图,节点是模块,边表示空间邻接关系。DFS 从资产底部角落开始遍历,产生的序列具有局部连接性强的特点,即相邻 token 在序列中通常是空间上相邻的模块;BFS 则先处理所有相同深度的模块。实验表明 DFS 在 token 重新排序方面表现更好,FID 从 65.215(原始顺序)降至 55.186(DFS)。
token 顺序是自回归建模的关键,错误的顺序会导致模型难以学习模块间的空间关系,产生孤立断开的结构。理解图遍历有助于理解如何将 3D 空间结构转化为可学习的序列。
研究动机
现有 3D 生成方法在游戏产业和用户生成内容场景中面临严峻挑战。传统表示如体素、点云、神经场和三角形网格在专业游戏开发中难以达到现代游戏的高质量标准,导致艺术家可能需要花费数百小时精心设计和完善每个资产。在 UGC 场景和在线游戏中,这些表示通常产生巨大的文件体积,例如一个复杂建筑的三角形网格可能包含超过 30,000 个面,给存储和传输带来实质性困难。这些问题会加剧服务器基础设施负担,阻碍无缝共享和实时交互——这对于 UGC 平台和多人在线游戏至关重要。此外,这些表示的固有复杂性往往限制非专业用户轻松创建、修改和分享内容,从而限制了多样化、引人入胜的用户生成游戏资产的潜力。
本文的目标是本文的目标是开发一个能够根据文本描述生成多样化模块化 3D 资产的模型,满足专业游戏开发和 UGC 场景的双重需求。具体而言,给定文本提示 t,模型需要生成一组建筑原语,其中每个原语 P_j = (c_j, r_j, x_j) 包含类别、旋转和位置属性。生成结果应当具有高质量(视觉逼真、结构合理)、高多样性(相同提示产生不同变体)、高效率(文件紧凑、易于传输)和易用性(非专业用户也能操作)等特点。
与已有工作不同的是,本文的独特切入角度是将自回归 Transformer 建模应用于模块化 3D 资产生成,这是首个利用真实世界模块化资产数据集进行大规模自回归 3D 生成的工作。与现有方法不同,本文不追求通用的密集网格或隐式表示,而是专注于模块化资产这一特定领域,利用其先天的离散性和结构化特性。关键创新在于处理 3D 模块的序列化问题——不同于文本(左到右)或图像(像素顺序),3D 资产的模块顺序没有自然定义。本文通过设计基于图遍历的 token 重新排序算法,将 3D 空间结构转化为可学习的序列,同时保留局部连接信息。
核心方法
AssetFormer 的整体思路是将模块化 3D 资产生成问题转化为序列预测问题,通过自回归 Transformer 逐个生成代表 3D 模块的 token。框架分为三个阶段:数据准备、自回归建模和后处理部署。数据准备阶段,从在线游戏 UGC 平台收集了 16,000 个用户创建的真实建筑资产,并通过程序化内容生成补充了 4,000 个合成样本,总计 20,000 个高质量训练样本。每个资产被渲染成图像,由 GPT-4o 生成文本描述。然后对资产中的模块进行离散 token 化,每个模块的五个属性(类别、旋转、x/y/z 坐标)映射到独立的词汇表,通过 DFS 重新排序后形成 token 序列。自回归建模阶段,使用基于 Llama 架构的 Decoder-only Transformer(24 层,312M 参数)训练 next-token prediction 任务,采用标准交叉熵损失。推理时,模型从预填充的文本 token 开始,逐个生成代表模块的 token,直到出现 EOS 为止。后处理阶段,生成的模块化资产可以直接集成到游戏引擎中,进行纹理映射、几何映射和光照控制。
核心创新点是针对模块化 3D 资产设计的 token 序列化和解码策略。与传统 3D 生成方法(如 MeshGPT)直接处理三角形网格的顶点和面不同,AssetFormer 保留了模块的结构化表示,将每个模块视为一个语义单元。这种表示具有三个关键优势:首先,token 化是无损的,每个模块的属性直接映射到离散词汇表;其次,生成的资产可以直接集成到游戏引擎,无需后处理;第三,对用户友好。在序列化方面,本文提出了基于图遍历的 token 重新排序方法,通过 DFS 从资产底部开始遍历所有模块,确保空间相邻的模块在 token 序列中也是相邻的。实验证明,DFS 重新排序将 FID 从 65.215 降低到 55.186。在解码方面,本文创新性地将投机解码扩展到 3D 资产生成,提出 SlowFast 解码,利用小模型预测简单 token、大模型处理复杂 token,在不牺牲质量的情况下将解码速度提升 47.6%。
方法步骤详情
AssetFormer 的完整方法步骤包括:步骤一:数据收集与清洗。从在线游戏 UGC 平台收集用户创建的建筑资产,过滤掉过于简单和重复的样本,将资产映射到 25 种基本模块。通过 GPT-4o 基于渲染图像生成文本描述。步骤二:离散 token 化。定义联合词汇表,其中 |C|=25(模块类别),|R|=4(旋转),3D 位置坐标总词汇量为 214。每个资产表示为原始 token 序列,其中 n 是模块数量(最多可达 1000 个,对应约 5000 个 token)。步骤三:token 重新排序。从资产底部角落开始,使用 DFS 遍历所有模块,得到排列顺序,确保空间相邻的模块在 token 序列中也是相邻的。步骤四:模型训练。使用 FLAN-T5 XL 作为文本编码器,将文本特征投影为 token 并预填充到序列中。采用 Llama 架构的 Transformer 主干(24 层,312M 参数,1D rotary 位置嵌入),训练时使用 10% 的条件丢弃率支持 Classifier-Free Guidance。步骤五:推理与解码。推理时采用 CFG scale=2.0、temperature=0.7、top-k 采样(k=10)。使用 SlowFast 解码加速推理。步骤六:后处理与部署。生成的模块化资产可直接集成到游戏引擎,进行纹理映射、几何映射和光照控制。
技术新颖性
本文的技术新颖性体现在三个方面:首先是首次将自回归 Transformer 成功应用于真实世界模块化 3D 资产的大规模生成。与 MeshGPT 等网格生成方法不同,AssetFormer 学习的是模块的组合规则,这使得生成的资产保留了结构化信息,可以直接用于游戏引擎。其次是专门为模块化资产设计的 token 序列化方法。与图像生成中使用的 RAR 不同,本文发现 3D 模块化数据不适合 token 随机化,RAR 方法的 FID 高达 83.561,远低于 DFS 的 55.186。第三是 SlowFast 解码在 3D 资产生成中的成功应用。本文证明,模块化 3D 资产的预测难度差异显著,简单模块可以由小模型准确预测,而复杂模块需要大模型的深度理解。SlowFast 解码在保持生成质量的同时将解码速度提升 47.6%。
实验结果
核心发现包括五个方面:第一,AssetFormer 在模块化 3D 资产生成任务上显著优于传统 PCG 方法和通用 3D 生成方法。定量评估显示,AssetFormer(top-k 采样)的 FID 为 55.186,而 PCG 方法的 FID 为 108.476。FID 的降低表明 AssetFormer 生成的资产在视觉质量上更接近真实数据分布。第二,token 重新排序对生成质量至关重要。消融实验表明,DFS 重新排序将 FID 从 65.215(原始顺序)降低到 55.186。这证实了图遍历方法能够有效捕获 3D 资产的层次和空间关系。第三,合成数据和真实数据的结合显著提升模型性能。仅在合成数据上训练的模型 FID 为 113.560,仅在真实数据上训练的模型 FID 为 63.381,而混合数据训练的模型 FID 为 55.186。这表明合成数据和真实数据具有互补性。第四,SlowFast 解码在不牺牲质量的情况下显著加速推理。AssetFormer-B(312M 参数)的速度为 80.62 token/s,FID 为 55.186;SlowFast 解码的速度为 119.02 token/s,FID 为 55.831。这意味着 SlowFast 解码相比大模型加速 47.6%,同时仅损失 1.2% 的生成质量。第五,模块化表示相比原生 3D 表示在特定场景下具有优势。实验表明,将模块化数据转换为三角形网格后进行 watertight 预处理会导致模块信息丢失和几何细节改变。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 3D 资产生成质量 | FID(越低越好) | 55.186 | 108.476 (PCG) | 49.1% |
| 文本-3D 对齐 | CLIP 分数(越高越好) | 0.320 | 0.319 (PCG) | 0.3% |
| Token 重新排序效果 | FID(越低越好) | 55.186 (DFS) | 65.215 (原始顺序) | 15.4% |
| 混合数据训练效果 | FID(越低越好) | 55.186 (混合数据) | 113.560 (仅合成数据) | 51.4% |
| 推理速度 | Token/秒(越高越好) | 119.02 (SlowFast) | 80.62 (AssetFormer-B) | 47.6% |
局限与改进
作者承认的局限性包括:首先,AssetFormer 目前仅支持文本输入进行资产生成,无法基于图像条件进行生成。其次,模型依赖于固定的离散词汇表(25 种模块类别、4 种旋转),这限制了设计的灵活性。第三,虽然用户研究显示 AssetFormer 在多样性和复杂度方面表现良好,但紧凑性评分低于 PCG 方法。第四,文本条件的质量受限于渲染图像与自然图像之间的领域差距。观察到的额外局限:模型可能无法处理超出训练数据分布的极端建筑类型。由于资产的平均 token 长度超过 4000,生成复杂资产需要较长的推理时间。
独立分析的弱点
独立分析的第一个弱点是固定词汇表的局限性。当前模型使用固定的 25 种模块类型,限制了设计的灵活性。改进方向是采用可扩展的词汇表设计,例如学习连续的模块嵌入空间,或者使用向量量化将模块属性映射到动态代码本。第二个弱点是文本条件的弱表达能力。当前文本描述仅包含建筑类型、高度和少数全局特征,无法精确控制具体的模块布局。改进方向是增强文本编码器的表达能力,或者引入多轮交互机制。第三个弱点是推理时间与资产复杂度的线性关系。改进方向包括:并行生成独立的模块子结构、采用分层生成策略、或者将部分生成任务委托给传统 PCG 方法。第四个弱点是缺乏对内部功能和语义的理解。改进方向是引入功能约束,例如在训练数据中标注功能区域。第五个弱点是对文本提示的多样性有限。改进方向是设计更丰富的提示模板,或者支持多模态输入。
未来方向
作者提出的未来方向包括:扩展到更多类型的模块化 3D 资产,如家具、车辆、角色等。支持基于图像的条件生成。基于本文的成果可延伸的方向包括:开发交互式资产编辑工具,利用 AssetFormer 的零样本编辑能力。探索模块化 3D 资产的预训练-微调范式。结合物理模拟和功能约束,生成不仅视觉合理而且功能可用的资产。研究模块化 3D 资产的压缩和传输优化。探索与游戏引擎的深度集成。研究模块化 3D 资产的语义理解。
复现评估
复现评估:论文明确表示代码已开源,GitHub 链接为 https://github.com/Advocate99/AssetFormer。数据集方面,真实数据来自在线游戏 UGC 平台,可能涉及版权问题,公开的可能性较低。论文提供了 PCG 合成算法和 GPT-4o 提示模板,研究人员可以复现合成数据部分。算力需求方面,AssetFormer-B 有 312M 参数,AssetFormer-S 有 87M 参数,属于中等规模,单个高端 GPU 应该足以训练和推理。论文提供了详细的实现细节,包括词汇表大小、Transformer 配置、训练参数等。评估方面,论文使用了 FID 和 CLIP 分数,并提供了清晰的评估流程。总体而言,论文的复现难度为中等。
论文图表
Figure 1 展示了模块化 3D 资产的概念图,左侧显示了一组建筑原语,每个原语都有自己的属性,如方向 r 和位置 x。中间部分通过 Compose 操作将这些原语组合成模块化资产,右侧展示了渲染后的 3D 建筑。图中明确标注了从原语到模块化资产再到 3D 部署的完整流程,直观地展示了模块化表示的核心思想。
这张图对理解论文至关重要,因为它清晰地定义了模块化 3D 资产的基本概念和本文的研究对象。它帮助读者理解什么是模块化表示、原语有哪些属性、以及模块化资产如何生成和部署。