РуководствоStefan VaskevichStefan Vaskevich

3D-гауссовы сплаты в Unreal Engine 5: создавайте миры и объекты бесплатно

Бесплатный локальный стек 3DGS для Unreal Engine 5: плагин для рендеринга сплатов, CLI для добавления коллайдеров и сервисы для бесплатной генерации миров и объектов.

В 3D-гауссовом сплаттинге прямо сейчас происходит настоящая революция. Буквально за последние несколько месяцев появилась волна локальных инструментов с открытым исходным кодом, которые генерируют и объекты, и целые миры в виде сплатов — бесплатно, на собственном GPU, без сканирующих установок и без облака. И всё это наконец можно перенести прямо в Unreal Engine 5, где оно действительно рендерится и не убивает ваш FPS.

Это краткий обзор всего стека со множеством ссылок: плагин для рендеринга сплатов в UE5, CLI для их конвертации и создания коллайдеров, браузерный редактор для очистки сплатов и места, где можно бесплатно генерировать миры и объекты локально. Все ссылки собраны в списке внизу.

Новое на top3d.ai: сравнивайте сплаты, а не только меши
Мы только что добавили 3D-гауссов сплаттинг в инструмент «Сравнить» — для начала около 10 сплатов, среди которых есть и объекты, и миры, — чтобы вы могли покрутить их бок о бок прямо в браузере, прежде чем добавлять в свой проект. Попробуйте на странице сравнения 3DGS.

Посмотрите весь процесс сборки

Вся настройка и тесты от начала до конца — на YouTube.

Неоновый спорткар в стиле киберпанк, сгенерированный в виде 3D-гауссова сплата и показанный в Unreal Engine 5, с отдельным мешем коллизии под ним
Машина-сплат, добавленная в Unreal Engine 5 с помощью NanoGS, — и отдельный меш коллизии (белое пятно), чтобы вокруг неё можно было нормально ездить. Весь этот пайплайн бесплатный и локальный.

1. Рендеринг сплатов в Unreal Engine 5: плагины

Unreal Engine не поддерживает файлы сплатов (.ply, .sog) из коробки, поэтому вам понадобится плагин. Существует множество небольших экспериментальных решений; я протестировал три самых популярных, и вот честный разбор.

  • NanoGS — мой выбор на данный момент. Создан для свежих версий Unreal (5.7), проще всего устанавливается, у него больше звёзд и лучше документация на английском, он активно поддерживается. Пока работает только с .ply (SOG, надеюсь, скоро появится).
  • MLSLabs Renderer — единственный, который также поддерживает 4DGS (последовательности сплатов — анимированный или волюметрический захват). Доступен в версиях Lite (только PLY) и Pro (добавляет сжатый формат SOG), но Pro сейчас годится только для тестов и ставит водяной знак во вьюпорте. Хотя на странице GitHub указана версия 5.5, в релизах на Google Drive есть сборка для 5.7.
  • XScene (XVerse) — один из первых, но он поддерживает версии только до Unreal Engine 5.5, поэтому для новых проектов на 5.7/5.8 я его не использую.
Страница MLSLabs Gaussian Splatting Renderer на GitHub с информацией о поддержке 3DGS и 4DGS, лицензии Apache 2.0 и со сплатом сцены с храмом
MLSLabs стоит брать, если вам нужен 4DGS. Для всего остального проще выбрать NanoGS: закиньте плагин в папку Plugins вашего проекта, перезапустите, включите его и импортируйте любой .ply как актор Gaussian Splat.
Кратко об установке NanoGS
Скачайте подходящий релиз (например, NanoGS UE5.7), создайте в своём проекте папку Plugins (с заглавной P), распакуйте архив туда, перезапустите Unreal и включите NanoGS в Plugins. Затем импортируйте через Import любой файл .ply и перетащите его на сцену. MLSLabs устроен сложнее: он устанавливается в папку движка и при первом запуске подтягивает зависимости PyTorch.

2. Конвертация, добавление коллайдеров и очистка сплатов

Сплаты бывают в нескольких форматах, и Unreal переваривает лишь пару из них, поэтому вам понадобится инструмент для конвертации туда и обратно и, что ещё важнее, для создания коллизии — ведь сырой сплат представляет собой просто парящий цвет, у него нет геометрии, по которой можно ходить или ездить. Этот инструмент — splat-transform, CLI от PlayCanvas. Если у вас установлен Node.js, он ставится одной командой (ChatGPT напишет точную команду под ваш файл), при этом он и конвертирует форматы, и экспортирует меш коллайдера в виде .glb.

# install (needs Node.js)
npm install -g @playcanvas/splat-transform

# convert a raw .ply into compressed SOG
splat-transform scan.ply scan.sog

# export a collision mesh (.glb) from a splat
splat-transform car.ply car-collider.glb

Закиньте этот файл коллайдера .glb в Unreal, совместите его со сплатом, выберите для коллизии настройку Use Complex Collision As Simple, отметьте галочкой Actor Hidden In Game — и вы получите сплат, по которому можно ходить, ездить или на который можно падать. Это работает одинаково как для объектов, так и для целых миров.

Коротко о форматах
.ply — это сырой и тяжёлый формат сплатов. SOG — это сильно сжатая версия (представьте, как PLY размером ~300 MB сжимается до ~20 MB), которая стремительно становится новым стандартом. SPZ — ещё один вариант со сжатием и потоковой передачей. Конвертируйте их с помощью splat-transform в формат, который нужен вашему инструменту.

