
Демо в браузере (десктопный браузер с WebGPU)
Галактики в реальном времени, построенные с опорой на настоящую астрономию. Galaxy Constructor генерирует миллион звёзд и больше через compute-шейдеры и рисует их за один draw call. Подходит для космических игр, симуляций и роликов. С третьей версии к любой звезде можно перелететь.
- Данные с телескопов: Берётся снимок Hubble, Spitzer или WISE, из него делаются карта плотности и карта цвета, они и задают форму и цвета галактики. Можно нарисовать свои карты и палитры и сделать вымышленную галактику.

- Настройка на лету: Плотность, яркость и масштаб звёзд меняются в инспекторе прямо во время игры, галактика сразу пересобирается. В редакторе вне Play Mode превью работает так же. Для базовой работы не нужно писать код и настраивать шейдеры.
- Любая форма: Спираль, неправильная галактика или пара сталкивающихся — любая картинка превращается в галактику. Другой сид даёт новый вариант, с фиксированным сидом карта не меняется.
- К каждой звезде можно слетать: По клику звезда получает спектральный класс, физические параметры, имя и планетную систему с лунами, поясами астероидов и кометами. Запись сохраняется в CSV-базу и показывается на инфокарточке. Кнопка Jump переносит камеру к звезде и открывает её систему.
Что нового в версии 2.0
- Выбор звезды кликом мыши или тапом
- Процедурные данные звезды: спектральный класс и класс светимости, температура, светимость, радиус, масса, возраст, металличность
- Старое и молодое звёздное население распределено по положению: в балдже и гало больше старых звёзд, в диске больше молодых
- Каталожные имена по секторам галактики и собственные имена для ярких гигантов
- Планетные системы собираются из своих ассетов Body Type и префабов
- CSV-база посещённых звёзд
- Инфокарточка на UI Toolkit, перелёт камеры и демо-вид звёздной системы
- Ассет Galaxy Settings: одна галактика в одном файле, меняется из инспектора или скриптом
- Near Rays: дифракционные лучи, как от объектива, на ярких звёздах рядом с камерой

Данные совпадают с картинкой
Параметры звезды соответствуют тому, что видит игрок. Синие области карты цвета дают горячие звёзды, красные и оранжевые — холодные, а крупная яркая звезда скорее окажется гигантом. Вместе с обычными звёздами попадаются коричневые и белые карлики, нейтронные звёзды и чёрные дыры, все вероятности настраиваются.

Детерминированность
Один и тот же ассет Galaxy Settings при каждом запуске даёт те же звёзды, имена и планеты. У каждой системы и каждого тела есть свой сид под ваш контент: поверхности, ресурсы, миссии. Посещённые звёзды читаются из базы, поэтому если потом подкрутить таблицы, карта, которую игроки уже знают, не изменится.
Производительность
Звёзды — это квады, повёрнутые к камере, они читаются прямо из GPU-буфера: без GameObject'ов, без геометрического шейдера, один draw call на всю галактику. Данные звезды считаются только по клику, выбор среди 300 000 звёзд занимает 1–2 мс в билде. Поддерживаются Metal, Vulkan, мобильные устройства, консоли и VR.

В комплекте полные исходники C# и HLSL, демо-сцена и подробная документация.
Шейдеры планет есть в отдельном ассете Digital Planets
Возможности
- Генерация
- Генерация на GPU через compute: миллион звёзд и больше на десктопе, всё за один draw call
- Форма галактики задаётся двумя картами плотности (вид сверху и сбоку) и картой цвета
- Работает с реальными астрономическими снимками (Hubble, Spitzer, WISE) или с нарисованными вручную картами
- Фиксированный Galaxy Seed: одни и те же настройки дают одну и ту же галактику при каждом запуске
- Galaxy Settings как ScriptableObject: можно подготовить несколько галактик и переключать их в инспекторе или из кода
- Превью в редакторе и автоматическая перегенерация в Play Mode, пока двигаются слайдеры
- Джиттер против бандинга и хаотическое смещение убирают сетку от текселей

Рендеринг
- Звёзды — квады, повёрнутые к камере, из GPU-буфера, без GameObject'ов и геометрического шейдера
- Четыре формы звезды в зависимости от яркости: от голого ядра до ядра с ореолом и дифракционными лучами
- Один атлас звёзд 2x2 в оттенках серого, легко заменить на свой
- Детерминированный разброс размера и поворота для каждой звезды
- Минимальный размер звезды в пикселях на экране: дальние звёзды не мерцают на субпикселях
- Near Rays: лучи от объектива в экранном пространстве проявляются, когда камера подлетает к яркой звезде
- Режимы смешивания Additive (HDR + Bloom) и premultiplied Alpha
- Рисуется во всех камерах Game, Scene и VR, несколько генераторов могут использовать один материал
Взаимодействие и данные звёзд
- Выбор звезды кликом или тапом, клики по UI не проходят насквозь, перетаскивание не считается кликом
- Спектральный класс и класс светимости, температура, светимость, радиус, масса, возраст, металличность
- Молодое и старое звёздное население в зависимости от положения в галактике
- Коричневые и белые карлики, нейтронные звёзды и чёрные дыры вместе с обычными звёздами
- Каталожные имена по секторам галактики (например, «Kelsaemkrox RC V d14») и собственные имена для ярких гигантов
- Планеты, луны, пояса астероидов и кометы из ассетов Body Type: вероятность, предпочтительная орбита, диапазон размеров и префаб
- Орбиты масштабируются по светимости звезды: одни и те же правила работают и для красных карликов, и для сверхгигантов
- Сид на каждую систему и каждое тело для своего процедурного контента
- CSV-база: звёзды и тела записываются при первом посещении, потом читаются оттуда
- Инфокарточка на UI Toolkit, перелёт камеры к звезде и демо-вид звёздной системы с орбитами по Кеплеру


Инструменты и API
- Позиции и цвета звёзд доступны в C# как NativeArray для своей игровой логики
- Простой API: сменить настройки, перегенерировать, получить выбранную звезду, подписаться на SelectionChanged
- Свободная камера с управлением мышью, клавиатурой и тачем
- Незаполненные ссылки выводятся как ошибки, клик по ошибке выделяет нужный GameObject
- Полные исходники C# и HLSL
- Демо-сцена, текстуры галактик, атлас звёзд и скайбокс
- Документация: настройка, справка по скриптам, гайд по производительности с количеством звёзд для разных платформ, решение проблем
Требования
- Unity 6000.3 (Unity 6.3) или новее
- Universal Render Pipeline
- Пакет Input System
- Поддержка compute-шейдеров, Shader Model 4.5 или выше
- Для режима Additive нужна HDR-камера с Bloom

Платформы
Windows (DX11, DX12, Vulkan), macOS и iOS (Metal), Linux (Vulkan), Android (Vulkan, OpenGL ES 3.1+), PlayStation, Xbox.
WebGPU работает, в Unity 6 он пока экспериментальный. WebGL 2.0 не поддерживается, там нет compute-шейдеров.
Видео
![]()
https://www.youtube.com/watch?v=HXqexLq14pI
![]()
https://www.youtube.com/watch?v=3vPjIECUtys
Страница в Asset Store: Galaxy Constructor