AI 画 3D 模型,只能看不能改?arXiv 2608.26238 把"模型"变成"程序"

  • 关联论文:2608.26238(Procedura: Procedural Controlling for Agentic 3D Modeling)

你是不是也踩过这种坑 😐?

让 AI 帮你画一个 3D 模型——比如一把椅子、一个齿轮、一台机器人——AI 几秒钟甩出一个看起来还挺像样的 .glb / .obj 文件。你兴冲冲拖进 Blender 一看:怎么改都改不动。 想把椅子腿加长 2 厘米?不行。 想把齿轮换成金属材质?不行。 想让机械臂的关节动起来做仿真?更不行。 因为 AI 给你的不是"模型"——是一坨密密麻麻的网格,没有结构、没有参数、没有部件名字。 这就好比:你让厨师帮你做菜,他端上来一盘"已经打成糊的食材"——看着像菜,但你没法加调料、没法改火候、没法装盘。

这就是 2026 年 AI 生成 3D 资产的真实困境:能画,不能用。

arXiv 2608.26238(Procedura) 换了一种全新的思路:

它不直接画 3D,而是让 AI 把物体写成一段"程序"——程序里写清楚有哪些部件(椅子腿、椅背、扶手)、每个部件的尺寸参数、部件之间怎么配合(重合?平行?同心?)、关节怎么动——然后把这段程序编译成 3D 模型。 你得到的不只是一坨网格,而是一份带结构的、可编辑的、能跑的"装配蓝图"

为什么这件事重要? 因为——设计师、工程师、机器人开发者每天都在和 3D 资产打交道,能改、能拆、能仿真的 3D 资产才是真资产。Procedura 是这个方向上第一个同时做到"高质量 + 可编辑 + 部件结构化 + 物理可动"的系统——而且在两个基准上都跑赢了所有对手。


0 · TL;DR(30 秒版)

Procedura 把"3D 形即代码"范式推到工程化高度——让 Agent 把物体写成"过程化装配体"(parametric program + 具名部件 + 类型化可机器校验的配合关系),按 mated frame(配合框架)一件件求解 placement,并通过 compile / mate / connectivity 三重检查才入库,再由解耦的 vision critic 按"诊断修一次"方式精修。在 P3D-Bench 与自建 MechBench-36 上同时超越原生 3D 生成器与所有 3D-code agent。

一句话工程含义:别再用"AI 出图 → 手动改 mesh"的老路了——让 AI 出"程序化的 3D 蓝图",设计师能改、机器人能仿真。


1 · 痛点:AI 生成 3D 模型的"两条老路"都不够好

1.1 「原生 3D 生成器」路线:能看不能改

Tripo、Hunyuan3D、Trellis 这些工具输出 meshGaussian Splatting

听着美——但实战发现:

  • ✅ 几何质量高
  • ❌ 没有部件结构(整只椅子一整块)
  • ❌ 没有可编辑参数
  • ❌ 该硬的地方是软的(边缘、棱、角被 AI"圆角化")

一句话:看着能看,用着用着崩溃

1.2 「3D-code Agent」路线:能改但装错

另一条路是让大模型直接生成 Blender / OpenSCAD 代码——产物天生有结构、能编辑——但坑也深:

  • ✅ 可编辑、可看到部件
  • placement 经常猜错——部件浮空、重叠、比例失真
  • ❌ 程序不一定能跑

一句话:能改,但改完零件飞在天上

1.3 3D 资产的本质两难

  • 视觉质量 → 上原生 3D → 改不动
  • 可编辑 → 上 3D-code → 经常装错
  • 结构化 + 可仿真 → 没现成方案 → 只能硬写 CAD

有没有第三条路? Procedura 给出答案。


2 · Procedura 怎么把 3D 模型变成"可编辑的程序"

2.1 核心洞察:3D 物体本来就可以被"编程"

一个机械零件(齿轮、椅子、机械臂)本质上就是一个"装配体"——由若干具名部件组成,部件之间有明确的配合关系(coincident 重合、parallel 平行、concentric 同心)。

这在工业 CAD 里早是常识(SolidWorks、Onshape 都这么建模),但 Procedura 是第一个用 LLM Agent 把这个工业范式端到端跑通的工作。

类比:原生 3D 像油画(能看不能改)、纯 3D-code 像硬写代码(能改但装错)、Procedura 像CAD 工程师用程序建模(能改 + 装对 + 三重检查)。

2.2 表示:parametric program + typed mates

每个物体是一个 parametric program,三件套:

  • 具名部件seatbacklegarmrestbolt
  • 类型化配合关系(typed mates):coincident / parallel / concentric 等,机器可校验
  • simulator-validated articulation:关节/可动部件经仿真器验证"真的能动"

产物天然可编辑 + 可拆解 + 可仿真——mesh 表示三样都做不到。

2.3 生成流程:plan → write → solve → check → refine

[ Text Prompt:做一把椅子 ]
        ↓
[ 规划部件拓扑 ] → [ 逐部件写代码 ] → [ 从配合框架推导新部件位置 ]
        ↓
[ 三重检查:能编译?配合成立?连通正确? ]  ← 任一不过就拒收、重写
        ↓
[ 通过 → 入库 ] → [ 视觉模块"诊断修一次"精修 ]

