CubePart:一款支持开放词汇表且可控部件的3D生成器
构建功能完备的游戏就绪资源

现代3D生成模型能够根据文本提示生成精美复杂的3D物体,但对于游戏开发者而言,一个整体的3D模型并无实际用处。以汽车为例,它必须具备可驾驶性:车轮需要独立旋转,车门需要能够开启,前大灯需要能够点亮。
目前,3D 艺术家必须手动将生成的模型拆解并为各部件命名——这一过程难以扩展。我们的突破性成果是 CubePart:首个支持开放词汇表、可控部件的 3D 网格生成生成式 AI 框架。CubePart 生成的是一组预先组装好的、独立的、功能完备且标签准确的网格,开箱即用即可满足开发者的编程需求。
CubePart 扩展了我们在 4D Generation 中提出的固定模式概念,使创作者能够定义对象应被分解成的部件列表。 CubePart生成的网格集合可直接导入游戏引擎,无需手动清理即可通过动画、物理模拟和游戏脚本进行控制。我们已在arXiv上发布了关于CubePart的研究论文,并更新了开源的Cube代码库以支持部件可控生成。今年晚些时候,我们将向SIGGRAPH大会展示我们的研究成果。
Schema:交互式 3D 资产的 API 契约
在 Roblox 平台上,交互行为通过作用于“部件”(即资产的特定命名子节点)的脚本实现。即使是相似的资产,根据游戏或场景的不同,也可能需要完全不同的部件。固定的分类体系会限制创造力和功能性,因此 CubePart 提供了两个输入:
- 描述对象外观的全局文本提示:例如,“一只水母主题的赛车”。
- 一份名为“模式”的、具体且开放式的必需部件清单:例如,“左前轮”、“右前轮”、“左后轮”、“右后轮”、“枪”、“前大灯”、“排气管”、“车身”。
该架构是资产与游戏代码之间的 API 契约,CubePart 允许创作者生成符合该契约的资产。这种开放词汇表的控制机制使 CubePart 能够涵盖 Roblox 资产与体验的多样性。
两阶段生成
CubePart 是一种基于 VecSet 潜在形状表示的两阶段扩散架构。
在下图中,用户输入了两个提示词。
- 全局文本提示词:“一辆具有卡通特征的拖车。”
- 模式: “驾驶室”、“底盘”、“车轮”、“车顶警示灯”、“拖车装置”。
第一阶段负责定义对象的基础形状(一辆具有卡通特征的拖车)。 该阶段使用基于 Qwen-VL 文本编码器的 MMDiT 架构,通过约 470 万个网格-文本对进行训练,为整个物体生成单一潜在向量。这是数据密集型阶段:将开放词汇表语言映射到 3D 几何体是生成式 3D 的难点,需要庞大且多样化的语料库才能表现出色。此外,我们还对第一阶段进行了微调,使其具备模式感知能力。



我们的数据集与VLM管道
为了训练 CubePart,我们创建了一个包含超过 46 万个资产(规模是此前公开数据集的 11 倍以上¹)和 202 万个部件的数据集。我们没有采用人工标注,而是利用视觉语言模型(VLM)构建了一条自动化管道。
该管道采用配对方法,从多个角度渲染数千个3D模型:一张带纹理的图像(用于语义上下文)和一张部件着色图像(用于精确边界追踪)。两者均标有编号相同的标记点,这为VLM提供了基于文本的定位依据,使其能够在3D空间中进行推理,并对每个部件进行聚类和命名。
与此前发布的数据集不同——那些数据集中车辆上的每个轮子都简单地标注为“轮子”——我们的数据集教会了AI进行空间区分(例如,区分“左前轮”和“右后轮”)。这种匹配精度正是游戏引擎所需要的。
CubePart 带来的突破与未来展望
CubePart 使创作者能够生成与游戏逻辑代码相匹配的资源,并能直接兼容现有的动画、物理和脚本工作流。CubePart 还能将现有美术建模分解为新架构,这不仅适用于生成新资源,对于升级旧有资源同样大有裨益。
仍有大量工作待完成。CubePart 目前处理刚体分解,但我们也在研究用于有机角色变形的蒙皮顶点权重。跨部件注意力机制虽能大幅减少重叠,但无法完全消除。空间推理——“前左”与“后右”的区分——仍有显著的改进空间。
我们认为,在所有资产都参与模拟的平台上,基于架构的生成技术是让生成式 3D 真正发挥作用的关键一步。不久之后,Roblox 创作者将能够直接在 Roblox Studio 中使用这项技术。



