blog.playcanvas.com

Как превратить фотореалистичный Gaussian Splat в играбельный браузерный шутер

Это один из самых изящных примеров работы с 3D-сканами за последнее время. Технология Gaussian Splatting выдает отличную фотореалистичную картинку, но для движка это просто облако цветных точек. В нем нет полигонов, коллизий, навигационных сеток и источников света. Если просто бросить туда персонажа, он провалится сквозь пол и будет выглядеть инородно из-за разницы в освещении.

Разработчики из PlayCanvas собрали из сырого скана полноценный браузерный шутер с ботами. Главный инструмент здесь — открытая утилита splat-transform. Она разбивает тяжелую сцену на стриминговые LOD-чанки для быстрой загрузки и генерирует физическую модель. Один флаг вокселизирует облако точек и выдает готовый сетчатый коллайдер. После этого пули начинают сталкиваться со стенами, а у NPC появляется плотная поверхность для ходьбы.

Самая элегантная часть проекта — интеграция освещения. Свет уже запечен в сами гауссианы, поэтому динамические PBR-объекты вроде оружия сильно выбиваются из окружения. Автор написал скрипт, который расставляет виртуальные зонды по сетке. Каждый зонд рендерит кубмапу, вычисляет среднюю яркость точки и собирает данные в легкий JSON-файл на 40 килобайт. В рантайме игра просто читает эти значения без тяжелых вычислений. Заходишь в темный коридор — ствол автомата реалистично темнеет! Весь исходный код открыт и доступен для форка.

Поделиться:

Telegram

Ещё из архива

Все публикации