Shramko SOG LOD Converter
ENESPLRU

Гигантский PLY со сплатами → Streamed SOG с настоящими LOD для SuperSplat

Этот бесплатный инструмент превращает PLY 3D Gaussian Splatting любого размера в архив Streamed SOG с уровнями детализации (LOD) и сжатием SOG, готовый к загрузке на superspl.at. Он работает целиком в вашем браузере, на вашем собственном GPU и CPU: файл никуда не загружается, а устанавливать ничего не нужно.

Конвертер

1

Выберите PLY

Перетащите сюда файл .ply

Файл остаётся на вашем компьютере — он читается локально и никуда не отправляется.

2

Настройки

Выберите тип сцены — пресет настроит уровни и чанки стриминга под то, как её будут смотреть. «SuperSplat standard» — ровно то, что строит сам superspl.at. Всё можно поменять ниже.

Расширенные настройки (необязательно)
Уровни детализации

Какую долю сплатов сохраняет каждый следующий, более грубый уровень. 0.5 = деление пополам, как в SuperSplat.

Новый уровень не строится, если в уровне уже столько сплатов или меньше. SuperSplat использует 1 000 000, чтобы первый вид уложился в бюджет даже телефона.

0 = автоматически (до 16).

Как строятся более грубые уровни: соседние сплаты сливаются в один.

Качество и размер

Цвет, зависящий от угла обзора. Меньше полос — меньше архив. SuperSplat их сохраняет.

Важно только при числе полос SH > 0. Больше — чище цвет, но медленнее. По умолчанию 10.

Сколько усилий тратить на сжатие WebP без потерь, 0–9. Выше — файл чуть меньше, но медленнее.

Рекомендуется. Битые значения остановят запись LOD.

Чанки для стриминга

Как сцена режется на части для потоковой загрузки. SuperSplat использует 512 / 16 / 8. Для очень протяжённых сцен больший размер даёт меньше чанков, но каждый крупнее.

Производительность

Браузеры дают одной вкладке около 16 ГБ. Ставьте не больше половины RAM вашего компьютера. Меньше RAM — больше тайлов, они мельче и проходов чтения больше: медленнее, зато надёжно.

Сцена обрабатывается пространственными тайлами, которые помещаются в память. В режиме «авто» размер подбирается по настройке RAM.

Упрощение примерно в 4 раза быстрее. Отключайте, только если GPU вызывает ошибки.

Параллельные кодировщики WebP/SOG. Авто = до 4.

3

Конвертация и сохранение

Вас спросят, куда сохранить .zip. Архив пишется прямо в этот файл по мере сборки, поэтому на диске нужно свободное место — примерно 10% от размера PLY.

Как это работает

  1. Уровни планируются как в SuperSplat

    Заголовок PLY читается за доли секунды. Инструмент планирует уровни детализации так же, как superspl.at на своих серверах: каждый уровень сохраняет половину предыдущего, пока в самом грубом не останется не более 1 млн сплатов. Для скана из 259 млн сплатов это 10 уровней.

  2. Сцена режется на тайлы, которые помещаются в память

    Вкладка браузера вмещает около 16 ГБ, а один массив не может быть больше 2 ГБ. Поэтому сцена делится на пространственные тайлы под тот объём RAM, который вы разрешили; тайлы загружаются за несколько последовательных проходов по файлу. Так сотни миллионов сплатов помещаются в одну вкладку.

  3. Упрощение и сжатие — на вашем железе

    Для каждого тайла splat-transform (PlayCanvas, MIT) сливает соседние сплаты и строит каждый следующий, более грубый уровень — на вашем GPU через WebGPU, — а затем сжимает каждый чанк в SOG: квантованные позиции, повороты и цвета в текстурах WebP без потерь.

  4. Один архив — и его проверка

    Все чанки потоком пишутся в один архив ZIP64 на вашем диске, с lod-meta.json в корне — ровно в той структуре, которую принимает superspl.at. В конце инструмент читает архив обратно и проверяет каждый уровень, чанк и файл, прежде чем сообщить о готовности.

Почему настоящие LOD важны (и какую ошибку они исправляют)

Streamed SOG с одним уровнем — это просто сцена в полной детализации, нарезанная на чанки: просмотрщику всё равно приходится грузить полную детализацию везде, куда он смотрит, и первый кадр ждёт её. С настоящими уровнями SuperSplat за секунды показывает самый грубый уровень и подгружает более детальные только рядом с камерой, укладываясь в свой бюджет 1–4 млн сплатов на любом устройстве.

