PLY gigante de splats → Streamed SOG con LOD reales, listo para SuperSplat
Esta herramienta gratuita convierte un PLY de 3D Gaussian Splatting de cualquier tamaño en un archivo Streamed SOG con niveles de detalle (LOD) y compresión SOG, listo para subir a superspl.at. Funciona íntegramente en tu navegador, con tu propia GPU y CPU: el archivo nunca se sube y no hay nada que instalar.

- No se sube nada
- Sin instalación
- Tu GPU + CPU
- LOD + compresión
- Código abierto (MIT)
Conversor
Elige tu PLY
Arrastra aquí un archivo .ply
El archivo no sale de tu equipo: se lee localmente y nunca se envía a ninguna parte.
Niveles de detalle que se generarán
| Nivel | Splats | Proporción |
|---|
Configuración
Elige el tipo de escena: cada preset ajusta los niveles y los bloques de streaming según cómo se va a ver. «SuperSplat standard» es exactamente lo que genera superspl.at. Todo sigue siendo editable abajo.
Ajustes personalizados (cambiados en Avanzado). Elige un preset para restablecerlos.
Configuración avanzada (opcional)
Convertir y guardar
Se te preguntará dónde guardar el .zip. Se escribe directamente en ese archivo a medida que se genera, así que el equipo necesita espacio libre en disco equivalente a un 10 % del tamaño del PLY, aproximadamente.
Registro técnico
Cómo funciona
Planificar los niveles como SuperSplat
La cabecera del PLY se lee en una fracción de segundo. La herramienta planifica los niveles de detalle igual que superspl.at en sus servidores: cada nivel conserva la mitad del anterior, hasta que el menos detallado tiene como máximo 1 millón de splats. Para un escaneo de 259 millones de splats, eso son 10 niveles.
Dividir la escena en teselas que quepan en memoria
Una pestaña del navegador puede usar unos 16 GB, y ningún array puede superar los 2 GB. Por eso la escena se divide en teselas espaciales dimensionadas según la RAM que permitas, y unas pocas pasadas secuenciales por el archivo cargan las teselas. Así es como cientos de millones de splats caben en una pestaña.
Simplificar y comprimir en tu hardware
En cada tesela, splat-transform (PlayCanvas, MIT) fusiona splats vecinos para crear cada nivel de menor detalle —en tu GPU, mediante WebGPU— y comprime cada bloque de streaming a SOG: posiciones, rotaciones y colores cuantizados en texturas WebP sin pérdida.
Escribir un único archivo y comprobarlo
Todos los bloques se escriben en streaming en un único archivo ZIP64 en tu disco, con lod-meta.json en la raíz: exactamente la estructura que acepta superspl.at. Al terminar, la herramienta vuelve a leer el ZIP y comprueba cada nivel, bloque y archivo antes de darlo por terminado.
Por qué importan los LOD reales (y el error que corrigen)
Un Streamed SOG con un solo nivel no es más que la escena con todo su detalle dividida en bloques: el visor sigue teniendo que descargar el detalle completo allí donde mire, y el primer fotograma tiene que esperarlo. Con niveles reales, SuperSplat muestra el nivel menos detallado en segundos y carga los niveles más finos solo cerca de la cámara, sin salirse de su presupuesto de 1 a 4 millones de splats en cualquier dispositivo.
Muchos paquetes hechos a mano tienen justo ese problema: están divididos en bloques, pero con un único nivel, así que no hay nada menos detallado que mostrar. Este conversor siempre genera la pirámide de niveles completa, y su comprobación final rechaza un ZIP de un solo nivel para cualquier escena de más de 1 millón de splats.
Comparativa
Actualizado el 2 de octubre de 2026.
| Este conversor | Subida a superspl.at (Auto LODs) | superspl.at/convert | CLI de splat-transform | |
|---|---|---|---|---|
| Entrada máxima | Sin límite fijo: las teselas se adaptan a cualquier tamaño; probado con 259 M de splats / 17.6 GB | 10 GB por subida | Lo que quepa en una pestaña | Tu RAM |
| Niveles de detalle | Sí: reducción a la mitad hasta ≤ 1 M, como SuperSplat | Sí (en sus servidores) | No genera Streamed SOG | Sí: dos pasos manuales por nivel |
| Se ejecuta en | Tu navegador (tu GPU + CPU) | Sus servidores (tras la subida) | Tu navegador | Tu PC |
| Instalación | Nada | Nada | Nada | Node.js 22 + npm |
| Verificación del resultado | Relee el ZIP: niveles, bloques, archivos | — | Tabla de estadísticas | --info sobre la carpeta |
Qué funciona, qué está en curso y qué viene después
Funciona
- Ejecución completa con un escaneo urbano de 259 millones de splats / 17.6 GB: 10 niveles, 5.9 GB, 1 h 53 min, verificado
- PLY binario (little/big-endian, SH 0–3) → .zip Streamed SOG con niveles LOD y compresión SOG
- Presets de escena: SuperSplat standard, ciudad desde un dron, calles, interiores, objetos y ligero para teléfonos y VR
- Escenas que superan con creces la memoria de una pestaña, mediante teselas espaciales
- Archivos ZIP64 de más de 4 GB
- Aceleración WebGPU (Chrome, Edge)
- Verificación del ZIP terminado mediante relectura
- Progreso en tiempo real, visualización de errores e informes de errores
En curso
- Subida del escaneo de prueba de 259 millones de splats a superspl.at
Próximamente
- Reanudar tras un fallo o una pestaña cerrada
- Subida directa opcional a SuperSplat con tu token de API
- Capa independiente de cielo / entorno
- Entrada en PLY comprimido y SPZ
Límites y riesgos: léelos antes de una conversión grande
- Usa Chrome o Edge de escritorio. Pueden guardar directamente en disco y usar WebGPU. Firefox y Safari recurren al almacenamiento del navegador, que necesita tanto espacio libre como el propio ZIP y, después, una descarga.
- Las escenas grandes tardan horas. Medido: 259 millones de splats en 1 h 53 min en una estación de trabajo con una RTX 4090 (unos 45 minutos por cada 100 millones). En un portátil o sin GPU, mucho más.
- Mantén la pestaña abierta. Si la cierras o hay un fallo, la conversión se detiene; todavía no se puede reanudar.
- Memoria: una pestaña puede usar unos 16 GB. Si tu PC tiene 16 GB o menos, ajusta «RAM a usar» a 4–6 GB.
- El ZIP ocupa aproximadamente un 5–10 % del tamaño del PLY. superspl.at acepta hasta 10 GB por subida; si una escena enorme los supera, reduce las bandas SH.
- Beta. Si algo falla, el error se muestra en la página; con tu permiso, se envía un informe anónimo para poder corregirlo.
Preguntas frecuentes
¿Cómo subo a SuperSplat un PLY de más de 10 GB?
superspl.at acepta como máximo 10 GB por subida. Convierte aquí el PLY en un .zip Streamed SOG (normalmente, un 5–10 % del tamaño del PLY) y sube ese .zip en superspl.at → Upload. El ZIP ya contiene los niveles de detalle, así que SuperSplat lo publica tal cual.
¿Qué son Streamed SOG (SSOG) y lod-meta.json?
Streamed SOG es el formato de streaming de PlayCanvas para escenas grandes de splats gaussianos: un índice lod-meta.json con un árbol espacial, más muchos bloques SOG pequeños (meta.json + texturas WebP), cada uno con un nivel de detalle de una región. El visor solo descarga los bloques y niveles que necesita.
¿Por qué mi Streamed SOG no tiene niveles de detalle?
Porque se generó a partir de un único PLY sin niveles decimados: en ese caso, splat-transform escribe un solo nivel dividido en bloques. Los LOD reales requieren generar (decimar) y etiquetar los niveles de menor detalle. Esta herramienta lo hace automáticamente; revisa «lodLevels» en lod-meta.json: debería ser mayor que 1.
¿Mi escaneo se sube a alguna parte?
No. Tu navegador lee el archivo y lo procesa en tu equipo. El servidor solo entrega esta página. Si lo permites, un informe de error envía datos técnicos (navegador, GPU, configuración, texto del error), nunca el archivo ni su nombre.
¿Qué navegador y qué hardware necesito?
Chrome o Edge de escritorio con WebGPU (cualquier GPU reciente de NVIDIA, AMD, Intel o Apple). Con 16 GB de RAM o más se trabaja con holgura; con 8 GB, ajusta «RAM a usar» a 4 GB. La herramienta también funciona sin GPU, unas cuatro veces más lenta.
¿Cuánto tarda y qué tamaño tiene el resultado?
Medido en una estación de trabajo con una RTX 4090: 259 millones de splats (17.6 GB) en 1 h 53 min, unos 45 minutos por cada 100 millones de splats; en un portátil o sin GPU tarda varias veces más. El ZIP ocupa unos 12 bytes por splat sumando todos los niveles en escaneos sin armónicos esféricos: 5.9 GB para esos 259 millones (10 niveles, 977 bloques).
¿Cuántos niveles LOD se crean y por qué?
Cada nivel conserva la mitad del anterior hasta que un nivel tiene como máximo 1 millón de splats: 1 + ⌈log₂(N / 1M)⌉ niveles, la misma política que aplica superspl.at cuando genera los LOD por su cuenta. El nivel menos detallado cabe en el presupuesto del visor más modesto, así que el primer fotograma aparece rápido también en teléfonos y cascos de realidad virtual.
¿Puedo usar el ZIP fuera de SuperSplat?
Sí. Es un Streamed SOG estándar: descomprímelo y carga lod-meta.json con el streaming de LOD de splats gaussianos del motor PlayCanvas, o vuelve a leerlo con splat-transform.
¿Es gratuito y de código abierto? ¿Puedo alojarlo yo mismo?
Sí: es gratuito, tiene licencia MIT y se basa en splat-transform de PlayCanvas (MIT). El código y una configuración de Docker están en GitHub: AndriiShramko/shramko-sog-lod-converter.
¿Qué preset elijo?
Para una ciudad o un paisaje escaneado con dron: «Ciudad desde un dron». Para recorridos a pie de calle: «Calles a la altura de los ojos». Dentro de edificios: «Habitaciones e interiores». Un solo objeto: «Objeto / escaneo pequeño». Si la escena debe abrirse con fluidez en teléfonos y visores VR: «Ligero». «SuperSplat standard» reproduce exactamente lo que genera superspl.at. La página muestra lo pesada que es la primera vista con cada opción.
Para tu agente de IA
¿Trabajas con un agente de programación con IA? Pega esto para que sepa cómo preparar escaneos para SuperSplat.
Tarea: preparar un PLY grande de 3D Gaussian Splatting para superspl.at (límite de 10 GB por subida). Usa https://sog.flyreelstudio.eu (se ejecuta en el navegador, no se sube nada) o el repositorio de código abierto https://github.com/AndriiShramko/shramko-sog-lod-converter. Resultado: un .zip Streamed SOG con lod-meta.json en la raíz y niveles LOD reales (cada nivel = la mitad del anterior, hasta <= 1M splats). Verifica antes de subir: lodLevels > 1, los recuentos disminuyen, existe cada archivo listado en filenames (ejecuta tools/verify-zip.ts del repositorio). Después, sube el .zip en https://superspl.at → Upload.
Quién está detrás y cómo colaborar
Soy Andrii Shramko: escaneo ciudades y edificios enteros como splats gaussianos 3D con drones y creo herramientas en torno a ellos. Hice este conversor porque mis propios escaneos (más de 250 millones de splats) no cabían en la subida de SuperSplat y las herramientas existentes no generaban LOD reales.
Abierto a gente interesante y dispuesto a ayudar a equipos a sacar adelante proyectos ambiciosos: escaneo, pipelines de splats, visores, realidad virtual, alianzas, licencias o financiación.
Privacidad
Responsable del tratamiento: Andrii Shramko, Bydgoszcz (Polonia), zmei116@gmail.com. Tus archivos PLY nunca salen de tu equipo. El servidor solo almacena lo que envías voluntariamente: comentarios y mensajes de colaboración (con un contacto, si lo facilitas) y, si lo permites, informes de error anónimos (navegador, GPU, configuración, fase de la conversión, texto del error; sin archivo ni nombre de archivo).
Los contadores de uso de la página funcionan sin cookies y sin direcciones IP. Google Analytics solo se carga después de que lo aceptes en el banner. Los mensajes e informes se conservan un máximo de 12 meses y solo se usan para responder y para corregir la herramienta.
Puedes solicitar una copia o la eliminación de tus datos en cualquier momento: escribe a zmei116@gmail.com.
