Решение проблемы статичности 3D-сцен
Инструмент Chronosplit закрывает критический пробел в экосистеме NeRF и Gaussian Splatting. Если большинство существующих решений позволяют просматривать только статичные захваты, Chronosplat обеспечивает полноценную навигацию по 4D-анимациям (3D пространство + время) прямо в браузере. Проект полностью статичен: не требует серверной части, плагинов или регистрации. Развернуть его можно на GitHub Pages, получив ссылку для мгновенного доступа.
Техническая архитектура и производительность
В основе плеера лежит связка Three.js и Spark. Ключевая особенность — использование формата SOG (Spherical Gaussian) для кадров. Это позволяет сохранить view-dependent response поверхностей (эффект изменения вида в зависимости от угла обзора) благодаря сохранению сферических гармоник. Для оптимизации памяти используется механизм «bounded memory window»: кадры потоково загружаются и заменяются, что предотвращает переполнение памяти при просмотре длинных последовательностей.
Инструмент конвертации и контроль качества
Помимо плеера, проект включает утилиту tools/convert.py для пакетной обработки исходных PLY-файлов. Конвертер автоматически детектирует параметры входных данных (количество кадров, FPS, количество сплатов, степень SH), что исключает ручную настройку. Важная функция — валидация всей последовательности перед кодированием: ошибка в исходнике приведет к четкому отказу, а не к созданию скрыто поврежденного файла.
| Компонент | Описание и возможности |
|---|---|
| Плеер (Player) | Three.js + Spark. Orbit/pan/zoom с сохранением состояния между кадрами. Таймлайн с play/pause/scrub/loop. Deep links для сохранения позиции камеры и кадра. |
| Конвертер (Converter) | Python-скрипт. Принимает PLY-последовательности, генерирует SOG + manifest. Поддерживает decimation кадров, reduction SH и фильтрацию opacity. |
| Требования | Node.js 22+, Python 3.10+, браузер с WebGL2. GPU опционален, но ускоряет кодирование. |
Практическое применение и лицензирование
Проект открыт под лицензией GPLv3, что обязывает распространять производные работы под той же лицензией. В качестве примеров использования представлены анимации, созданные в Houdini 22 (сцены «Cluster Fly», «capyFall», «excavator»). Разработчики подчеркивают, что Chronosplat позволяет публиковать сложные 4D-сцены, которые ранее требовали специализированного ПО для просмотра, теперь доступны любому пользователю с современным браузером.
Источник: Github ↗
