Experimente 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
- Comece com nove mundos — de Mercúrio à Lua — ou envie qualquer imagem, recortada localmente como um mapa de superfície equiretangular 2:1
- Relevo da superfície, rugosidade, nuvens, atmosfera, rotação automática e direção do sol podem ser ajustados por controles deslizantes
- Vinte modelos CC0 integrados; gere um modelo personalizado com Tripo, envie o GLB e clique na esfera para posicioná-lo, sempre alinhado à superfície
- 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.
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.


