有没有想过,未来搭建一个 3D 场景,可能不再需要专业的建模师、扫描仪和漫长的渲染流程?只需要一部普通手机,绕着房间走动拍几张照片,然后等上几秒钟,就能得到一个可以自由旋转、行走、预览的 3D 空间。这个场景,正在从实验室演示变成开源项目里可复现的日常功能。
这背后的核心推动力,正是 Transformer。过去提到 Transformer,大家首先想到的是 GPT、BERT 这类语言模型,或者 Stable Diffusion 背后的视觉骨干网络。但最近一批开源 3D 场景生成模型表明,Transformer 不仅仅擅长理解文字和图像,它正在进入一个更难的任务:从稀疏的二维图片中,直接推算出完整的三维世界结构,并让用户以“可探索”的方式进入这个场景。
这篇文章想聊清楚三件事:为什么 Transformer 能承担 3D 场景生成任务,当前开源模型的整体思路是什么,以及开发者如何在本地跑通“从几张图片到可探索 3D 场景”的完整链路。如果你想快速判断这个技术方向适不适合自己的项目,或者正打算把 3D 生成能力接入到现有业务里,这篇文章值得读完。
1. 这篇文章真正要解决的 3D 场景开发问题
传统 3D 场景构建是一件高度依赖人工和重型工具链的事情。室内设计需要用建模软件一步步画墙体、摆家具;游戏开发需要美术团队制作并优化模型资产;电商平台想展示某个商品的立体效果,往往要动用摄影棚和三维扫描设备。即便使用近几年的摄影测量方案,通常也需要几十张甚至上百张照片,经过长时间的特征匹配、点云重建和网格生成,才能得到可用的结果。
这些流程有三个痛点:一是成本高,二是耗时,三是门槛高。对于普通开发者、内容创作者和小型团队来说,很难在没有专业设备的情况下快速得到满意的 3D 场景。
最近出现的稀疏视角 3D 场景生成模型,试图从根本上改变这个局面。它们允许用户输入 1 到 8 张覆盖不同角度的普通照片,模型内部通过 Transformer 架构完成多视角特征融合和 3D 表示预测,在几秒内输出可供浏览的 3D 场景。更关键的是,很多相关工作已经开源,开发者可以基于开源模型二次开发,而不只是看论文里的演示视频。
我的判断是:这类模型的成熟,意味着 3D 内容制作正在从“专家建模时代”走向“AI 预测时代”。Transformer 在这里扮演的不是一个花哨的注意力模块,而是真正的空间推理引擎。
如果你是以下类型的读者,这篇文章最适合你:
- 想做 3D 场景编辑器,但不想从零手写重建算法。
- 想给自己的产品加入“从图片生成 3D 预览”的能力。
- 刚接触 NeRF、3D 高斯泼溅、稀疏视角重建,想理清这些概念之间的关系。
- 想在实际工程中接入开源模型,但担心环境配置、数据格式和性能问题。
2. 从“重建”到“生成”:3D 场景制作的技术路线演进
2.1 传统多视角几何与摄影测量
传统摄影测量依赖多视角几何(Multi-View Stereo, MVS)原理。系统从不同位置拍摄同一场景,通过特征点匹配计算出相机位姿,再生成深度图、点云,最后重建出网格和纹理。这套方法精度高,但要求输入图像之间具有足够的重叠度和视角覆盖。对普通用户来说,拍摄规范很难保证,重建失败率高,而且整体耗时可能是小时级别。
2.2 NeRF 与 3D 高斯泼溅:优化式重建
NeRF(神经辐射场)的出现改变了 3D 重建的表示方式。它用一个 MLP 网络隐式存储场景的颜色和密度,通过可微渲染逐像素优化。NeRF 的优势是能够渲染出高质量的连续视角,但它仍然是为每一个场景单独训练一个模型,训练时间从几分钟到几十分钟不等。
3D 高斯泼溅(3D Gaussian Splatting)则是对 NeRF 的光栅化加速版本。它把场景表示成一组带位置、旋转、透明度和颜色信息的高斯椭球,通过快速光栅化实现实时渲染。相比 NeRF,训练速度大幅提升,几分钟内就能完成一个场景的拟合。但从本质上看,这两种方法仍然属于“场景专属优化”,换一个新场景,就要重新跑一遍训练流程。
2.3 前馈 Transformer:一次推理生成 3D
近两年出现的通用 3D 大模型,走的是另一条路:前馈(feed-forward)预测。输入若干张图片,经过 Transformer 编码器提取特征,再通过解码器直接输出 3D 表示,整个过程只需要一次神经网络前向传播,不再为每个场景单独优化。
这里面最关键的结构变化是:Transformer 的注意力机制天然擅长处理“多个视角之间的对应关系”。比如输入 5 张不同角度拍摄的客厅照片,模型需要知道哪些特征属于同一面墙、同一件家具,并推理出物体被遮挡部分的形状。注意力模块能够在全局范围内建立这种对应关系,这是传统卷积网络很难做到的事情。
从工作流程上看,三种路线的区别可以总结为下表:
| 技术路线 | 输入要求 | 处理时间 | 是否需要场景训练 | 典型角色 |
|---|---|---|---|---|
| 传统 MVS 摄影测量 | 大量高重叠照片 | 分钟到小时级 | 否,但计算资源高 | 高精度测量、工程场景 |
| NeRF / 3D 高斯泼溅 | 几十张有重叠照片 | 每场景训练数分钟 | 是 | 高质量重建与渲染 |
| 前馈 Transformer 生成 | 1 到 8 张普通照片 | 秒级推理 | 否 | 快速 3D 场景生成与预览 |
2.4 为什么 Transformer 是最后的赢家方向
从语言学模型到图像生成,再到 3D 场景推理,Transformer 表现出一种惊人的“跨模态通吃”能力。原因可以归结为三点:
- 统一序列化:图像可以切成 patch token,点云可以编码为坐标 token,文本本身也是 token,注意力机制不受模态限制。
- 长程依赖建模:3D 重建中一个像素的最终颜色和位置,可能取决于远处几个视角的信息,Transformer 的全局注意力天然覆盖这种关系。
- 规模效应:Transformer 模型的容量可以通过增大数据和参数持续提升,这使其在大量多视图数据训练后,能够涌现出对真实世界几何结构的理解。
因此,即便当前还有一些基于扩散模型或显式几何的生成方案,主流的 3D 生成模型中,Transformer 几乎成为了标配的骨干网络。
3. 开源模型如何用几张图片生成可探索 3D 场景
这一节进入核心原理。我不想讲太多数学公式,而是用一个可运行的心智模型,说明这一类开源模型到底做了什么。
3.1 输入侧:把图片变成特征 Token
输入图片首先被切分为 patch,经过视觉骨干网络(如 Vision Transformer)编码。每个 patch 对应一个特征向量,这个向量不仅包含颜色和纹理,更重要的是经过多层注意力之后,已经包含了和其他视角 patch 的对应关系。
在实际实现里,很多模型会引入射线嵌入(ray embedding),比如 Plücker 坐标,把每张图片的相机位姿和每个像素对应的射线方向也编码进 token。这样 Transformer 就知道:这个 patch 是从哪个相机角度看到的,射线方向是什么,从而为后面的三维位置推理提供几何约束。
3.2 内部:Transformer 解码三维表示
得到所有输入视角的 token 后,Transformer 开始做两件事:
- 如果目标是重建显式表示,比如点云、网格或 3D 高斯参数,它会解码出一个全局场景表示。
- 如果目标是生成多视角出新图,它会根据输入图像和相机位姿,逐 token 预测新视角的 RGB 图。
很多开源模型采用“生成多视角 + 用 NeRF/3D 高斯重构”的两阶段策略。第一阶段通过 Transformer 生成大量一致的新视角图像,弥补输入视角稀疏、覆盖不全的问题;第二阶段用生成的密集视角图快速重建出可渲染的 3D 场景。
3.3 输出侧:可探索场景的来源
所谓“可探索”,指的是生成结果不是一个静态图片,而是一套连续视角可渲染的表示。用户在 Three.js、Unity 或专用查看器中转动相机,系统会实时渲染出当前视角下的画面。这相当于我们从 2D 输入中“恢复”了一个可以自由漫游的虚拟空间。
如果把整个系统做一个简单类比,可以这样理解:
旧的建模流程是“先画图纸,再砌墙”。新建模生成流程是“只看几张照片,就自动推断出整个房间的布局、家具和灯光,并允许你走进这间房四处看”。
3.4 从训练数据看为什么效果好
这类模型之所以能用少量视角生成可靠场景,本质上是因为在大量多视图数据上进行过预训练。模型见过的房间、街道、物体形态可能数以百万计,它学到的不只是“把像素对准到空间点上”,更是对真实世界结构的先验知识。比如它知道椅子背面虽然被遮挡,但大概率是对称的;知道墙面是连续的;知道地面和天花板存在固定的透视关系。因此,稀疏视角下的不确定性可以由先验知识补齐。
这也是 Transformer 3D 生成模型和传统几何重建最大的区别:前者是数据驱动的学习系统,后者是纯几何计算。
4. 当前开源 3D 场景生成模型的技术生态概览
先说明一点:这个领域迭代速度非常快,具体模型名称和权重发布情况经常变化。下面按技术路线分类,而不是具体推荐某个仓库。
4.1 稀疏视角重建与场景生成
这类模型的目标与本文主题最接近。输入多张图片,输出可渲染的 3D 场景。典型特点包括:预处理图像背景、去除 EXIF 元数据中的隐私信息、保证相机角度覆盖足够。开源社区中经常出现“用 4 张图生成一个房间”“用 6 张图重建一个墙角场景”的演示视频。
实践价值:适合室内设计、短租平台房屋预览、商品陈列展示。
4.2 单图生成 3D 对象
面向单个物体,输入一张图,输出物体的 3D 模型。这类模型比全场景简单,因为已经用分割模型把主体从背景中分离出来。支持纹理生成和网格导出,适合电商商品展示、游戏素材快速原型制作。
相关搜索词中反复出现“图生 360 度全景图”,和这个类别有一定关联。实际上,单图生成 3D 对象和全景图生成背后的思路是同源的,都是让模型“想象”看不到的部分。
4.3 文本生成 3D 场景
文本到 3D 生成目前更多依赖扩散模型和分数蒸馏等方案。虽然速度通常比图像输入慢,但优势是自由度更高,用户可以用描述性语句控制场景风格和布局。
4.4 与前端 3D 渲染工具的结合
生成 3D 场景之后,还需要一个前端渲染查看器。Three.js 是当前生态中比较常用的方案,配合 Vue 可以封装成可维护的 3D 场景编辑器组件。很多开源项目已经把“模型推理 + Three.js 预览”做成了标准链路。
下表从工程角度对比不同类型模型的选型参考:
| 任务场景 | 输入 | 输出 | 主要技术路线 | 适合谁使用 |
|---|---|---|---|---|
| 多视角场景重建 | 多张图片 | 可漫游 3D 场景 | 前馈 Transformer + NeRF/3D 高斯 | 需要室内外场景展示的团队 |
| 单物体生成 | 单张图片 | Mesh / 纹理 3D 资产 | 视觉 Transformer + 多视角生成 | 电商、游戏资产制作 |
| 文本生成场景 | 文本提示词 | 3D 场景 | 扩散模型 + 分数蒸馏 | 创意设计、概念验证 |
| 全景图生成 | 单张图片 | 360 度环绕图片 | Transformer + 扩散 | VR 预览、全景内容 |
5. 环境准备与前置条件
在本地跑通“从图片到可探索 3D 场景”之前,需要准备合适的运行环境。这里以通用环境为例,具体版本请以实际项目文档为准。
5.1 硬件要求
- 首选 NVIDIA GPU,显存建议 8GB 以上。如果需要生成较大场景,16GB 或 24GB 会更从容,实际分配取决于模型参数量和图像分辨率。
- 没有 NVIDIA GPU 的话,部分项目支持纯 CPU 推理,但生成时间会明显变长。
- 磁盘空间:模型权重通常 2GB 到 10GB 不等,加上输入输出数据,建议保留至少 20GB 可用空间。
5.2 软件环境
建议在 Linux 或 Windows WSL2 环境下运行。macOS 可以尝试部分 CPU 推理,但不保证所有依赖都能兼容。
# 推荐使用 Python 3.10 或 3.11 python -m venv venv source venv/bin/activate # 安装基础依赖,具体版本以项目 requirements.txt 为准 pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121 pip install transformers huggingface_hub pip install natsort imageio imageio-ffmpeg opencv-python需要注意:CUDA 版本和 PyTorch 版本的匹配是常见的坑。如果本地驱动支持的 CUDA 版本是 11.8,就不要强行安装 Cu121 的 PyTorch。可以先运行nvidia-smi查看驱动支持的最高 CUDA 版本。
5.3 模型权重获取
开源模型一般通过 Hugging Face 或项目官网发布权重。下载前要先确认权重文件的许可协议,部分模型可能限制商用。
# 使用 huggingface-cli 下载,示例地址请替换为实际仓库 huggingface-cli download some-org/scene-generation-model --local-dir ./checkpoints如果网络下载不稳定,可以考虑先把权重下载到本地服务器,再拷贝到目标机器。
6. 完整示例代码实现
下面用一个最小流程演示:输入多张图片,调用开源模型生成 3D 场景,导出 GLB 文件,并用 Three.js 在网页中实现可探索交互。这里强调一下,下面的导入和 API 只是通用的教学示例,具体项目中的类名和参数以官方仓库为准。
6.1 示例一:Python 推理脚本
# scripts/generate_scene.py import torch from PIL import Image # 以你实际使用的开源项目为准 from scene_model import SceneGenerator device = "cuda" if torch.cuda.is_available() else "cpu" model = SceneGenerator.from_pretrained( checkpoint_path="./checkpoints" ) model.eval() model.to(device) image_paths = [ "data/scene/001.jpg", "data/scene/002.jpg", "data/scene/003.jpg", "data/scene/004.jpg", "data/scene/005.jpg", ] images = [Image.open(p).convert("RGB") for p in image_paths] with torch.no_grad(): result = model.generate( images=images, num_output_views=120, flythrough=True, ) result.export_mesh("output/scene.glb") result.export_video("output/scene_preview.mp4", fps=30) print("场景生成完成,检查 output/scene.glb")这个脚本包含几个关键步骤:
from_pretrained加载预训练权重,注意权重路径要和本地下载的目录对齐。model.generate是核心推理入口,通常需要传入图片列表和输出视图数量。export_mesh把生成结果导出为 GLB 格式,这个格式可以被 Three.js 直接加载。export_video生成一段可选的飞行预览视频,方便在不打开渲染器的情况下快速检查效果。
运行前,确保输出目录存在:
mkdir -p output data/scene python scripts/generate_scene.py6.2 示例二:命令行工具调用
很多开源项目会同时提供命令行入口,便于在服务端或 CI 流程中直接调用。下面的命令格式是常见的约定,具体参数名以项目实际为准。
# 安装项目依赖后,直接运行入口脚本 python run.py \ --input data/scene \ --output output/scene.glb \ --num_views 120 \ --device cuda \ --export-preview # 如果希望导出为新视角视频,可以增加这个参数 python run.py \ --input data/scene \ --output output/scene_preview.mp4 \ --mode video \ --fps 30命令行方式的好处是方便脚本化。你可以把多组图片放入不同目录,循环调用命令生成批量 3D 场景。如果接入了消息队列,还能做成异步任务,几个场景同时排队处理。
6.3 示例三:Three.js 可探索场景查看器
生成 GLB 文件之后,推荐用 Three.js 做前端预览。下面代码展示了基础的可探索场景加载和相机控制,同时配合 OrbitControls 实现鼠标拖拽旋转。
<!-- index.html --> <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>3D 场景预览</title> <style> body { margin: 0; overflow: hidden; } canvas { display: block; } </style> </head> <body> <script type="importmap"> { "imports": { "three": "https://unpkg.com/three@0.160.0/build/three.module.js", "three/addons/": "https://unpkg.com/three@0.160.0/examples/jsm/" } } </script> <script type="module"> import * as THREE from 'three'; import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; const scene = new THREE.Scene(); scene.background = new THREE.Color(0x111122); const camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, 0.1, 1000 ); camera.position.set(0, 1.5, 3); const renderer = new THREE.WebGLRenderer({ antialias: true }); renderer.setSize(window.innerWidth, window.innerHeight); renderer.toneMapping = THREE.ACESFilmicToneMapping; renderer.outputColorSpace = THREE.SRGBColorSpace; document.body.appendChild(renderer.domElement); const controls = new OrbitControls(camera, renderer.domElement); controls.enableDamping = true; controls.dampingFactor = 0.08; controls.target.set(0, 1, 0); // 添加环境光,避免场景过暗 const light = new THREE.AmbientLight(0xffffff, 1.5); scene.add(light); const loader = new GLTFLoader(); loader.load('output/scene.glb', (gltf) => { scene.add(gltf.scene); const box = new THREE.Box3().setFromObject(gltf.scene); const center = box.getCenter(new THREE.Vector3()); const size = box.getSize(new THREE.Vector3()).length(); controls.target.copy(center); camera.position.set( center.x, center.y + size * 0.5, center.z + size * 0.8 ); camera.lookAt(center); controls.update(); }); function animate() { requestAnimationFrame(animate); controls.update(); renderer.render(scene, camera); } animate(); window.addEventListener('resize', () => { camera.aspect = window.innerWidth / window.innerHeight; camera.updateProjectionMatrix(); renderer.setSize(window.innerWidth, window.innerHeight); }); </script> </body> </html>这段代码做了几件关键事情:
- 使用 importmap 引入 Three.js 模块,避免复杂的打包工具配置。
- 创建场景、相机、渲染器,并开启抗锯齿和 ACES 色调映射。
- 接入 OrbitControls,用户可以用鼠标拖拽旋转、缩放,这就是“可探索”的交互基础。
- 加载 GLB 后,根据场景包围盒自动调整相机位置,保证模型完整出现在视野内。
如果在 Vue 项目中使用,可以把这段逻辑抽取成SceneViewer.vue组件,通过 props 接收 GLB 路径,再配合其他 UI 组件形成一个完整的 3D 场景编辑器。
7. 运行结果与效果验证
7.1 如何判断生成成功
运行推理脚本后,检查输出目录是否出现scene.glb和scene_preview.mp4。打开预览视频,重点看三个维度:
- 多视角一致性:从不同角度观察同一个物体,它的形状和颜色是否保持一致。
- 几何完整度:墙角、桌椅、墙体是否完整,是否存在大面积空洞或扭曲。
- 探索流畅性:视频中相机移动时,画面是否连续,有没有明显的跳变或重影。
如果这几个维度都没有明显问题,说明生成质量可以接受。否则,需要回退到输入数据检查。
7.2 性能验证
在终端观察推理过程中的 GPU 利用率、显存占用和单次推理耗时。
nvidia-smi如果显卡利用率偏低且生成时间过长,可能是数据加载或 CPU 预处理成了瓶颈。可以先把图片批量缩放、统一格式,然后再输入模型。如果显存接近上限,降低num_output_views或者输入图片分辨率,通常能有效缓解。
7.3 失败时第一步排查方向
运行失败后,不要急着改模型。先按这个顺序检查:
- 看终端完整报错日志,区分是 OOM 还是文件路径错误。
- 确认输入图片路径正确、图片能正常打开。
- 确认权重文件完整,没有在中途下载失败。
- 确认 PyTorch、CUDA 版本匹配,可用
torch.cuda.is_available()验证。 - 确认输出目录存在,且有写入权限。
8. 常见问题与排查思路
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 生成结果有严重空洞 | 输入视角覆盖不足,模型缺少被观察区域的信息 | 检查输入图片之间是否存在明显视角间隔 | 增加输入图片数量或补充侧面视角拍摄 |
| 显存不足 OOM | 输入分辨率过高或输出视角数量过大 | 观察 nvidia-smi 显存占用曲线 | 降低分辨率,减少 num_output_views,使用半精度推理 |
| 生成的新视角存在闪烁 | 多视角图像之间不一致 | 播放多个相邻视角画面,检查前景背景边缘 | 使用更稳定的生成策略,增加输入视角重叠度 |
| 图片背景干扰重建 | 输入图像中存在动态人物或背景杂乱 | 人工查看输入图片主体占比 | 先做背景去除或主体分割 |
| 运行时提示 CUDA 版本错误 | PyTorch 和本地驱动不匹配 | 运行 nvidia-smi 查看驱动 CUDA 版本 | 按驱动版本重新安装对应的 PyTorch 轮子 |
| 权重下载超时中断 | 网络不稳定导致文件不完整 | 使用校验值验证文件完整性 | 使用镜像下载或离线拷贝,下载后比对 sha256 |
| 导出 GLB 后前端加载失败 | GLB 文件过大或格式不支持 | 打开浏览器控制台查看加载报错 | 压缩 Mesh 顶点数据,或转换为 glTF 2.0 兼容格式 |
| 场景无法自由漫游碰撞 | 生成结果只是视角视频,没有碰撞检测 | 确认是否加载的是完整 3D 网格而非视频 | 导出网格格式并接入物理引擎 |
9. 最佳实践与工程建议
9.1 数据采集规范
输入图片的质量直接决定生成结果的上限。拍摄时尽量让相机保持在同一高度附近,环绕主体或场景移动,相邻视角之间的角度差控制在合理范围内。避免剧烈运动模糊、过曝或严重遮挡。如果目标物体是单个商品,建议先抠图,只保留主体。
采集时还要注意隐私与版权。室内照片可能包含人脸、车牌、证件信息。在上传到模型或云服务之前,先做脱敏处理。如果业务涉及用户家内环境,最好在隐私协议中明确说明数据处理方式。
9.2 模型选型与版本管理
每个开源模型的训练数据和侧重点不同,不要试图用一个模型解决所有 3D 场景生成问题。在选型之前,准备一组自有测试图片,涵盖室内、室外、单物体等典型场景,并用统一流程评估生成效果。
由于 3D 生成领域迭代很快,建议在项目仓库中锁定模型版本和权重文件的 commit 或 hash。升级模型之前,先跑回归测试。权重文件比较占空间,可以考虑用 Git LFS 或对象存储管理,不直接放进代码仓库。
9.3 输出与后续处理
生产环境下,不要只输出一个 GLB 就不管了。可以根据场景做后续优化:
| 处理环节 | 推荐方案 |
|---|---|
| 网格精简 | 使用 mesh decimation 工具减少三角面数 |
| 纹理压缩 | 将漫反射贴图压缩为 WebP 或 Basis Universal 格式 |
| 光照优化 | 在 Three.js 中增加环境贴图和方向光,统一色调 |
| 碰撞与交互 | 接入 Three.js 物理引擎或自定义射线检测 |
| 模型缓存 | 对相同场景的生成结果做哈希缓存,避免重复推理 |
9.4 服务端架构考虑
如果要把 3D 场景生成能力做成 Web 服务,建议把推理任务放到 GPU 专用节点,前端只做结果展示。整体架构可以这样设计:
- 客户端上传一组图片到对象存储。
- 服务端生成任务进入队列。
- 推理节点消费任务,调用开源模型生成 GLB。
- 生成结果回传对象存储,前端通过 CDN 加载。
这样做的好处是推理耗时不会阻塞用户请求,同时方便批量清理和监控。
9.5 安全与合规
生成式 3D 模型同样存在安全边界。生成结果可能复现训练数据中的品牌 LOGO、人脸、艺术作品等受版权保护的内容,商用前要确认模型许可和生成内容的合规性。
另外,3D 场景文件也可能被注入恶意脚本,尤其是从第三方下载的 GLB/glTF 文件。加载前建议对格式做白名单校验,不让用户直接上传任意 3D 文件到生产环境,必须先经过解析和清洗服务。
10. 总结
这篇内容的出发点是观察到一个明确信号:Transformer 已经不是只属于 NLP 和 2D 视觉的技术栈,它正在成为“空间智能”的基础架构。稀疏视角图片加 Transformer,再配合 NeRF 或 3D 高斯泼溅这样的渲染后端,已经能够让开源模型在几秒钟内生成可探索的 3D 场景。它压缩了传统 3D 建模中最昂贵的时间成本,也把 3D 内容创作的门槛拉到普通开发者伸手可及的位置。
从工程角度讲,建议你按三步走:
- 先跑通一个最小的开源模型推理流程,用 5 张图生成一个场景。
- 用 Three.js 做一个本地预览页面,理解“生成结果到可探索交互”的链路。
- 再把模型接入服务端,用队列和对象存储解决真实业务场景下的并发和存储问题。
不要停留在只看演示视频的阶段。3D 场景生成这个方向真正的价值,是让开发者能够像调用文本生成 API 一样,随时创建一个三维空间出来。Transformer 把 3D 世界变成了另一个“输出模态”,接下来值得继续深入的方向包括:多视角一致性扩散模型、4D 动态场景生成、以及更轻量化的移动端推理方案。