Решение проблемы совместимости: от PLY к 3D Tiles
Разработчик WilliamLiu-1997 представил инструмент 3DGS-PLY-3DTiles-Converter, который решает критическую задачу интеграции 3D-гауссовых сплэтов (Gaussian Splatting) в веб-платформы. Утилита конвертирует PLY-файлы (форматы GraphDECO или KHR-native) в структуру 3D Tiles с контентом, сжатым по стандарту SPZ (GLB). Это позволяет использовать результаты 3D-реконструкции в таких движках, как CesiumJS, без необходимости ручного преобразования данных.
Ключевые возможности и метрики
Инструмент предлагает гибкие сценарии использования: от полной конвертации в тайловую структуру до упрощения (simplification) исходных данных. Поддерживается работа через CLI, Node.js API и браузерные Web Workers. Важной особенностью является поддержка экспериментального расширения EXT_splat_opacity (версия 2), которое сохраняет данные об прозрачности и соотношении формы сплэтов, позволяя вьюерам корректно рендерить результаты без итеративного восстановления размеров.
Основные параметры конвертации и упрощения:
| Параметр / Команда | Описание и значение по умолчанию | Применение |
|---|---|---|
--sh (Spherical Harmonics) |
0, 1, 2 или 3 (по умолчанию: авто/сохранение) | Ограничивает степень сферических гармоник, снижая объем данных |
--opacity-filter |
0.05 (по умолчанию) | Отбрасывает слишком прозрачные сплэты; 0 отключает фильтрацию |
--max-leaf-limit |
50 000 (по умолчанию) | Максимальное количество сплэтов в самом глубоком уровне тайла |
simplify --target-count |
Не задано (обязательно для указания) | Целевое количество сплэтов для упрощения PLY-файла |
coverage-boost-scale |
0.75 (по умолчанию) | Коэффициент покрытия для упрощенных сплэтов |
Техническая реализация и API
Инструмент требует Node.js 18+ и устанавливается через npm. В режиме браузера конвертация происходит локально в Web Worker, что исключает необходимость загрузки тяжелых файлов на сервер. Браузерная версия возвращает результат в виде ZIP Blob (содержащий tileset.json, сжатые GLB-тайлы и метаданные) или бинарный PLY при упрощении.
Конвертер автоматически анализирует заголовки PLY-файлов для определения системы координат (геопросторственные данные или стандартная база GraphDECO/COLMAP). Результат включает файл build_summary.json с метаданными, временными метками и информацией о примененных трансформациях (например, ENU-трансформация для геопространственных данных).
Почему это важно
До появления таких инструментов интеграция Gaussian Splatting в веб-геоплатформы требовала сложных кастомных пайплайнов. Данный конвертер стандартизирует процесс, обеспечивая совместимость с расширениями KHR_gaussian_splatting и KHR_gaussian_splatting_compression_spz_2. Это открывает путь к высокопроизводительному рендерингу сложных 3D-сцен в браузере с поддержкой детализации (LOD) и оптимизации памяти.
Источник: Github ↗
