Skip to content

3D资产生成

3D 资产生成(3D Generation)让 AI 从文本或几张图直接产出三维模型——可旋转、可打光、可放进游戏引擎。它是生成式 AI 在 2023 年后最重要的扩张方向之一,到 2025 年已进入”秒级出高质量可编辑资产”的实用阶段:微软的 TRELLIS(CVPR 2025 Spotlight)和腾讯的 Hunyuan3D 2.x 系列都能在消费级 GPU 上、十几秒内从单张图生成带纹理的高质量 3D 网格,且完全开源。本页梳理从 NeRF 到 3D Gaussian Splatting、再到大规模可微渲染、原生 3D 扩散与 Flow Matching 的完整技术谱系。前置阅读:扩散模型、多模态与视觉语言模型。

想象你想”捏”出一个 3D 茶壶。传统建模要用 Blender 一点一点拉顶点,而 3D 生成有几条完全不同的路子:

  • NeRF = 在三维空间里学一个”密度场”:把场景看作一团 3D 云,每个点有一个颜色和一个密度。从任意角度看过去,沿着视线”穿”过去累加,就能渲染出照片级画面——但它是隐式的(不直接给出网格或点云),不能直接导出给游戏引擎用。
  • 3D Gaussian Splatting = 在空间里撒一堆彩色水母:用上百万个带颜色、透明度、大小的椭球(高斯点),从相机看过去把它们”摊平”到屏幕上。比 NeRF 快得多,还容易编辑——每个高斯点可以独立移动、删除或改色。
  • 可微渲染 + 优化 = 让 2D 评分倒推 3D 形状:固定一个 2D 评分模型(比如图像分类器或扩散模型的似然),让它对”从各个角度渲染出来的图”打分,分数反过来调整 3D 表示,直到每个角度都”看起来像”提示词描述的物体。这里的”可微”指的是整个渲染管线(从 3D 表示到 2D 像素)都能求导,这样 2D 损失的梯度才能一路回传到 3D 参数。
  • 原生 3D 扩散 / Flow Matching = 直接在 3D 数据上训生成模型:像图像扩散那样,但生成对象是点云、体素、三平面(triplane,三个正交平面的特征图叠成 3D 特征)或向量集(VecSet,一组 latent 向量表示形状)——一次前向就出 3D,不用逐场景优化。2024-2025 年的主流方法已从传统 DDPM 去噪扩散转向 Rectified Flow(整流流)/ Flow Matching:不模拟”逐步加噪→逐步去噪”的弯路,而是直接学一条从噪声到数据的直线路径,训练更稳定、推理更快。

一句话:NeRF/3DGS 解决”怎么表示和渲染 3D”,可微渲染解决”怎么用 2D 监督优化 3D”,原生 3D 扩散/Flow Matching 解决”怎么一次性生成 3D”。 这三条路线在 2025 年已经深度融合——比如 TRELLIS 先用 Flow Matching 生成统一的 SLAT 表示(一种稀疏 3D 格点 + 多视角特征的混合表示),再按需解码成 NeRF、3DGS 或网格;Hunyuan3D 2.x 则采用”形状 DiT + 纹理 Paint”两阶段流水线,先出裸模再上色,兼顾速度和质量。

术语速查:

  • 扩散过程(Diffusion Process):给数据逐步加高斯噪声直到变成纯噪声,然后训练模型学会”去噪”——反向走回去就能从噪声生成数据。
  • 潜空间(Latent Space):用一个 encoder 把高维数据(如 3D 形状)压缩到低维向量空间,在这个紧凑空间里做生成,再由 decoder 还原。类比:ZIP 压缩后再传输,比传原始文件快得多。
  • Flow Matching / Rectified Flow(整流流):DDPM 式扩散走的是”逐步加噪→逐步去噪”的弯路;Flow Matching 直接学一条从噪声分布到数据分布的直线传输路径(即”整流”),训练更稳定、采样步数更少,2024-2025 年已成为 3D 生成的主流生成范式。

NeRF(Mildenhall et al., 2020)用一个 MLP 拟合一个连续函数 F(x, y, z, 视角方向) = (RGB 颜色, 密度 sigma)。给定一堆带位姿的照片,训练这个 MLP,使从每个位姿”渲染”出来的图和真实照片一致。

渲染采用体渲染公式:对每条光线,从近到远采样 N 个点,颜色按密度加权累加:

C(r) = 对 t 求和 T(t) * (1 - exp(-sigma(t)*dt)) * c(t)

