BimAnt 3DGS
3DGS · 高斯泼溅

什么是 3DGS(高斯泼溅)

3DGS 是用一堆高斯椭球表示三维场景的技术;它不是文件格式,PLY、SPLAT、KSPLAT、SPZ、SOG 才是装它的容器。先看懂这一层,后面的格式选择就不会乱。

没有文件?试一个 →

支持 .ply .splat .ksplat .spz .sog .compressed.ply · 文件不会离开你的电脑

一句话:一堆会发光、会旋转的椭球

3D Gaussian Splatting(3DGS,中文常叫高斯泼溅)用几十万到几百万个高斯椭球表示一个场景。每个椭球有位置、尺度、旋转、颜色和不透明度;渲染时把它们投影到屏幕并按深度混合,得到连续的画面。

它不是 mesh,也不是普通点云:点云的一个点没有大小和方向,高斯椭球有;mesh 用三角面描述表面,3DGS 用体积元素描述光线。

和 NeRF、点云有什么区别

NeRF 用一个神经网络记住“从哪个方向看、这个像素是什么颜色”,训练和渲染都重;3DGS 把场景显式存成椭球,渲染更像光栅化,实时性好得多。

普通点云只有位置和颜色,适合测量与建模;3DGS 多了协方差和球谐,才有视角相关的高光与半透明效果。两者都可能是 .ply,但字段完全不同。

  • 要实时转着看:3DGS 更合适
  • 要测量、做 BIM、出工程图:普通点云或 mesh 更合适
  • 要最高保真但不在乎速度:NeRF 仍然有它的位置

六种容器分别装什么

同一个场景可以装进六种容器,差别在压缩方式、精度和生态。看扩展名比看“3DGS”三个字有用:.ply 是原始浮点,.spz / .sog 是压缩分发,.splat / .ksplat 面向特定查看器。

格式每点体积压缩谁在用什么时候选它
PLY (.ply)约 248 字节(SH 3 阶)无几乎所有训练器的默认输出要最全细节、要喂给别的训练/编辑工具
SPLAT (.splat)32 字节有损早期网页查看器的事实标准想快速塞进网页、体积优先
KSPLAT (.ksplat)—有损three.js 的 GaussianSplats3D 插件项目已经用那个插件
SPZ (.spz)约为 PLY 的 1/10有损Niantic 提出;World Labs 的 Atlas API 输出它体积与兼容性最平衡的默认选择
SOG (.sog)约为 PLY 的 1/15–1/20有损PlayCanvas 规范,为 Web 分发与流式加载设计要在网页里挂大场景、带宽敏感
Compressed PLY (.compressed.ply)—有损PlayCanvas 生态已经是这个格式,或者对方指定要它

什么时候需要转格式

三种典型情况:文件太大、网页加载慢;下游引擎只认某一种容器;需要长期存档或继续编辑。前两种优先转 SPZ,第三种留 PLY。

转格式不会凭空产生细节。压缩格式之间互转,体积和精度都受源文件限制;先看 `/formats/` 的对照,再决定目标。

常见误解

“3DGS 是一种文件格式”:不是,它是技术名;具体文件要按扩展名指认。

“转成压缩格式就无损”:SPZ、SOG、SPLAT、KSPLAT 的压缩都会丢细节;准确说法是“转换不额外降精度”。

“点数越多一定越好”:点数、SH 阶数、量化参数一起决定画质与体积,盲目堆点数只会让网页更卡。

常见问题

3DGS 和 NeRF 哪个好?

要实时查看、网页分发,3DGS 通常更合适;要最高保真、可以慢慢渲染,NeRF 仍有优势。两者不是同一个文件格式,工具也不通用。

3DGS 文件为什么有这么多扩展名?

它们是同一类数据的不同容器:PLY 保真、SPZ 平衡、SOG 体积最小、SPLAT/KSPLAT 面向特定查看器。选哪个取决于下游工具和体积预算。

手机上能看 3DGS 吗?

可以,但受内存限制。轻量模型(几千到几万点)没问题;几十万点以上建议用桌面浏览器,或先转成 SPZ 降低体积。

转换格式

选一个目标格式。转换在浏览器里完成,文件不上传。

目标格式