Voltar

Editor de planetas 3D

Um editor de planetas 3D no navegador que prioriza o uso offline: comece com nove mundos ou um mapa personalizado, esculpa o relevo, ajuste nuvens, atmosfera e luz solar, coloque na esfera objetos GLB gerados com Tripo e depois exporte arquivos PNG, GLB ou de projeto.

Autor: Jared LiuCódigo-fonte
Experimente ao vivo
Editor de planetas 3DExperimente ao vivo

Sobre este projeto

Planet Maker é um editor de planetas 3D no navegador que prioriza o uso offline: escolha um dos nove mundos, de Mercúrio à Lua, ou envie seu próprio mapa 2:1 para iniciar um planeta; esculpa o relevo, ajuste nuvens e atmosfera, direcione o sol e depois posicione objetos 3D, marcadores e texto em billboard na esfera. Tudo fica automaticamente orientado pela superfície curva.

Vinte modelos CC0 leves vêm incluídos, além de um acesso integrado à criação com Tripo: gere um modelo personalizado no Tripo, envie o GLB e clique na esfera para posicioná-lo. Tudo permanece no navegador (sem conta nem backend); os mundos concluídos podem ser exportados como capturas PNG, cenas GLB ou projetos .planet.json reeditáveis. Depois de instalar como PWA e baixar a biblioteca offline, você pode continuar criando sem conexão.

Destaques

  1. Comece com nove mundos — de Mercúrio à Lua — ou envie qualquer imagem, recortada localmente como um mapa de superfície equiretangular 2:1
  2. Relevo da superfície, rugosidade, nuvens, atmosfera, rotação automática e direção do sol podem ser ajustados por controles deslizantes
  3. Vinte modelos CC0 integrados; gere um modelo personalizado com Tripo, envie o GLB e clique na esfera para posicioná-lo, sempre alinhado à superfície
  4. Exporte com um clique uma captura PNG, uma cena GLB ou um projeto .planet.json que pode ser reeditado; instale como PWA e continue criando totalmente offline

Análise técnica

  • Pipeline de objetos GLB · saída do Tripo diretamente na esfera

    O painel Objetos inclui um acesso integrado à criação com Tripo: gere um modelo personalizado no Tripo, envie o GLB e ele simplesmente funciona. Cada GLB, incluindo os 20 recursos CC0 fornecidos, é primeiro normalizado por sua caixa delimitadora Box3: centralizado, ancorado pela base na origem e dimensionado uniformemente pela aresta mais longa. No posicionamento, coordenadas esféricas são convertidas em posição e quatérnio, de modo que um clique assenta o objeto rente ao solo em qualquer latitude.

  • Renderização do planeta · uma textura, materiais físicos

    O planeta inteiro usa um único mapa 2:1: meshPhysicalMaterial o utiliza como mapa de cor e de relevo (bumpScale é o controle deslizante do relevo). As nuvens ficam em uma camada separada com alphaMap (Vênus recebe um caso especial opaco), a atmosfera é uma camada luminosa aditiva com BackSide e Saturno acrescenta uma ringGeometry; o azimute e a elevação do sol controlam a luz direcional, e as sombras acompanham.

  • Superfícies personalizadas · processamento totalmente local

    As imagens enviadas nunca passam por um servidor: createImageBitmap lê o arquivo, recorta-o pelo centro para 2:1, limita a largura a 2048px e depois canvas codifica um webp no localStorage. Os GLBs personalizados enviados usam objectURL na memória e são deliberadamente excluídos do JSON do projeto. Sem conta nem backend: os projetos ficam nos dados do navegador.

    Canvas API
  • Desempenho e uso offline · renderização sob demanda + PWA

    O frameloop roda apenas quando necessário: ao desligar a rotação automática, passa para o modo demand; ao ocultar a aba, para completamente, com redução automática do dpr sob carga. vite-plugin-pwa armazena previamente no cache a estrutura do app e os recursos iniciais, enquanto «Baixar biblioteca offline», no painel Exportar, coloca em cache todos os nove planetas e vinte modelos — a criação continua mesmo sem conexão.