Splat File Formats
PlayCanvas supports four formats for 3D Gaussian Splat data:
PLY Format - Source & Interchange
The industry standard for Gaussian splat data. Uncompressed, full precision, and universally compatible.
- Use for: Training, editing, archival storage
- File size: Large (anything up to several GB)
- Quality: Lossless
SOG Format - Runtime & Delivery
Compressed format optimized for web delivery. 15-20× smaller than PLY with lossy compression.
- Use for: Web apps, real-time rendering, CDN delivery
- File size: Small (compressed)
- Quality: Visually optimized
Streamed SOG Format - Large-Scene Streaming
SOG chunks organized into a spatial tree with multiple levels of detail. Viewers stream in only the chunks and detail levels needed for the current camera.
- Use for: Very large scenes (tens of millions of Gaussians), progressive loading
- File size: Small per chunk, loaded on demand
- Quality: Visually optimized, view-dependent detail
GLB Format - Standards-Based Interchange
Binary glTF with the Khronos KHR_gaussian_splatting extension. Splats travel through standard glTF pipelines and can be combined with regular mesh content.
- Use for: Interoperability, standard glTF tooling and pipelines
- File size: Large (uncompressed, similar to PLY)
- Quality: Lossless
Quick Comparison
| PLY | SOG | Streamed SOG | GLB | |
|---|---|---|---|---|
| Size | Large | Small (15-20× compression) | Small (SOG chunks, loaded on demand) | Large |
| Quality | Lossless | Lossy | Lossy, view-dependent detail | Lossless |
| Use | Source/editing | Runtime/delivery | Very large scenes | glTF interchange |
| Speed | Slow loading | Fast loading | Progressive streaming | Fast loading |
Workflow
- Train and edit with PLY
- Convert to SOG for production using SplatTransform
- For very large scenes, convert to Streamed SOG instead
- Use GLB when splats need to flow through standard glTF pipelines
- Deploy for optimal performance