KEN’S CAT LOG

Criando a manhã, a tarde e a noite de Zagreb com o Codex 🌅🚋🌙 Da cidade no Blender a um passeio noturno em Three.js

Desta vez, criei a Praça Jelačić, em Zagreb, no Blender e capturei suas três faces: manhã, tarde e noite 🌅🚋🌙

Primeiro, algo importante! O que aparece aqui não são fotos reais, mas renderizações de uma cena 3D que criei. Também não é uma cópia digital completa do local. É uma cidade ainda em construção, baseada em fotos 360° e mapas.

Mas é bem divertido como a atmosfera muda tanto apenas ao alterar a luz, mesmo sendo a mesma cidade…! ✨

Manhã: um momento um pouco silencioso, antes de a cidade acordar 🌅

A estátua equestre e a paisagem urbana de Zagreb sob a luz quente e rasante da manhã. Renderização em CG feita no Blender.

Para a manhã, usei uma luz quente e baixa para criar sombras longas nos edifícios. O cavalo de bronze e as mesas de café ainda meio sonolentas. Uma praça sem ninguém sentado ainda dá vontade de sair para passear, não é? ☕

Isto não é uma reprodução rigorosa de “Zagreb às 6h45 daquela manhã”; é uma cena cuja iluminação foi ajustada para transmitir uma sensação matinal. O céu levemente encoberto também usa um fundo criado anteriormente com um recurso de geração de imagens.

Tarde: os bondes azuis se tornam a cor da cidade 🚋💙

Dois bondes azuis iluminados pela luz diurna de um céu nublado. Cena em CG com eles posicionados em sentidos opostos em trilhos adjacentes.

A estrela da tarde são os bondes azuis típicos de Zagreb! Criei um modelo aproximado inspirado no TMK 2200 e coloquei outro no trilho ao lado, formando uma composição com os dois voltados em sentidos opostos.

Além da carroceria, a articulação, as janelas, as portas, as rodas, os equipamentos no teto e o pantógrafo também foram feitos como elementos separados. Ainda assim, não é uma miniatura precisa seguindo os desenhos técnicos do veículo real, então há espaço para evoluir nisso 🔧

Durante a tarde, usei uma luz suave de céu nublado para que a carroceria azul e a paisagem urbana de pedra aparecessem de forma natural. Em vez de fazer os bondes flutuarem em um “lugar que parece adequado”, posicionei-os seguindo as linhas centrais dos trilhos extraídas do mapa.

Noite: os postes, o céu estrelado e o reflexo nos paralelepípedos são o que eu mais gosto 🌙✨

Praça Jelačić sob um céu estrelado, iluminada por postes quentes e luz azulada da lua. Renderização noturna em CG com reflexos nos paralelepípedos.

Pessoalmente, esta noite é a minha favorita! Combinei a luz quente dos postes com o luar azulado e dei aos paralelepípedos um reflexo levemente úmido. É uma escolha de direção de arte para criar atmosfera, não uma reprodução do clima do dia em que as fotos foram tiradas.

Os postes não são apenas imagens luminosas aplicadas: defini separadamente os modelos 3D das luminárias e as fontes de luz que iluminam o entorno. Havia 39 postes cuja posição pôde ser confirmada no mapa. Aos 14 registrados como modelos de quatro lâmpadas, adicionei ornamentos espiralados e globos suspensos, tomando fotos como referência.

As estrelas também fazem parte de um céu criado para a cena, não correspondem à posição real das constelações. Mas ajudam muito a dar a sensação de caminhar por uma cidade à noite…! 🌌

O trabalho na prática foi mais ou menos assim 🛠️

Todas as operações de criação foram feitas pelo Codex. O Blender foi controlado com Python via MCP; a verificação foi feita por renderizações e capturas de tela; e a publicação do artigo e das imagens usou a API de yasue.org.

  1. A base da cidade: usei fotos 360° como referência, importei contornos de edifícios e trilhos do OpenStreetMap e transformei os edifícios ao redor em volumes 3D.
  2. Ajustes de detalhes: refiz o pescoço, o rosto e as pernas do cavalo da estátua equestre, além dos braços da figura, do uniforme militar e da placa na base. Em um momento, interpretei mal a direção das pernas usando apenas fotos de perto e corrigi ao consultar uma foto de corpo inteiro.
  3. Ajuste das mesas de café: ao pedir “10 vezes mais mesas e cadeiras!”, acabei com 200 mesas e 400 cadeiras — claramente demais 😂 No fim, reduzi para 60 mesas e 120 cadeiras, concentradas em quatro pontos em frente aos estabelecimentos.
  4. Escadas e postes: adicionei escadas que estavam no mapa, mas haviam ficado de fora da modelagem. Os postes também saíram de uma distribuição genérica e equidistante para as posições indicadas no mapa.
  5. As capturas de manhã, tarde e noite: alterei a posição da câmera, a cor e a intensidade da luz e os reflexos, renderizando de fato a mesma cena 3D. Não são imagens em que a cidade foi redesenhada por IA sobre uma base em CG.

A principal impressão desta vez foi que “aumentar a quantidade” e “deixar parecido com o local” são coisas diferentes. Em vez de espalhar um monte de mesas, concentrá-las em frente às lojas faz a cidade parecer mais real ☕✨

A próxima etapa: caminhar pela cidade noturna em Three.js 🎮

Também implementei um visualizador em Three.js, com a noite fixa, usando este modelo do Blender. O modelo foi convertido para GLB e seus dados foram comprimidos para o navegador. Levei os edifícios, os móveis de café, a estátua e os dois bondes.

Os controles usam WASD para movimentação, mouse para olhar ao redor e Shift para andar mais rápido. Também preparei colisões simples para os edifícios e os móveis. Como calcular todas as luzes ao mesmo tempo ficaria pesado, a configuração prioriza os postes próximos.

A versão web está sendo preparada, por enquanto, como uma prévia privada para uso pessoal. As imagens deste artigo são da versão do Blender, e a qualidade visual e os reflexos da versão em Three.js não serão totalmente idênticos.

Ou abra aqui
https://ja.yasue.org/embed/2026-09-06/2956db8fb61c85ad/index.html

Também vale registrar o que ainda não está pronto 📝

A estátua equestre ainda não alcançou um realismo indistinguível do objeto real, e as decorações dos edifícios ainda incluem repetições e estimativas. A quantidade e a disposição das mesas de café, a altura dos degraus e algumas formas dos postes também são aproximações. Os mapas foram obtidos em 2026, enquanto as fotos de referência são de 2016, então existe essa diferença temporal.

Mais do que “um artigo para exibir uma cidade concluída”, este é um registro de criação: fazer com o Codex, comparar, corrigir e experimentar outras luzes. Acho que a parte mais interessante é ver a expressão da cidade surgir aos poucos dessa forma 🌃

Referências 🔗

Dados cartográficos: © colaboradores do OpenStreetMap, ODbL. As fotos de referência em si não foram republicadas. As três imagens publicadas foram geradas a partir da cena do Blender criada desta vez.