Назад

Редактор 3D-планет

Браузерный редактор 3D-планет с приоритетом автономной работы: начните с одного из девяти миров или собственной карты, сформируйте рельеф, настройте облака, атмосферу и солнечный свет, разместите на сфере GLB-объекты, созданные с помощью Tripo, а затем экспортируйте PNG, GLB или файл проекта.

Автор: Jared LiuИсходный код
Попробовать онлайн
Редактор 3D-планетПопробовать онлайн

О проекте

Planet Maker — браузерный редактор 3D-планет с приоритетом автономной работы. Выберите один из девяти миров, от Меркурия до Луны, или загрузите собственную карту 2:1, чтобы создать новую планету; сформируйте рельеф, настройте облака и атмосферу, направьте солнце, а затем разместите на сфере 3D-объекты, метки и текстовые билборды. Все элементы автоматически ориентируются по кривизне поверхности.

В комплект входят двадцать облегчённых моделей CC0 и встроенный переход к созданию в Tripo: создайте собственную модель в Tripo, загрузите GLB и щёлкните по сфере для размещения. Все данные остаются в браузере — без аккаунта и бэкенда. Готовые миры экспортируются как снимки PNG, сцены GLB или редактируемые проекты .planet.json. После установки в качестве PWA и загрузки автономной библиотеки можно продолжать работу без подключения.

Ключевые моменты

  1. Начните с одного из девяти миров — от Меркурия до Луны — или загрузите любое изображение: оно локально обрезается до эквидистантной цилиндрической карты поверхности 2:1
  2. Рельеф поверхности, шероховатость, облака, атмосферу, автовращение и направление солнца можно настраивать ползунками
  3. Встроено двадцать моделей CC0; создайте собственную модель с помощью Tripo, загрузите GLB и щёлкните по сфере, чтобы разместить объект — он всегда будет ориентирован вплотную к поверхности
  4. Одним щелчком экспортируйте снимок PNG, сцену GLB или редактируемый проект .planet.json; установите приложение как PWA и продолжайте работать полностью автономно

Технический разбор

  • Конвейер GLB-объектов · результат Tripo прямо на сфере

    В панели объектов есть встроенный переход к созданию в Tripo: создайте собственную модель в Tripo, загрузите GLB — и она сразу готова к работе. Каждый GLB, включая 20 комплектных ассетов CC0, сначала нормализуется по ограничивающей рамке Box3: центрируется, основанием привязывается к началу координат и равномерно масштабируется по самой длинной стороне. При размещении сферические координаты преобразуются в позицию и кватернион, поэтому одного щелчка достаточно, чтобы поставить объект вплотную к поверхности на любой широте.

  • Рендеринг планеты · одна текстура и физические материалы

    Вся планета использует одну карту 2:1: meshPhysicalMaterial применяет её одновременно как карту цвета и карту рельефа (bumpScale — ползунок рельефа). Облака находятся на отдельной оболочке с alphaMap (для Венеры предусмотрен особый непрозрачный вариант), атмосфера представляет собой аддитивную светящуюся оболочку BackSide, а у Сатурна добавляется ringGeometry; азимут и высота солнца управляют направленным светом, за которым следуют тени.

  • Собственные поверхности · полностью локальная обработка

    Загруженные изображения никогда не попадают на сервер: createImageBitmap читает файл, обрезает его по центру до 2:1 и ограничивает ширину до 2048px, после чего canvas кодирует webp в localStorage. Загруженные пользовательские GLB используют objectURL в памяти и намеренно не включаются в JSON проекта. Ни аккаунта, ни бэкенда: проекты хранятся вместе с данными браузера.

    Canvas API
  • Производительность и автономная работа · рендеринг по требованию + PWA

    frameloop работает только при необходимости: после отключения автовращения переходит в режим demand, при скрытии вкладки полностью останавливается, а под нагрузкой автоматически снижает dpr. vite-plugin-pwa заранее кэширует оболочку приложения и начальные ассеты, а команда «Скачать автономную библиотеку» в панели экспорта помещает в кэш все девять планет и двадцать моделей — создавать планеты можно и без подключения.