У многих архивов, собранных вручную, именно эта проблема: они нарезаны на чанки, но уровень в них один, и показать что-то более грубое нечего. Этот конвертер всегда строит всю пирамиду уровней, а финальная проверка отклоняет архив с одним уровнем для любой сцены больше 1 млн сплатов.

Сравнение с альтернативами

По состоянию на 2 октября 2026 года.

Этот конвертерЗагрузка на superspl.at (Auto LODs)superspl.at/convertsplat-transform CLI
Макс. размер входаЖёсткого лимита нет — тайлы вмещают любой размер; проверено на 259 млн сплатов / 17,6 ГБ10 ГБ на одну загрузкуСколько поместится в одну вкладкуОбъём вашей RAM
Уровни детализацииДа — деление пополам до ≤ 1 млн, как в SuperSplatДа (на их серверах)Не умеет выводить Streamed SOGДа — два ручных шага на каждый уровень
Где работаетВ вашем браузере (ваши GPU + CPU)На их серверах (после загрузки)В вашем браузереНа вашем компьютере
УстановкаНе нужнаНе нужнаНе нужнаNode.js 22 + npm
Проверка результатаЧитает архив обратно: уровни, чанки, файлы—Таблица статистики--info по папке

Что работает, что в работе, что дальше

Работает

  • Полный прогон на скане города 259 млн сплатов / 17,6 ГБ: 10 уровней, 5,9 ГБ, 1 ч 53 мин, проверено
  • Бинарный PLY (little/big-endian, SH 0–3) → Streamed SOG .zip с уровнями LOD и сжатием SOG
  • Пресеты сцен: SuperSplat standard, город с дрона, улицы, интерьеры, объекты и лёгкий для телефонов и VR
  • Сцены, которые намного больше памяти одной вкладки, — за счёт пространственных тайлов
  • Архивы ZIP64 больше 4 ГБ
  • Ускорение через WebGPU (Chrome, Edge)
  • Проверка готового архива повторным чтением
  • Прогресс в реальном времени, показ ошибок и отчёты об ошибках

В работе

  • Загрузка тестового скана на 259 млн сплатов на superspl.at

Дальше

  • Продолжение после сбоя или закрытой вкладки
  • Необязательная прямая загрузка в SuperSplat с вашим API-токеном
  • Отдельный слой неба / окружения
  • Поддержка сжатого PLY и SPZ на входе

Ограничения и риски — прочитайте перед большим прогоном

Вопросы и ответы

Как загрузить в SuperSplat PLY больше 10 ГБ?

superspl.at принимает не больше 10 ГБ за одну загрузку. Сконвертируйте PLY здесь в Streamed SOG .zip — обычно это 5–10% от размера PLY — и загрузите этот .zip на superspl.at → Upload. Уровни детализации уже лежат в архиве, поэтому SuperSplat публикует его как есть.

Что такое Streamed SOG (SSOG) и lod-meta.json?

Streamed SOG — потоковый формат PlayCanvas для больших сцен из гауссовых сплатов: индекс lod-meta.json с пространственным деревом плюс множество небольших чанков SOG (meta.json + текстуры WebP), каждый из которых хранит один уровень детализации одной области. Просмотрщик скачивает только те чанки и уровни, которые ему нужны.

Почему в моём Streamed SOG нет уровней детализации?

Потому что он собран из одного PLY без прореженных уровней: в таком случае splat-transform пишет один уровень, нарезанный на чанки. Для настоящих LOD более грубые уровни нужно сгенерировать (проредить) и разметить. Этот инструмент делает это автоматически; проверьте «lodLevels» в lod-meta.json — значение должно быть больше 1.

Мой скан куда-нибудь загружается?

Нет. Файл читает ваш браузер, а обрабатывается он на вашем компьютере. Сервер только отдаёт эту страницу. Если вы разрешите, отчёт об ошибке отправит технические подробности (браузер, GPU, настройки, текст ошибки) — но никогда не сам файл и не его имя.

Какой нужен браузер и какое железо?

Chrome или Edge на компьютере с WebGPU (подойдёт любой современный GPU NVIDIA, AMD, Intel или Apple). С 16 ГБ RAM и больше работать комфортно; при 8 ГБ поставьте «Объём RAM» на 4 ГБ. Инструмент работает и без GPU, примерно в четыре раза медленнее.

Сколько времени это занимает и какого размера будет результат?

