# Web3DGS 技术调研汇报总结 --- ## 一、核心结论(Executive Summary) **推荐方案:SuperSplat / PlayCanvas** 综合数据处理效率、渲染性能、渲染质量、功能完整性四个维度,SuperSplat 在各项对比中表现最优,建议作为项目的高斯泼溅渲染引擎。 --- ## 二、技术背景 ### 2.1 什么是 3DGS 3D Gaussian Splatting(3DGS)是一种革命性的实时辐射场渲染技术,将3D场景表示为大量微小的"高斯形状斑点"(Splat)集合,通过可微光栅化实现实时高质量渲染。相比 NeRF 方法,3DGS 兼具训练速度和渲染速度的优势。 ### 2.2 Web端核心挑战 | 挑战 | 说明 | | ----- | -------------------- | | 内存限制 | 浏览器可用内存远小于原生应用 | | 带宽限制 | 百万级Splat数据传输成为瓶颈 | | 渲染算力 | WebGL/WebGPU并行计算能力受限 | | 跨平台兼容 | 桌面、移动、VR设备算力差异巨大 | ### 2.3 LOD 技术的关键作用 LOD(细节层级)是解决上述挑战的核心技术,实现: - **场景规模扩展**:使亿级Splat超大场景渲染成为可能 - **设备适配**:根据设备性能动态调整渲染负载 - **带宽优化**:通过流式加载减少初始等待时间 - **帧率稳定**:保持恒定渲染复杂度,避免性能抖动 --- ## 三、主流方案对比 ### 3.1 方案概览 | 方案 | 类型 | 技术栈 | 特点 | | :-------------------------: | :------: | :------------------------: | :-------------------: | | **Spark 2.0** (World Labs) | 开源Web渲染器 | Three.js + WebGL2 | 连续LOD、GPU虚拟显存、亿级Splat | | **LCC** (XGRIDS) | 商业化SDK | 多平台SDK | 空间分块+LOD耦合、Cesium集成 | | **SuperSplat** (PlayCanvas) | 开源编辑器+引擎 | PlayCanvas + WebGL2/WebGPU | SOG格式、碰撞检测、轻量易用 | | **Visionary** | 学术研究 | WebGPU + ONNX | 每帧推理、插件式架构 | | **gsplat.js** | 开源通用库 | 类Three.js API | 轻量级、基础LOD支持 | | **FJD Trion** (丰疆) | 商业软件 | 专有格式 | 需授权,未试用 | ### 3.2 核心差异对比 | 维度 | Spark 2.0 | LCC | SuperSplat | | --------- | ------------------------ | ---------- | ------------------ | | **渲染预算** | 固定预算(桌面2.5M/移动500K~1.5M) | 分块LOD机制 | 全局预算管理 | | **文件格式** | .RAD(渐进式传输) | .lcc(紧凑编码) | .sog(空间有序) | | **内存管理** | GPU虚拟显存分页 | 压缩+LOD优化 | gsplat.splatBudget | | **LOD类型** | 连续LOD(树切面) | 离散LOD+空间分块 | 离散LOD流式分块 | | **碰撞检测** | 不支持 | 需自行实现 | 内置体素碰撞数据生成 | | **最大场景** | 1亿+Splat | 80万㎡场景验证 | 千万级Splat | --- ## 四、实测数据 ### 4.1 测试场景 | 场景 | 大小 | 来源 | 类型 | | ---- | ----- | ------- | ----- | | 西北大学 | 2.12G | LCC官方示例 | 外部大场景 | | 书店 | 404M | LCC官方示例 | 内部小场景 | | 教堂 | 776M | LCC官方示例 | 外部小场景 | | 台阶 | 1.38G | 中海达数据 | 外部场景 | ### 4.2 测试设备 - **低性能台式机H**:i7-9700 + AMD Radeon R7 430 - **高性能台式机**:i9-10900K + RTX3070 - **笔记本W**:i7-9700 + AMD Radeon R7 430 ### 4.3 数据处理效率 | 方案 | 台阶场景处理时间 | 备注 | |------|-----------------|------| | Spark 2.0 | 较长(Rust源码需二次开发) | 部分PLY兼容性有问题 | | LCC | ~10秒(LCCEditor) | 存在视觉跳变问题 | | SuperSplat | 需二次开发(Node.js库) | 支持碰撞数据生成 | **碰撞数据生成时间**(笔记本W): - 书店场景:~2分钟 - 教堂场景:~3分40秒 ### 4.4 渲染性能排名 **相同场景、相同模式、相同设备下:** 1. **SuperSplat** — 性能最佳 2. **LCC** — 与SuperSplat基本相当,部分情况略逊 3. **Spark 2.0** — 性能表现最差 > 注:LCC2在不同性能模式下表现基本无变化,可能有额外处理逻辑。 ### 4.5 渲染质量对比 | 问题 | Spark 2.0 | LCC | SuperSplat | |------|-----------|-----|------------| | 视觉跳变 | 无 | 有(旋转视角出现模型漏洞) | 无 | | 性能模式模糊 | 正常 | 模糊 | 性能模式下模糊,标准及以上正常 | | 放大细节 | 可加载清晰细节 | 模糊 | 可加载清晰细节 | ### 4.6 功能对比 | 功能 | Spark 2.0 | LCC | SuperSplat | | -------- | --------- | ---------- | ----------- | | 碰撞检测数据生成 | 不支持 | 需自行实现 | 内置支持(体素八叉树) | | 第一人称行走 | 需自行实现 | 有API但需自行实现 | 内置支持 | | 点云渲染 | 不支持 | 不支持 | 引擎支持 | | Cesium集成 | 不支持 | 支持 | 不支持 | --- ## 五、技术趋势 1. **连续LOD替代离散LOD**:消除视觉跳变,实现无缝过渡 2. **流式传输标准化**:先展示低精度全局视图,再逐步细化 3. **WebGL向WebGPU迁移**:计算着色器开启更复杂LOD算法可能 4. **空间分块与LOD深度融合**:特别适合大地图、城市级实景 5. **AI驱动智能LOD**:神经网络动态预测最优LOD配置 --- ## 六、推荐方案及理由 ### 选择 SuperSplat 的核心理由 1. **渲染性能最优** — 实测FPS最高,CPU/GPU耗时最低 2. **碰撞检测内置** — 支持体素碰撞数据生成+第一人称行走 3. **无视觉跳变** — 渲染质量稳定,无LCC的旋转漏洞问题 4. **传输最快** — LOD数据最小,场景初始化最快 5. **开源生态** — MIT协议,PlayCanvas引擎成熟 ### 待解决问题 | 问题 | 说明 | | ------- | -------------------------------------------- | | LOD生成效率 | @playcanvas/splat-transform 需二次开发,当前为Node.js | | 碰撞数据质量 | 生成数据质量需进一步研究优化 | | 点云渲染 | 引擎支持但Demo未实现 | | GIS大场景 | Cesium对3DGS LOD支持不足,仅LCC支持Cesium集成 | | 浏览器适配 | 不同手机和PC 浏览器兼容有差异 | | | | --- ## 七、Hi-LiDAR 数据处理发布流程 已基于 @playcanvas/splat-transform 搭建3DGS在线数据处理和演示系统: 1. **数据接收** — 接收Hi-LiDAR推送 / 支持模型上传 2. **LOD处理** — 支持自动/手动生成LOD数据 3. **模型管理** — 在线预览和发布管理 4. **分享能力** — 链接分享 + 二维码扫码在线查看 5. **用户管理** — 集成中海达会员系统 **Demo演示地址**:http://172.16.36.73:8092/ --- *汇报完毕,请审阅。*