Files
chill_notes/AI工程/3DGS在VR眼镜上的显示方案研究.md
2026-06-22 11:30:51 +08:00

274 lines
11 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 3DGS 数据在 VR 眼镜上的显示方案研究
> 研究日期2026-06-07
> 关键词3DGS, 3D Gaussian Splatting, SuperSplat, VR, WebXR, Meta Quest
---
## 一、3DGS (3D Gaussian Splatting) 技术概述
### 什么是 3DGS
3D Gaussian Splatting 是 2023 年 SIGGRAPH 发表的革命性 3D 场景表示技术论文作者Kerbl, Kopanas 等),用**数百万个半透明的椭圆高斯球**来重建 3D 场景,而非传统的多边形网格。
**核心优势:**
- 📸 **照片级真实感**:从照片/视频直接生成,效果逼真
-**实时渲染**:优化后可达交互帧率
- 🌟 **体积表示**:自然处理半透明材质、精细细节、复杂光照
- 💰 **低成本**:比传统 3D 建模便宜且快速
### 数据格式
| 格式 | 说明 | 大小 |
|------|------|------|
| **PLY** | 标准二进制 3DGS 格式(未压缩) | 大数百MB~数GB |
| **SOG** | PlayCanvas 压缩格式ZIP + WebP | PLY 的 1/15~1/20 |
| **SPZ** | SuperSplat 项目格式 | 压缩后更小 |
---
## 二、SuperSplat 工具
### 基本信息
- **开发者**PlayCanvas
- **GitHub**https://github.com/playcanvas/supersplat⭐9k+
- **在线版**https://superspl.at/editor
- **许可证**MIT免费开源
- **技术栈**:纯 WebTypeScript + PlayCanvas Engine浏览器直接运行
### 核心功能
1. **检查Inspect**:加载 .ply / .splat 文件,查看高斯球分布
2. **编辑Edit**:选中/删除/移动高斯球,清理噪点
3. **优化Optimize**:压缩、裁剪、降采样,减小文件体积
4. **发布Publish**:导出优化后的文件,或直接发布到 SuperSplat 平台
### ⚠️ SuperSplat 本身不支持 VR
SuperSplat 是一个**编辑器**,运行在桌面浏览器的 2D 界面中。它**不直接支持 VR 模式**。
要在 VR 中查看 3DGS 数据,需要使用以下方案之一。
---
## 三、3DGS 在 VR 上显示的技术方案
### 方案对比
| 方案 | 平台 | 渲染技术 | VR 支持 | 难度 | 适用场景 |
| ---------------------- | --------------- | -------------------- | -------- | ---- | ---------------- |
| **PlayCanvas + WebXR** | Web 浏览器 | WebGL/WebGPU | ✅ WebXR | ⭐⭐ | 最简单,跨平台 |
| **RSR** | Windows 原生 | Direct3D 12 + OpenXR | ✅ OpenXR | ⭐ | 最佳性能PC VR |
| **Unity VR Viewer** | Windows (Unity) | CUDA + OpenXR | ✅ OpenXR | ⭐⭐⭐ | 开发者,需 NVIDIA GPU |
| **A-Frame + GS** | Web 浏览器 | WebGL | ✅ WebXR | ⭐⭐ | 快速原型 |
| **VRSplat** | Linux/CUDA | CUDA + OpenGL | ✅ 研究 | ⭐⭐⭐⭐ | 学术研究 |
### 方案 1PlayCanvas + WebXR推荐入门
**原理**PlayCanvas Engine 原生支持 Gaussian Splatting 渲染 + WebXR API。
**流程**
1. 用 SuperSplat 编辑/优化 3DGS 数据
2. 导出 PLY 或 SOG 文件
3. 在 PlayCanvas 项目中加载并启动 WebXR VR 会话
**优势**
- 浏览器直接运行,无需安装
- Meta Quest 浏览器原生支持 WebXR
- Apple Vision Pro Safari 也支持
**代码示例**PlayCanvas
```javascript
// 检查 VR 支持并启动
button.element.on('click', () => {
if (app.xr.supported && app.xr.isAvailable(pc.XRTYPE_VR)) {
app.xr.start(entity.camera, pc.XRTYPE_VR, pc.XRSPACE_LOCALFLOOR);
}
});
```
**局限**
- 浏览器性能有限,大场景可能卡顿
- 移动端 VRQuest 独立模式)渲染能力受限
### 方案 2RSR — Rapid Splat Renderer推荐高性能
- **GitHub**https://github.com/warpgatelabs/RSR⭐44
- **技术**Direct3D 12 + OpenXR
- **平台**Windows only
**特点**
- 原生 D3D12 渲染,性能最强
- 支持 PLY 和 SOG 格式
- 支持完整球谐函数SH up to order 3
- 可选 NVIDIA DLSS 超分辨率RTX GPU
- **免费个人/非商业使用**
**使用方式**
```
RSR.exe # 启动文件浏览器
RSR.exe <path-to-scene> # 直接打开场景
```
按 V 或 F11 切换 VR 模式,支持 OpenXRSteamVR / Oculus / 其他 OpenXR 运行时)。
**VR 控制方式**
- 左摇杆:移动
- 右摇杆:转向/上下
- 左/右手柄 Grip拖拽/缩放场景
- A 键:重置视角
**系统要求**
- Windows 10/11 x64
- DirectX 12 GPU
- OpenXR 兼容 VR 头显
- NVIDIA RTX GPU可选用于 DLSS
### 方案 3Unity + CUDA VR Viewer
- **GitHub**https://github.com/clarte53/GaussianSplattingVRViewerUnity⭐373
- **技术**Unity + CUDA 原生插件 + OpenXR
**特点**
- 使用原始 CUDA 光栅化器,渲染质量最高
- 支持同时加载多个模型
- 支持深度混合(高斯球与 3D 场景混合)
- 支持多相机渲染
**性能参考**bicycle 场景RTX 3060 Ti
- 桌面 OpenGL (FOV 60°): 12ms (80 FPS)
- Unity DirectX11 (FOV 60°): 15ms (67 FPS)
- **Unity OpenXR (双眼, FOV 90°): 38ms (26 FPS)**
**注意**VR 模式需要渲染双眼 + 更大 FOV性能开销约 2.5-3x
**硬件要求**
- CUDA GPUCompute Capability 7.0+,即 RTX 2060 以上)
- 推荐 RTX 4070+
- 16GB RAM
### 方案 4VRSplat学术方案
- **GitHub**https://github.com/Cekavis/VRSplat⭐57
- **论文**"VRSplat: Fast and Robust Gaussian Splatting for Virtual Reality"
- 专门优化 VR 渲染的学术方案,解决了 VR 中的高斯球渲染痛点
---
## 四、VR 眼镜选型
### 根据 3DGS 渲染需求分类
3DGS 渲染对 GPU 要求极高(百万级高斯球实时排序+渲染),需要区分两种使用模式:
**A. PC VR 模式(推荐)**VR 眼镜连接 PC由 PC GPU 负责渲染
**B. 独立 VR 模式**VR 眼镜自带芯片渲染,性能受限
### 推荐设备
#### 🥇 方案 APC VR最佳体验
| 设备 | 价格(人民币) | 分辨率 | FOV | 连接方式 | 推荐理由 |
|------|---------------|--------|-----|---------|---------|
| **Meta Quest 3** | ¥3,500-4,000 | 2064×2208/眼 | 110° | WiFi串流/USB-C | 性价比之王WebXR+PC串流都支持 |
| **Meta Quest 3S** | ¥2,200-2,800 | 1832×1920/眼 | 96° | WiFi串流/USB-C | 预算有限首选3 的降配版 |
| **Pico 4 Ultra** | ¥3,500-4,000 | 2160×2160/眼 | 105° | WiFi串流/USB-C | 国行首选,售后好,国内生态完善 |
| **Pico 4** | ¥1,800-2,500 | 2160×2160/眼 | 105° | WiFi串流/USB-C | 性价比之选 |
| **Valve Index** | ¥6,000+ | 1440×1600/眼 | 130° | DP直连 | FOV最大刷新率144Hz |
| **HTC Vive Pro 2** | ¥7,000+ | 2448×2448/眼 | 120° | DP直连 | 分辨率最高,专业级 |
| **Bigscreen Beyond 2** | ¥7,000+ | 2560×2560/眼 | 110° | DP直连 | 超轻(仅127g)Micro OLED极致画质 |
**PC VR 的关键**GPU 决定体验,建议:
- **最低**RTX 3060 TiVR 模式约 26 FPS可接受但不算流畅
- **推荐**RTX 4070 Super 以上(流畅体验 60+ FPS
- **理想**RTX 4080/4090大场景也能流畅
#### 🥈 方案 B独立 VR便捷但性能受限
| 设备 | 价格 | 芯片 | 分辨率 | 3DGS 能力 | 备注 |
|------|------|------|--------|-----------|------|
| **Meta Quest 3** | ¥3,500 | Snapdragon XR2 Gen 2 | 2064×2208/眼 | ⚠️ 仅小场景 | 浏览器 WebXR 运行 PlayCanvas |
| **Meta Quest 3S** | ¥2,200 | Snapdragon XR2 Gen 2 | 1832×1920/眼 | ⚠️ 仅小场景 | 同上 |
| **Apple Vision Pro** | ¥25,000+ | M2 + R1 | 3660×3200/眼 | ✅ 较好 | Safari WebXR芯片性能强 |
| **Pico 4 Ultra** | ¥3,500 | Snapdragon XR2 Gen 2 | 2160×2160/眼 | ⚠️ 仅小场景 | 国行,浏览器支持 WebXR |
**独立模式的限制**
- 移动端 GPU 性能仅为 PC 的 1/10~1/5
- 3DGS 场景必须大幅压缩(减少高斯球数量到数十万级)
- 只能通过 WebXR 浏览器方案PlayCanvas
- 大场景基本无法流畅运行
#### 🥉 方案 C混合模式Quest 串流 PC
这是**性价比最优方案**
1. 购买 Meta Quest 3 / Pico 4 Ultra
2. 独立使用时通过浏览器 WebXR 查看小场景
3. 连接 PC 时通过 Steam Link / Air Link / Virtual Desktop 使用 RSR 等原生方案
**一台设备,两种模式,兼顾便携和性能。**
### 最终推荐
| 需求 | 推荐设备 | 理由 |
|------|---------|------|
| 💰 **预算优先** | Meta Quest 3S + PC | ¥2,200 起步PC 串流体验完整 |
| ⚖️ **性价比最优** | **Meta Quest 3 + PCRTX 4070+** | ¥3,500独立+PC双模式 |
| 🇨🇳 **国内首选** | **Pico 4 Ultra + PC** | 国行保修,国内售后完善 |
| 🎯 **专业级** | Bigscreen Beyond 2 + PCRTX 4090 | Micro OLED 极致画质 |
| 🍎 **苹果生态** | Apple Vision Pro | 25K+M2 芯片性能强,但贵 |
---
## 五、完整工作流
```
拍照/录像 → 训练3DGS模型 → SuperSplat编辑优化 → VR显示
↓ ↓ ↓ ↓
手机/相机 gaussian-splatting superspl.at/editor ↓
Polycam gsplat/nerfstudio 裁剪/压缩/清理 ↓
Luma AI ↓ ↓
导出 PLY/SOG ↓
┌─────────┴──────────┐
↓ ↓
WebXR方案 原生方案
(PlayCanvas) (RSR/Unity)
↓ ↓
Quest浏览器 PC + OpenXR
(独立模式) (PC VR模式)
```
---
## 六、关键参考链接
### 工具
- SuperSplat Editor: https://superspl.at/editor
- PlayCanvas Engine: https://playcanvas.com
- RSR (Rapid Splat Renderer): https://github.com/warpgatelabs/RSR
- Unity VR Viewer: https://github.com/clarte53/GaussianSplattingVRViewerUnity
- VRSplat: https://github.com/Cekavis/VRSplat
- Splatapult (C++ OpenGL): https://github.com/hyperlogic/splatapult
### 3DGS 训练
- 原始实现: https://github.com/graphdeco-inria/gaussian-splatting
- gsplat (CUDA 加速): https://github.com/nerfstudio-project/gsplat
- Nerfstudio: https://github.com/nerfstudio-project/nerfstudio
### 数据来源
- Polycam (拍照生成3DGS): https://poly.cam/gaussian-splatting/
- Luma AI: https://lumalabs.ai
### 文档
- PlayCanvas Gaussian Splatting: https://developer.playcanvas.com/user-manual/gaussian-splatting/
- PlayCanvas XR: https://developer.playcanvas.com/user-manual/xr/
- SuperSplat User Guide: https://developer.playcanvas.com/user-manual/gaussian-splatting/editing/supersplat/
---
## 七、总结建议
1. **如果你有 PCRTX 4070+**:买 Meta Quest 3 或 Pico 4 Ultra用 RSR 渲染,体验最佳
2. **如果只有笔记本**Quest 3S 最低预算入门,通过 Steam Link 连笔记本
3. **如果要给客户展示**SuperSplat 编辑优化 → PlayCanvas WebXR 发布 → 发链接即可在 Quest 浏览器打开
4. **3DGS 数据必须优化**:原始 PLY 文件太大,用 SuperSplat 裁剪+压缩后再用于 VR