其中 T(t) = exp( 负的从近端到 t 的累积密度 ),表示”光线还没被挡住的比例”。这保证遮挡关系正确——前面的物体盖住后面的。

NeRF 的痛点:训练慢(单个场景几小时)、存储大、不能编辑、不能跨场景泛化。

3DGS(Kerbl et al., 2023)把场景表示为一组3D 高斯点,每个点有:中心位置(3 维)、协方差(控制椭球形状,3 维缩放 + 4 维四元数)、不透明度 alpha(1 维)、球谐系数(控制视角相关颜色)。

渲染用”泼溅(splatting)“:把每个 3D 高斯投影到屏幕变成 2D 高斯,按深度排序,alpha 混合。因为有解析投影公式,渲染速度比 NeRF 快 10 到 100 倍,且每个高斯可独立编辑/删除。

3. 用 2D 先验优化 3D:DreamFusion 与 Score Distillation

Section titled “3. 用 2D 先验优化 3D:DreamFusion 与 Score Distillation”

关键问题:3D 监督数据稀缺,但 2D 图像模型(Stable Diffusion 等)已经很强。DreamFusion(Poole et al., 2022)提出 Score Distillation Sampling(SDS):

  • 初始化一个 3D 表示(NeRF 或 3DGS)。
  • 随机选一个相机角度,把 3D 渲染成 2D 图。
  • 加噪后喂给 2D 扩散模型,得到噪声预测。
  • 用扩散模型的分数(梯度方向)通过可微渲染回传,更新 3D 表示。

这样不需要任何 3D 标注,只用 2D 扩散模型当”老师”,就能从文本生成 3D。缺点是纹理常有”多面 Janus”问题(每个角度都生成一个正面)。

4. 原生 3D 扩散与 Flow Matching:一次前向出模型

Section titled “4. 原生 3D 扩散与 Flow Matching:一次前向出模型”

另一种思路是在 3D 数据集(如 Objaverse,一个包含 80 万+ 3D 模型的大规模开源数据集)上直接训生成模型,不走逐场景优化的老路。

表示方式的演进是理解这条路线的关键:

  • 体素(Voxel):3D 像素网格,最直观但内存爆炸(256³ 就要几千万个格子)。
  • 点云(Point Cloud):一组 (x, y, z) 坐标点,轻量但缺少拓扑连接关系。
  • 三平面(Triplane):三个正交平面(XY、YZ、ZX)各存一张特征图,叠起来就能表示任意 3D 位置的特征。比体素紧凑几个数量级,是 2023-2024 年的主流隐空间。这里的”隐空间”指:先把 3D 形状编码成三平面特征图(encoder 负责),生成模型在这个低维空间里操作,最后 decoder 再把三平面变回 3D。
  • SLAT(Structured LATent,结构化隐变量):微软 TRELLIS(2024)提出的统一表示。核心思想:不把 3D 压成一个均匀的体素网格,而是只保留物体实际占用的稀疏格点(sparse 3D grid),每个格点上挂载从 DINOv2 等视觉基础模型提取的多视角特征。这样既紧凑又信息丰富,更关键的是——同一个 SLAT 可以用不同 decoder 解码成 NeRF、3D Gaussian Splatting 或网格,用户按需选择输出格式。
  • 向量集(VecSet):把 3D 形状编码为一组 latent 向量(如 2048 个 1024 维向量),Hunyuan3D 等采用。比三平面更紧凑,适合 Transformer 处理。

生成模型的演进同样重要:

  • 早期 DDPM 去噪扩散(Shap-E、Point-E 等 2023 年工作):用经典的逐步去噪范式,需要几十到上百步采样,速度慢且细节有限。
  • Rectified Flow / Flow Matching(2024-2025 主流):TRELLIS 和 Hunyuan3D 2.x 都采用这一范式。直觉理解:DDPM 像醉汉走路——从噪声到数据的路径弯弯曲曲、步数多;Rectified Flow 把这条路”拉直”,学一个从噪声到数据的线性速度场,几步就能走完。数学上,Flow Matching 学的是向量场 v(x, t),使得从 t=0 的噪声分布沿 v 积分到 t=1 时刚好落在数据流形上。相比 SDS 方法,原生 3D Flow Matching 的”多面 Janus”问题也大幅缓解,因为模型直接在 3D 数据上学习全局结构一致性。

