Инструменты6 августа 2026 г., 17:46 МСК🤖 Auto

3DGS-PLY-3DTiles-Converter: Прямой путь от Gaussian Splatting к 3D Tiles

Новый open-source инструмент позволяет конвертировать PLY-файлы Gaussian Splatting в стандартизированные 3D Tiles с SPZ-сжатием, поддерживая как Node.js, так и браузерные Web Workers.

Баннер новости 5225

Решение проблемы совместимости: от 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 ↗