Замер на рабочей станции с RTX 4090: 259 млн сплатов (17,6 ГБ) за 1 ч 53 мин — около 45 минут на 100 млн сплатов; ноутбук или работа без GPU — в разы дольше. Архив — около 12 байт на сплат по всем уровням для сканов без сферических гармоник: 5,9 ГБ для этих 259 млн (10 уровней, 977 чанков).

Сколько уровней LOD создаётся и почему?

Каждый уровень сохраняет половину предыдущего, пока в уровне не останется не более 1 млн сплатов: 1 + ⌈log₂(N / 1M)⌉ уровней — по тому же правилу superspl.at строит LOD сам. Самый грубый уровень укладывается в минимальный бюджет просмотрщика, поэтому первый кадр быстро появляется даже на телефонах и VR-шлемах.

Можно ли использовать архив вне SuperSplat?

Да. Это стандартный Streamed SOG: распакуйте его и загрузите lod-meta.json через LOD-стриминг гауссовых сплатов в движке PlayCanvas или прочитайте его обратно с помощью splat-transform.

Это бесплатно и с открытым кодом? Можно развернуть у себя?

Да — бесплатно, под лицензией MIT, на базе PlayCanvas splat-transform (MIT). Код и конфигурация для Docker лежат на GitHub: AndriiShramko/shramko-sog-lod-converter.

Какой пресет выбрать?

Город или местность, снятые дроном, — «Город с дрона». Прогулка на уровне улицы — «Улицы с уровня глаз». Внутри зданий — «Комнаты и интерьеры». Один объект — «Объект / небольшой скан». Если сцена должна плавно открываться на телефонах и VR-шлемах — «Лёгкий». «SuperSplat standard» повторяет ровно то, что строит сам superspl.at. Страница показывает, насколько тяжёл первый кадр при каждом выборе.

Для вашего ИИ-агента

Работаете с ИИ-агентом для программирования? Вставьте ему этот текст — и он будет знать, как готовить сканы для SuperSplat.

Задача: подготовить большой PLY 3D Gaussian Splatting для superspl.at (лимит — 10 ГБ на одну загрузку).
Используй https://sog.flyreelstudio.eu (работает в браузере, ничего не загружается на сервер) или открытый репозиторий https://github.com/AndriiShramko/shramko-sog-lod-converter.
Результат: Streamed SOG .zip с lod-meta.json в корне и настоящими уровнями LOD (каждый уровень = половина предыдущего, пока не останется <= 1M сплатов).
Перед загрузкой проверь: lodLevels > 1, число сплатов от уровня к уровню убывает, каждый файл из filenames существует (запусти tools/verify-zip.ts из репозитория).
Затем загрузи .zip на https://superspl.at → Upload.

Кто это сделал и как работать вместе

Andrii Shramko

Andrii Shramko

3D/4D Gaussian Splatting · съёмка дронами и 360° · VR · Быдгощ, Польша

Я Андрей Шрамко (Andrii Shramko) — снимаю дронами целые города и здания в виде 3D-гауссовых сплатов и делаю для них инструменты. Я написал этот конвертер, потому что мои собственные сканы (250+ млн сплатов) не пролезали в загрузку SuperSplat, а существующие инструменты не строили настоящие LOD.

Открыт к знакомству с интересными людьми и готов помогать командам с амбициозными проектами — сканирование, пайплайны для сплатов, просмотрщики, VR, партнёрство, лицензирование или финансирование.

Напишите мне

Конфиденциальность

Ответственный за обработку данных: Andrii Shramko, Быдгощ, Польша — zmei116@gmail.com. Ваши PLY-файлы никогда не покидают ваш компьютер. Сервер хранит только то, что вы отправляете намеренно: отзывы и сообщения о сотрудничестве (с контактом, если вы его укажете) и, если вы разрешите, анонимные отчёты об ошибках (браузер, GPU, настройки, этап конвертации, текст ошибки — без файла и без имени файла).

Счётчики посещений ведутся без cookie и без IP-адресов. Google Analytics загружается только после того, как вы согласитесь на это в баннере. Сообщения и отчёты хранятся до 12 месяцев и используются только для ответа и исправления инструмента.

В любой момент вы можете запросить копию или удаление своих данных: напишите на zmei116@gmail.com.

Обратная связь

Отправляются: версия страницы, браузер, GPU, экран, ваши настройки, последние ошибки и лог конвертации. Больше ничего: ни файлов, ни имён файлов, ни cookie.