两阶段流水线(2025 年工业标配):TRELLIS 和 Hunyuan3D 2.x 都发现,把形状和纹理解耦生成效果更好:

  1. 形状阶段:输入条件图(或文本),Flow Matching 在 3D 隐空间去噪,输出裸几何体(mesh 或 SLAT)。
  2. 纹理阶段:给定裸几何体 + 条件图,扩散模型在 UV 空间或多视角投影上生成纹理贴图(texture map)。

这种解耦的好处是:形状模型可以专注于几何精度,纹理模型可以专注于材质质感(包括 PBR 材质——基于物理的渲染材质,包含粗糙度、金属度、法线等通道),两者各司其职。Hunyuan3D 2.1(2025 年 6 月)进一步加入了完整的 PBR 生成模型和 VAE encoder,实现端到端可训练。

劣势是:相比 SDS 逐场景优化,原生 3D 生成的极端细节(如布料褶皱、毛发)仍逊一筹,但对于绝大多数游戏、电商、设计场景已经够用。

给定一张或多张物体照片,重建 3D 是 3D 生成最实用的入口。技术路线经历了从”基于图像的渲染”到”前馈式神经网络重建”的范式转变:

  • 早期 IBR(Image-Based Rendering):用多张照片做立体匹配和视差合成,效果受限、无法补全背面。
  • LRM 范式(Large Reconstruction Model, 2023):关键突破。把单图重建当作一个 sequence-to-sequence 问题——用 ViT(Vision Transformer)编码图像为 token 序列,用一个大型 Transformer decoder 直接回归出三平面表示(triplane),再通过可微渲染解码成 3D。整个管线是前馈式(feedforward)的,一次前向就出模型,不需要测试时优化。LRM 在 50 万个 3D 模型上训练,几秒内就能从单图重建出可用的 3D。
  • TripoSR(2024):Tripo AI 与 Stability AI 联合出品,基于 LRM 原理但做了大量工程优化(改进的 camera conditioning、通道数扩展、更高效的 marching cubes),在 A100 上 0.5 秒内完成单图到 3D,质量超过同期所有开源方案。MIT 许可证开源。
  • 多视角重建:给定 2-6 张不同角度的照片(或先用多视角扩散模型生成),重建质量大幅提升。Hunyuan3D-2mv(2025 年 3 月)就是专门的多视角版本,TRELLIS 也支持免训练的多图条件。
  • 粗模 + 精修管线:2025 年的主流做法是先用前馈模型(TripoSR / TRELLIS / Hunyuan3D-DiT)秒出粗模,再用 SDS 或多视角扩散模型精修纹理和几何。这就是商用平台(Tripo、Meshy、Rodin)的典型管线。

两阶段流水线(TRELLIS / Hunyuan3D 范式)

Section titled “两阶段流水线(TRELLIS / Hunyuan3D 范式)”

上图展示了 2025 年主流的”形状 + 纹理”两阶段流水线。其中 DiT(Diffusion Transformer)指用 Transformer 架构做扩散/Flow Matching 的去噪器,每个 token 对应 3D 隐空间中的一个位置;cross-attention 机制让条件图像的特征注入到生成过程中,控制输出形状与输入图对齐。

