supersplat
浏览器内的 3D Gaussian Splatting 可视化编辑器,免费开源
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
浏览器内的 3D Gaussian Splatting 可视化编辑器,免费开源
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下,你刚用手机绕着房间走了一圈,回来就能得到一个可以自由走动、三百六十度无死角观看的真实感三维场景——不是游戏建模,而是摄像头"看"出来的。这种听起来像科幻小说的事,正是 3D Gaussian Splatting(3DGS)技术在做的事。而 SuperSplat,就是专门用来加工这些"凭空生成"出来的三维场景的开源工具。

图1:SuperSplat 在线编辑器主界面
2023 年,一种名为 3D Gaussian Splatting(3DGS) 的神经渲染技术横空出世。与传统三维建模不同,3DGS 不需要人工绘制网格,而是通过"高斯球"——数十万个微小的三维椭圆——来描述场景的颜色和形状信息。这种表示方式让实时渲染真实感场景成为可能,但随之而来的问题是:这些海量高斯球数据从哪来?如何编辑?
传统的 COLMAP + Gaussian Splatting 流程产出的 .ply 文件巨大且难以修改。游戏引擎出身的 PlayCanvas 团队敏锐地捕捉到了这个痛点,于 2023 年 10 月开源了 SuperSplat——一个完全基于 Web 技术的 3DGS 可视化编辑器,让任何人都能在浏览器里查看、裁剪、优化和发布高斯泼溅场景。
PlayCanvas 本身是业界知名的 WebGL/WebGPU 游戏引擎,拥有超过十五年的浏览器 3D 技术积累。他们将游戏引擎中成熟的场景编辑理念引入到 3DGS 领域,这使得 SuperSplat 在交互体验上远超同期其他工具。