Чтобы полноценно редактировать сплат — убрать мусор, отрезать ненужные части, — проще всего использовать SuperSplat, бесплатный редактор прямо в браузере. Закиньте сплат, выделите лассо то, что нужно убрать, удалите и экспортируйте. В Blender такого пока сделать нельзя, так что для очистки это лучший выбор.

Браузерный редактор SuperSplat со сплатом клубники, где предназначенные для удаления части выделены жёлтым
SuperSplat работает в браузере: выделите лишние сплаты (жёлтым) и удалите их, чтобы очистить всё, что вы сгенерировали или скачали, перед импортом в движок.

3. Где бесплатно генерировать сплаты — миры и объекты

Готовые сплаты можно брать из библиотек вроде SuperSplat (некоторые бесплатны при условии указания авторства), но самое интересное — генерировать именно то, что нужно вам. Две открытые модели закрывают обе эти задачи, и обе можно запускать локально либо использовать их бесплатные сайты.

Миры — Hunyuan World 2.0

Hunyuan World 2.0 превращает одно изображение локации в полноценный 3D-мир в виде сплата. Модель выпущена под лицензией Apache со всем кодом и чекпоинтами (GitHub), так что мощный GPU (~24 GB VRAM) потянет её локально, либо можно просто бесплатно пользоваться сайтом. Одна генерация может занять 20 минут или больше, потому что модель заодно строит для вас аккуратный коллайдер — и это действительно приятный бонус. Платная альтернатива — Marble (World Labs), у которой тоже есть бесплатный тариф и экспорт в GLB, но модель Hunyuan показала себя ничуть не хуже, а порой и лучше.

Средневековый каменный двор, сгенерированный как сплат 3D-мира в Hunyuan World 2.0
Одно изображение на входе — целый сплат-мир на выходе. Hunyuan генерирует панораму, выстраивает вокруг неё сцену со сплатами и вдобавок создаёт для вас коллайдер. Миры всё ещё привязаны к положению камеры, поэтому чем дальше вы отходите от начальной точки, тем больше появляется артефактов.

Объекты — TripoSplat

TripoSplat — самый простой вариант для объектов: ему нужно всего ~8 GB VRAM, и он нативно поддерживается в последней версии ComfyUI — устанавливаете ComfyUI, находите шаблон TripoSplat, устанавливаете недостающие зависимости, выставляете вывод в PLY — и поехали. Генерация занимает около минуты (а демо на Hugging Face еще быстрее, если вам неохота возиться с ComfyUI). Закидываете результат в Unreal — и он уже вполне оптимизирован, если только не уходить в миллионы гауссианов.

TripoSplat работает в ComfyUI, генерируя цветок в горшке как объект 3D Gaussian Splat
TripoSplat в ComfyUI: картинка на входе, сплат-объект на выходе примерно за минуту и всего на 8 GB VRAM. Регулируйте число гауссианов, чтобы балансировать между качеством и производительностью.

Производительность: что выдерживает нагрузку

Оба плагина заявляют миллионы сплатов при 60 FPS, и на объектах и аккуратных сценах всё действительно работает плавно. Честный потолок: выше ~10 миллионов сплатов это всё ещё узкое место, потому что в Unreal пока нет формата стриминга для сплатов. Держите общее число сплатов в сцене ниже ~1 миллиона, и обычно всё будет в порядке.

Два правила, чтобы сохранить FPS
  • Контролируйте число гауссианов еще на этапе генерации. Для объекта окружения 32k сплатов могут выглядеть почти так же хорошо, как 262k, — а рендерятся они куда дешевле.
  • Разбивайте крупные объекты на части, а не создавайте один гигантский сплат-объект. Разработчик NanoGS рекомендует это, потому что один огромный сплат не будет отсекаться (скрываться за пределами экрана) и будет гораздо сильнее нагружать систему, чем те же объекты, разбитые на части.
Content Browser в Unreal Engine, заполненный сплат-объектами, сгенерированными в TripoSplat: медуза, грибы, цветы, киберпанк-автомобиль
Библиотека объектов, сгенерированных с помощью TripoSplat и импортированных в Unreal. Сплаты сами по себе статичны, но они передают фотореалистичные детали так, как не способны классические меши, — поэтому они отлично подходят для наполнения сцен.

Все ссылки

Рендер в Unreal Engine
  • NanoGS- рекомендуемый плагин для сплатов в UE5 (PLY, 5.7)
  • MLSLabs Renderer- 3DGS + 4DGS, Lite/Pro
  • XScene (XVerse)- более старый, максимум UE5.5
Обработка и редактирование
  • splat-transform- конвертация форматов + создание коллайдеров (CLI)
  • SuperSplat- бесплатный браузерный редактор сплатов
Генерация сплатов

Новые ИИ-инструменты для 3D, которые пригодятся в таких рабочих процессах, появляются постоянно. Как только они выходят, они сразу попадают в 3DGS Compare и Arena, чтобы вы могли протестировать их, прежде чем делать выбор. Подробнее о работе в движке читайте в Claude Code + Unreal Engine 5 и в руководстве splats-go-playable.

Хотите сравнить эти инструменты сами?

3D-гауссовы сплаты в Unreal Engine 5: создавайте миры и объекты бесплатно | Top 3D AI