import torch
from pytorch3d.renderer import (
PerspectiveCameras, RasterizationSettings, MeshRenderer,
MeshRasterizer, TexturesVertex, PointLights, PhongPhongShader
)
from pytorch3d.structures import Meshes
from pytorch3d.io import load_obj
# 加载一个网格,顶点设为可优化(这是"用 2D 损失倒推 3D"的基础)
verts, faces, _ = load_obj("teapot.obj")
verts_rgb = torch.ones_like(verts)[None] # 白色材质
textures = TexturesVertex(verts_features=verts_rgb)
mesh = Meshes(verts=[verts], faces=[faces.verts_idx], textures=textures)
mesh.offset_verts_(torch.zeros_like(verts).requires_grad_(True)) # 顶点可微
# 一个相机 + Phong 着色渲染器(整个过程可求导)
cameras = PerspectiveCameras(focal_length=500, device=verts.device)
raster = MeshRasterizer(cameras=cameras, raster_settings=RasterizationSettings(image_size=256))
renderer = MeshRenderer(rasterizer=raster, shader=PhongPhongShader(
cameras=cameras, lights=PointLights(device=verts.device, location=[[0, 0, -3]])))
image = renderer(mesh) # 渲染出图,梯度可回传到 verts
loss = ((image[..., :3] - target_image) ** 2).mean()
loss.backward() # 梯度直接流到 3D 顶点
print("可微渲染损失:", loss.item())
  • 选对表示:要照片级真实感且场景固定,选 NeRF;要快速渲染和可编辑,选 3D Gaussian Splatting;要文本直出可批量,选原生 3D 扩散。
  • SDS 的”多面 Janus”问题:2D 模型偏爱正面视角,导致生成的 3D 每个角度都像个正面。缓解办法:加视角文本提示(“side view”、“back view”)、用多视角一致的扩散模型。
  • 粗模 + 精修是工业标配:先用原生 3D 扩散秒出粗模,再用 SDS 或多视角图精修纹理,兼顾速度和质量。
  • 数据是瓶颈:高质量 3D 资产数据远少于 2D 图像,Objaverse、GObjaverse 是当前主要开源来源。合成数据(用 Blender 渲染)是重要补充。
  • 拓扑和 UV 是导出难题:扩散出的隐式表示(点云、体素、SDF)要转成游戏引擎能用的干净网格 + UV 贴图,常用 marching cubes + 网格重拓扑工具。
  • 游戏与影视美术:用文本或概念图快速生成道具、建筑、角色的粗模,美术再精修,大幅缩短资产生产周期。Epic、腾讯等已在内部工具链集成。
  • 电商 3D 展示:把商品照片转成可旋转 3D 模型,用于 AR 试穿、3D 详情页。Amazon、淘宝均有相关功能。
  • 建筑与工业设计:从草图或文本生成建筑体量模型,用于方案探索和客户汇报。
  • VR/AR 内容:NeRF/3DGS 把实景扫描变成可在 VR 中漫游的数字孪生,用于看房、博物馆数字化。
  • 数字人与虚拟形象:从几张照片重建可驱动的 3D 人头,用于直播虚拟主播、元宇宙社交。
类库语言说明
NerfstudioPythonNerfstudio 项目,集成 NeRF/3DGS 训练与可视化,学术界标准工具链
gsplatPython高性能 3D Gaussian Splatting 库,支持训练与实时渲染
PyTorch3DPythonMeta 的 3D 深度学习库,提供可微渲染、网格/点云操作
Three.jsJavaScript浏览器端 3D 渲染,常用于在网页展示生成的 glTF/glb 模型
threestudioPython统一框架,集成 DreamFusion/ProlificDreamer 等 SDS 类方法
Tripo / Meshy / Rodin在线服务商用 3D 生成平台,文本/图像直出可下载的 3D 资产
术语英文解释
神经辐射场NeRF用 MLP 表示 3D 场景的颜色和密度场,通过体渲染合成新视角
体渲染Volume Rendering沿光线对密度加权累加颜色的渲染方法,保证正确遮挡
3D 高斯泼溅3D Gaussian Splatting用一组 3D 高斯椭球表示场景,投影到屏幕 alpha 混合渲染
可微渲染Differentiable Rendering渲染过程可求导,让 2D 损失能回传梯度优化 3D 表示
分数蒸馏采样SDS / Score Distillation用 2D 扩散模型的分数当梯度,优化 3D 表示(DreamFusion 核心思想)
三平面Triplane用三个正交平面特征图紧凑表示 3D,扩散生成的常用隐空间
多面 JanusJanus ProblemSDS 生成 3D 时每个角度都生成一个正面,导致结构错乱
glTF / glbglTF / glb业界标准的 3D 资产交换格式,游戏引擎和网页通用
  • Mildenhall et al., “NeRF: Representing Scenes as Neural Radiance Fields” (ECCV 2020):NeRF 开山之作,用 MLP + 体渲染实现照片级新视角合成,引爆神经渲染领域。
  • Kerbl et al., “3D Gaussian Splatting for Real-Time Radiance Field Rendering” (SIGGRAPH 2023):3DGS 论文,用高斯点实现实时高质量渲染,迅速成为 NeRF 的强力替代。
  • Poole et al., “DreamFusion: Text-to-3D using 2D Diffusion” (ICLR 2023):提出 SDS,首次用 2D 扩散模型的分数优化 3D,无需 3D 标注,文本生成 3D 的奠基工作。
  • Lin et al., “Magic3D: High-Resolution Text-to-3D Content Creation” (CVPR 2023):NVIDIA 的双阶段方法,粗模 + 高分辨率精修,显著提升纹理质量。
  • Hong et al., “LRM: Large Reconstruction Model for Single Image to 3D” (ICLR 2024):大规模单图重建 Transformer,几秒内从一张图预测出完整 3D,推动通用 3D 重建。