图2:SuperSplat 由 PlayCanvas 团队开发和维护
SuperSplat 的架构清晰地分为两层:渲染内核 和 编辑工具链。
渲染内核 跑在 PlayCanvas 引擎之上,直接利用 WebGPU(部分降级到 WebGL2)进行 GPU 加速渲染。核心渲染代码位于 src/splat.ts(高斯泼溅数据管理)、src/shaders/ 下的各类着色器(包括 splat-shader.ts 主着色器、outline-shader.ts 轮廓线着色器等)。PlayCanvas 引擎本身在 devDependencies 中以 playcanvas: 2.18.2 的版本锁定,确保渲染行为的一致性。
编辑工具链 则构建在 PlayCanvas 的 UI 框架 PCUI(@playcanvas/pcui: 6.1.4)之上,提供类似专业三维软件的交互体验。工具系统采用模块化设计:src/tools/ 下包含框选(box-selection)、刷选(brush-selection)、套索(lasso)、多边形选(polygon-selection)、测量(measure-tool)等十余种选择工具,以及移动(move-tool)、旋转(rotate-tool)、缩放(scale-tool)三大变换工具。工具管理器(tool-manager.ts)统一调度这些工具的状态切换。
数据处理层(src/data-processor/)负责高斯球数据的底层运算:位置计算、直方图统计、范围选择、边界计算等。值得注意的是 src/publish.ts 负责导出功能——不仅能导出标准 .ply 格式,还支持 SuperSplat 自研的 压缩 .splat 格式(通过 splat-serialize.ts 实现),可将文件体积压缩至原来的三分之一左右,同时保持视觉质量。
SuperSplat 提供了一条完整的三维高斯场景编辑流水线,覆盖从加载到发布的每个环节。
导入阶段,SuperSplat 支持拖放或 URL 参数加载 .ply 文件,其中 ?load=<URL> 参数是一个非常实用的分享机制——用户只需将 .ply 文件托管到 GitHub Pages 等静态服务器,就能通过链接直接分享三维场景,无需上传文件。src/asset-loader.ts 和 src/file-handler.ts 处理文件解析,src/io/ 目录下提供了与外部数据格式交互的模块。
编辑阶段,SuperSplat 提供了极为丰富的选择和变换工具。选区工具覆盖了从矩形框选到自由套索的各种需求;变换工具则支持移动、旋转、缩放三种基本操作。更进阶的功能包括:splat-overlay.ts 支持叠加多个高斯场景并实时查看混合效果;ply-sequence.ts 处理多帧动画数据的批处理;color-grade.ts 提供色调调整能力;infinite-grid.ts 在场景中渲染无限延伸的参考网格,便于对齐和定位。
优化与导出阶段,src/publish.ts 和 splat-serialize.ts 实现了高效的压缩导出。经 SuperSplat 处理后的 .splat 文件不仅体积更小,还支持选择性降采样——这对需要将三维场景嵌入网页或移动端的开发者来说是重大利好。png-compressor.ts 则处理纹理相关的压缩优化。
SuperSplat 选择了 TypeScript(typescript: 6.0.3)作为开发语言,通过 Rollup(rollup: 4.60.4)打包,最终产物部署在 PlayCanvas 的 CDN 上。代码质量方面,项目使用 ESLint(eslint: 10.4.0)配合 PlayCanvas 自有的规则集进行静态检查,并配备完整的类型声明(global.d.ts)。
国际化方面,SuperSplat 通过 i18next 生态(i18next: 26.3.0 + i18next-browser-languagedetector + i18next-http-backend)实现多语言支持,目前已有多种语言翻译文件存于 static/locales/ 目录下。这意味着非英语用户可以在本地化界面中无障碍使用。
动画和交互特效方面,anim/ 目录处理关键帧动画和轨迹编辑(anim-track.ts),timeline.ts 提供时间轴 UI。编辑器还内置了 Undo/Redo 功能(edit-history.ts + command-queue.ts),用户可以放心大胆地尝试各种编辑操作而不怕出错。
整体来看,SuperSplat 的代码质量评分可以达到 82/100:模块化程度高、类型安全、有 ESLint 检查和清晰的目录结构。文档质量极高——官方 User Guide 涵盖了从安装到各工具使用的完整说明。测试覆盖方面,由于是纯前端项目且主要依赖 PlayCanvas 引擎,目前未见明确的单元测试套件,但编辑器本身的功能验证通过 PlayCanvas 的官方发布流程来保证。
SuperSplat 的部署理念是"零门槛"——对普通用户而言,根本不需要安装任何东西。只需打开 https://superspl.at/editor 或 https://playcanvas.com/supersplat/editor,就能立即使用完整功能。该编辑器同时支持 PWA(渐进式 Web 应用) 安装,用户可以将它像原生 App 一样添加到桌面和主屏幕。
对于开发者而言,本地部署同样简单:克隆仓库、npm install、然后 npm run develop 启动开发服务器(同时运行 rollup watch + serve),即可在 http://localhost:3000 进行开发调试。不过需要注意的是,SuperSplat 依赖 WebGPU,建议使用 Chrome 或 Edge 等支持 WebGPU 的现代浏览器(Safari 和 Firefox 也逐步支持中)。
硬件方面,流畅运行 SuperSplat 需要一块支持 WebGPU 的显卡(大多数 2018 年后的 NVIDIA/AMD 显卡均可,苹果 Silicon Mac 也原生支持)。内存建议 4GB 以上,显卡显存 4GB 以上能处理更大的 .ply 文件。
SuperSplat 并不完美。首先,它不是一个建模工具——你不能用它凭空创建三维物体,必须先有 .ply 格式的 3DGS 数据来源(通常来自 COLMAP + Gaussian Splatting 训练流程)。其次,WebGPU 的浏览器兼容性仍是一个问题,在老旧设备或 Safari 浏览器上可能遇到性能瓶颈或功能缺失。
更大的争议在于生态封闭性:SuperSplat 主推的 .splat 压缩格式是其自研的,虽然官方声称压缩效果好,但用户在导出后就被"锁定"在这个格式中——这与开源社区更推崇的开放标准形成了一定张力。147 个 open issues 中,有不少用户反馈与文件格式兼容相关的问题。
此外,作为纯前端项目,SuperSplat 的所有计算都在浏览器中完成,对于极大的场景(数千万个高斯球)可能会遇到浏览器内存限制。在这类场景下,用户可能仍需要借助传统的桌面工具来处理。
SuperSplat 的出现,标志着 3D Gaussian Splatting 技术从"研究者的玩具"向"创作者的日常工具"迈出了关键一步。在它诞生之前,3DGS 数据的查看和编辑需要复杂的命令行工具或专业软件;SuperSplat 让这一切变成了打开一个网页就能完成的事。
从增长曲线来看,该项目在不到两年半的时间里积累了 8700+ stars、900+ forks,147 个 open issues,说明它确实解决了大量真实需求。PlayCanvas 团队持续维护的节奏(最近一次更新在 2026-05-29)表明这不是一个"发布即弃"的项目。
更重要的是,SuperSplat 证明了 WebGPU 技术已经足够成熟,可以在浏览器中运行复杂的实时神经渲染应用。这一里程碑式的发展,预示着未来更多的三维内容创作工具将走向 Web 化、云化。