三个关键机制

  • mated frame:新部件不是"放在世界坐标",而是"相对已放置的腿按同心 + 平行放顶部"——几何推导,不是 AI 瞎猜
  • 三重检查:过"能编译 / 配合成立 / 连通正确"三关,任一不过就拒收重写
  • 解耦 vision critic:先"诊断"再"修一次"——稳定又便宜

3 · Procedura vs 原生 3D vs 纯 3D-code:一张表看清差异

维度 原生 3D 生成 纯 3D-code Agent Procedura
几何视觉质量 ✅ 高 ⚠️ 中(常装错) ✅ 高
可编辑性 ❌ 网格无参数 ✅ 代码可改 ✅ 程序可改
部件结构 ❌ 整块网格 ⚠️ 看 LLM 表现 ✅ 强制结构
锐利边(机加工感) ⚠️ 易圆角化 ⚠️ 看代码质量 ✅ 程序控制
物理可动 / 关节仿真 ❌ 不支持 ⚠️ 需额外标注 ✅ articulation 仿真验证
工程可控性 ⚠️ ✅ 三重检查 + 解耦 critic
唯一做到 editable + part-structured

4 · 关键数据:跑得有多快

  • 双基准同时超 SOTA:P3D-Bench + 自建 MechBench-36(36 个机加工物体)
  • MechBench-36 Sharpness:Procedura 185.2 vs 第二名 60.4——3.1× 领先,最锐利的边
  • P3D-Bench assembly composite:Procedura 0.590(Top judge composite 0.828)
  • 唯一性唯一输出"editable + part-structured program"的方法
  • 作者团队8 人合作(Lin Youtian, Yang Yikang, Hu Zhanpeng, Zhou Mengqi, Zhang Feihu, Cao Xun, Liu Jiaheng, Yao Yao)
  • 项目主页:https://spatiaos.github.io/projects/procedura/

⚠️ abstract 没明确:P3D-Bench 评分细则、baseline 名单、LLM backbone。


5 · 工程落地:怎么用、坑在哪

⚠️ 第一原则:Procedura 定位是 hard-surface 专用(椅子、齿轮、机械臂)——超出范围(人脸、动物、角色)会得到灾难性结果。

5.1 装配体 DSL:最大工程难点

parametric program + typed mates 没有现成工业 DSL 可直接用。

实操路径

  1. JSON Schema 定义 mate 类型——不要让 LLM 直接生成 OpenSCAD(语法太松散)
  2. 写 validator 校验数学合法性
  3. 引入约束求解器(PyBullet / CoppeliaSim),不能只靠 LLM 猜

5.2 Vision Critic 独立化(生产部署关键)

1-fix-at-a-time 要求 critic 独立可重启——现成管线(ComfyUI / A1111)是端到端图结构,需重写 harness:

  • ComfyUI:critic 写成 Custom Node
  • DiffusersCriticPipeline wrapper,外层循环
  • 生产级:critic 独立部署、RPC,加 max_iterations=5 防死循环

:critic 用 vision LLM 判断"修好了"——可能不稳定,必须留人工抽检通道。


6 · 写在最后

🎯 团队负责人:2026 赛道已分——一边"原生 3D"走视觉质量,一边"程序化 3D(Procedura)"走工程可控。业务偏视觉展示 → 保留原生 3D;偏工程交互 → 立即立项研究 Procedura。

💡 设计师 / 工程师:未来一年你拿到的 3D 资产很可能不再是 .glb,而是 .py + .json——可编辑、可参数化、可仿真

🔧 机器人 / 仿真从业者:Procedura 几乎为机械臂量身定做——直接借鉴。


三个标题变体

  1. 痛点反差型:AI 画的 3D 模型只能看不能改?这篇论文把"模型"变成了"程序"
  2. 数据钩子型:3D 模型生成终于"听得懂人话"了:8 人团队让 AI 写出会跑的 3D 蓝图
  3. 行业判断型:2026 年,3D 资产生成正在分岔成两条路——你应该选哪条?

📱 小红书风格卡片文案

🪑 你有没有过这种崩溃时刻:让 AI 帮你画一把椅子,模型画得还挺像,但你想把椅子腿加长 2 厘米——它说"做不到"。因为 AI 给你的不是模型,是一坨没结构、没参数的网格。

🚧 这就是 2026 年 AI 生成 3D 的真实困境:能看不能用。设计师想改改不了,工程师想仿真仿不了。原生 3D 生成器(Tripo / Hunyuan3D / Trellis)网格漂亮但拆不开;3D-code Agent 能写代码但零件经常装错。

💡 arXiv 2608.26238(Procedura)找到了第三条路:让 AI 把物体写成"装配蓝图程序"——明确写清楚有哪些部件、每部件的尺寸、部件之间怎么配合(重合?平行?同心?),再用三重检查保证程序能跑,最后用视觉模块做 1 次精修。

📐 它和所有现有方案都不一样:是唯一一个同时做到"高质量 + 可编辑 + 部件结构化 + 物理可动"的方法。在 MechBench-36 的锐利边指标上,比第二名强 3.1 倍(185.2 vs 60.4)。

⚠️ 但注意:Procedura 是 hard-surface(硬表面 / 工程件)专用——椅子、齿轮、机械臂这种。人脸、动物、植物、角色?不行,别用

🌐 项目主页:https://spatiaos.github.io/projects/procedura/

AI生成3D #3D资产 #机械设计 #工业CAD #Procedura #硬表面建模 #Agent设计 #机器人仿真 #设计师工具 #arXiv论文