Como criar um terreno em 3D no Blender?

Aprenda a utilizar o software gratuito Blender e o complemento BlenderGIS para criar um modelo de terreno em 3D com imagem de satélite

Já pensou em representar as áreas dos seus projetos em 3D? Com a postagem escrita pela eng. ambiental Alessandra de Souza, você poderá realizar isso usando o Blender. Confira.


A visualização tridimensional é um recurso cada vez mais utilizado para aprimorar a comunicação visual. Neste contexto, este artigo traz o passo a passo de como gerar uma representação em 3D de um terreno com o add-on BlenderGIS desenvolvido para o software Blender, tendo como base o roteiro proposto por Steve Lund no canal de YouTube CG Geek (veja aqui, em inglês). Com essas ferramentas, será possível selecionar uma área de praticamente qualquer lugar do mundo, gerar uma textura com imagem de satélite e modelar o terreno de acordo com a elevação fornecida por dados SRTM.

Exemplo de terreno 3D obtido por Blender (imagem com edição).
Exemplo de terreno 3D obtido por Blender (imagem com edição).

Mas por que utilizar o Blender? Além de ser gratuito, o cartógrafo Daniel Huffman (Something About Maps) destaca que o software oferece um resultado mais atrativo e realista em comparação aos gerados por alguns Sistemas de Informações Geográficas (SIGs), justamente pelo fato de o Blender ser projetado especificamente para modelagem 3D. Segundo o cartógrafo, o programa consegue simular as complexidades de posicionamento da luz, tais como seu espelhamento na superfície, sua reflexão de uma montanha para a próxima e o sombreamento em sua ausência.

Então vamos lá? O tutorial foi dividido em cinco partes para melhor compreensão:

  1. Downloads e configurações iniciais
  2. Importando imagens de satélite e dados SRTM
  3. Extrusão da malha
  4. Textura da malha
  5. Textura das faces laterais
  6. Renderização

Downloads e configurações iniciais

Para seguir esse tutorial, você irá realizar o download dos seguintes materiais:

  • Blender, software gratuito e de código aberto, disponível para os principais sistemas operacionais. A versão utilizada para este tutorial foi a 2.82.
  • BlenderGIS, plugin desenvolvido para realizar a conexão entre o Blender e dados geográficos. Com esse complemento, por exemplo, é possível baixar diretamente do programa dados do OpenStreetMap, modelo de elevação SRTM, imagens de satélite (Google, Bing, Esri, etc), além de importar dados como shapefiles e rasters georreferenciados. Faça o download do arquivo ZIP clicando no botão verde “Clone or download”.
  • Imagem do tipo HDRI, como a “Sunflowers”, utilizada para controlar a iluminação da cena e criar efeitos de luz mais realistas e dinâmicos.
  • Textura de solo para preenchimento das faces laterais do modelo. Faça o download das cinco imagens (albedo, height, normal, roughness e ambient occlusion).

A instalação do Blender segue um fluxo simples como de qualquer outro programa de computador. Já para a instalação do plugin BlenderGIS, abra o Blender e, no canto superior esquerdo, clique em Edit e então Preferences. Na janela, selecione Add-ons no menu lateral esquerdo, clique em Install e escolha o arquivo ZIP localizado na pasta em que o baixou. Após a instalação, certifique-se na lista que o complemento 3D View: BlenderGIS esteja habilitado e expanda suas configurações.

Instalação do Blender GIS.
Instalação do Blender GIS.

Dentro das configurações do plugin, especifique uma pasta no campo Cache folder onde o cachê será armazenado. Para tal, crie uma nova pasta no seu computador, de preferência aonde seu projeto será salvo.

Janela de Add-ons e especificação da pasta de cachê do plugin BlenderGIS.
Janela de Add-ons e especificação da pasta de cachê do plugin BlenderGIS.

Por fim, na mesma lista de Add-ons, ative o campo Node: Node Wrangler.

Com os ajustes iniciais, estamos prontos para começar.

Importando imagens de satélite e dados SRTM

Se esse é seu primeiro contato com o Blender, procure inicialmente se familiarizar com a interface do programa. Essa foi uma etapa importante para que eu – que não sou nenhuma especialista – entendesse principalmente os controles de navegação.

No projeto inicial do programa, deparamos com a representação de três objetos: um cubo, uma câmera e uma fonte de luz. É basicamente um estúdio fotográfico virtual, não? E essa é justamente a ideia desse tutorial: montar um modelo 3D do terreno, definir a iluminação e fotografar.

Selecione o cubo e aperte a tecla Delete para retirá-lo da cena. Agora clique no menu suspenso GIS e selecione Web geodata > Basemap. Mantenha as opções padrão (Google/Satelitte) e selecione Ok para abrir a visão do mapa mundial.

Adicionando camada de Basemap.
Adicionando camada de Basemap.

Clique e segure com o botão esquerdo do mouse para movimentar o mapa e dê zoom com o botão do meio (scroll) na área desejada. Se preferir, pressione a tecla G para buscar o local pelo seu nome ou coordenadas (latitude e longitude), indicando ainda um nível de zoom. No exemplo, foi selecionada a região do Pico dos Marins (Serra da Mantiqueira) com zoom 15.

Janela de busca da imagem de satélite.
Janela de busca da imagem de satélite.

Quando sua localização e zoom estiverem corretos, pressione a tecla E para exportar a visão do mapa para uma nova malha plana.

O próximo passo consiste em baixar os dados do modelo de elevação obtidos a partir do SRTM. Com a malha plana selecionada, clique em GIS > Web geodata > Get SRTM. Após alguns segundos, o plano será projetado de acordo com seu relevo. Clique e arraste o botão do meio do mouse para girar a vista em torno do ponto de interesse dentro do espaço 3D. Se necessário, clique e arraste o símbolo da mão no painel de navegação para reposicionar seu modelo na tela.

Caminho para baixar os dados SRTM diretamente do plugin BlenderGIS.
Caminho para baixar os dados SRTM diretamente do plugin BlenderGIS.
Painel de navegação.
Painel de navegação.
Malha com dados de elevação SRTM.
Malha com dados de elevação SRTM.

Se desejar, é possível alterar o exagero vertical na opção Modifier Properties > Strength, cujo valor padrão é 1.

Caminho para alterar o exagero vertical do modelo.
Caminho para alterar o exagero vertical do modelo.

Já podemos visualizar o modelo 3D do terreno. Na próxima etapa, vamos gerar uma base sólida de apoio da superfície.

Extrusão da malha

No canto superior esquerdo da tela, altere o modo de exibição de Object Mode para Edit Mode a fim de utilizar ferramentas de edição do objeto.

Menu de seleção de modos.
Menu de seleção de modos.

Se sua malha não estiver selecionada (ou seja, não apresenta a face de cor alaranjada), pressione a tecla A. Agora clique com o botão direito do mouse sobre a malha e escolha a opção Subdivide. A subdivisão aumentará a resolução da malha ao dividir as faces ou arestas em unidades menores. Repita a subdivisão mais duas vezes.

Opção Subdivide e malha subdividida.
Opção Subdivide e malha subdividida.

Retorne ao Object Mode.

No Blender, é possível utilizar modificadores que realizam operações automáticas para alterar a geometria do objeto. No tutorial, vamos aplicar o modificador Subdivide Surface para suavizar a malha e, em seguida, o modificador Displace para deslocar os vértices da malha com base na intensidade de sua textura. O procedimento é simples: no painel direito, vá em Modifier Properties, e clique em Apply no primeiro e no segundo campo, respectivamente.

Aplicação de modificadores.
Aplicação de modificadores.

Selecione novamente o Edit Mode para criarmos uma base sólida para o modelo por meio da extrusão da malha. No painel de navegação, selecione o eixo X (círculo rosa) para melhor visualização.

No painel esquerdo, selecione a opção Extrude Region e então, no menu superior, altere o modo de Normal para XYZ a fim de garantir que iremos extrudar ao longo do eixo Z. Os eixos serão indicados no centro da malha. Selecione o círculo azul (eixo Z) com o botão esquerdo do mouse e arraste o cursor para baixo. Quando alcançar a altura desejada para o modelo, aperte Enter. Por fim, pressione S+Z+0 e depois Enter para recortar o fundo do modelo e transformá-lo em um plano, observando se o ponto mais baixo da malha não foi prejudicado (caso positivo, refaça a extrusão usando uma altura maior).

Extrusão da malha ao longo do eixo Z.
Extrusão da malha ao longo do eixo Z.
Extrusão da malha ao longo do eixo Z (Animação).
Extrusão da malha ao longo do eixo Z (Animação).

Retorne ao modo Object Mode para a próxima etapa.

Modelo 3D após extrusão.
Modelo 3D após extrusão.

Textura da malha

A partir de agora, nós iremos tratar o modelo 3D (iluminação e textura dos materiais) de modo a prepara-lo para renderização (isto é, o processo de transformação de uma cena 3D em uma imagem 2D). As próximas etapas são as mais trabalhosas, porém, são aquelas que trarão mais riqueza e realismo ao resultado.

No painel direito, selecione World Properties, clique no círculo à direita do campo Color e selecione a opção Environment Texture. Logo abaixo, clique em Open e abra o arquivo da imagem tipo HDRI previamente baixada.

Caminho para aplicação da imagem tipo HDRI.
Caminho para aplicação da imagem tipo HDRI.

Em seguida, no mesmo painel, entre em Render Properties. No campo Render Engine, altere o o renderizador para Cycles. Em Device, selecione GPU Compute para usar sua placa de vídeo na renderização ao invés da CPU.

Alteração das propriedades de renderização.
Alteração das propriedades de renderização.

No canto superior direito da tela do desenho, selecione o modo Viewport Shading para visualizar a renderização prévia e interativa do modelo. A renderização completa, por outro lado, só será realizada na última etapa.

Seleção do Viewport Shading.
Seleção do Viewport Shading.
Visualização da renderização prévia.
Visualização da renderização prévia.

Continuando em Render Properties, expanda o campo Film e ative a caixa Transparent para eliminar a imagem de fundo e manter apenas seus dados de iluminação. Depois expanda o campo Color Management e altere o Look para Medium High Contrast ou um contraste de preferência.

Configurações de renderização.
Configurações de renderização.

Vamos agora dividir a tela para trabalharmos com o Shader Editor, ferramenta utilizada para editar materiais que serão renderizados. Posicione o cursor no canto superior esquerdo da tela, logo ao lado do menu suspenso Editor Type, até cursor se transformar em uma cruz. Clique e segure com o botão esquerdo do mouse, então o arraste para a direita e solte para dividir a tela no meio. Na janela do lado esquerdo, clique no símbolo de Editor Type e selecione Shader Editor. Na demonstração abaixo a renderização interativa foi desativada apenas para melhor visualização da divisão.

Procedimento para divisão da tela.
Procedimento para divisão da tela.
Caminho para abrir o Shader Editor.
Caminho para abrir o Shader Editor.

Os materiais utilizados pelo renderizador são definidos segundo uma composição baseada em nós (ou nodes). Cada nó realiza uma operação no material de forma a alterar a aparência da malha, e assim passa para o próximo nó. O compósito, portanto, é representado como um gráfico de árvore. No caso do tutorial, vamos incialmente trabalhar em cima da textura da imagem de satélite e em sequência com as faces laterais do modelo.

Antes de aplicar os nós, vamos alterar a escala do terreno 3D para elevar a sensibilidade dos efeitos a serem aplicados. Selecione o modelo na janela direita, aperte a tecla S (comando Scale) e então clique em qualquer lugar da janela. Na parte inferior da tela aparecerá a aba Resize. Expanda a aba e altere os valores de X, Y e Z para 0,25.

Modificação da escala do modelo.
Modificação da escala do modelo.

No menu do Shader Editor, clique em Add > Vector > Bump. Clique com o botão esquerdo do mouse para fixar o nó Bump na tela. Conecte a imagem de satélite Google ao nó Bump clicando no círculo amarelo referente à saída Color da janela laranja e arrastando o mouse para o círculo cinza de entrada Height do nó. Em seguida conecte a saída Normal do nó Bump com a entrada Normal da janela Principled BSDF (verde). 

Adicionando nós e conectando eles.
Adicionando nós e conectando eles.

O Bump adiciona detalhes de profundidade a uma superfície sem deformá-la. A priori seu efeito é bem sutil, portanto aumente Strength e Distance para 3 ou teste alguns valores a seu critério.

Configuração do nó Bump.
Configuração do nó Bump.

Para incrementar a definição das montanhas, vamos utilizar o nó Ambient Occlusion, o qual basicamente simula sombras de contato em objetos e cria um efeito de realismo. Clique em Add > Input > Ambient Occlusion e conecte a saída Color do nó na entrada Surface da janela Material Output para pré-visualização do efeito. Aumente o fator Distance do nó para um valor bem mais alto, como 50.

Configuração inicial do nó Ambient Occlusion.
Configuração inicial do nó Ambient Occlusion.

No momento o modelo aparecerá totalmente branco, no entanto, vamos adicionar o nó conversor Math em Add > Converter > Math a fim de amplificar o efeito de Ambient Occlusion através de uma função matemática. Para uma conexão automática, arraste o nó Math sobre a linha que conecta o Ambient Occlusion ao Material Output. Clique no campo Add do nó, selecione a operação Power (isto é, potenciação) e, em seguida, altere o valor Value para 25. Verifique o efeito na renderização prévia e, se quiser elevar ou reduzir o efeito do sombreamento, teste com novos valores de Distance.

Configuração final do nó Ambient Occlusion e do nó Power.
Configuração final do nó Ambient Occlusion e do nó Power.
Visualização prévia do efeito dos nós Ambient Occlusion e Power na superfície.
Visualização prévia do efeito dos nós Ambient Occlusion e Power na superfície.

Para misturar o efeito criado com a imagem de satélite da textura, adicione o nó MixRGB em Add > Color > MixRGB e encaixe a janela entre o conector da imagem de satélite com Principled BSDF. Altere o efeito de Mix para Multiply e mude o fator Fac para 1. Agora conecte a saída do nó Math na entrada Color2 do nó MixRGB. Em sequência, na janela Principled BSDF, retome a conexão entre a saída BSDF e a entrada Surface de Material Output e, por fim, diminua o efeito Specular (reflexão da superfície)para um valor entre 0 e 0,1.

Configuração do nó MixRGB.
Configuração do nó MixRGB.
Configuração final dos nós que compõem a textura da imagem de satélite.
Configuração final dos nós que compõem a textura da imagem de satélite.
Visualização prévia dos efeitos aplicados na textura da imagem de satélite.
Visualização prévia dos efeitos aplicados na textura da imagem de satélite.

A textura da malha composta pela imagem de satélite do modelo do terreno 3D já está pronta. Na próxima etapa, iremos trabalhar apenas com o material das faces laterais do modelo de maneira a simular uma textura de solo.

Textura das faces laterais

Para adicionar a textura de solo nas bordas do modelo, clique no painel direito em Material Properties, selecione o símbolo “+” e em sequência aperte New para adicionar um novo material.

Caminho para adicionar um novo material.
Caminho para adicionar um novo material.

Selecione a janela Principled BSDF em sua tela e então pressione Ctrl+Shift+T para importar imagens de textura em um formato unificado. Para isso, na janela de arquivos que foi aberta, selecione simultaneamente as cinco imagens baixadas que compõem a textura do solo e clique em Principled Texture Setup.

Importando arquivos de textura do solo.
Importando arquivos de textura do solo.

O gráfico de nós do material será automaticamente aberto. Vamos agora atribuir esse material às faces laterais do modelo. Clique na opção Face select no menu do modo de edição Edit Mode, pressione e segure a tecla Alt e clique com o botão esquerdo do mouse em uma das laterais. Em seguida, no painel direito, clique em Assign. Pressione a tecla U, selecione Smart UV Projector e dê Ok para otimizar a aplicação da textura 2D na malha.

Atribuindo textura às faces laterais do modelo.
Atribuindo textura às faces laterais do modelo.

Na janela do nó Mapping, melhore a escala da textura aumentando os valores de X, Y e Z para 10.

Configuração do nó Mapping para transformação da textura.
Configuração do nó Mapping para transformação da textura.

Retorne ao Object Mode para visualizarmos o material. Para tratar a cor da textura, adicione um nó Hue Saturation Value em Add > Color > Hue/Saturation e coloque-o no conector entre Base Color e Principled BSDF. Reduza um pouco sua saturação (Saturation), por exemplo, para 0,5. Teste o valor (Value) com diferentes números para encontrar o resultado que mais interessa ao seu contexto.

Configuração do nó Hue Saturation Value.
Configuração do nó Hue Saturation Value.

E, com isso, o modelo de terreno 3D está pronto! Vamos agora realizar a renderização para exportar uma imagem do terreno.

Visualização prévia do terreno 3D finalizado.

Renderização

Chegou o momento de “fotografar” o modelo. Você definirá sua posição da câmera e ângulo de acordo com sua percepção da cena. Primeiramente, tire a divisão da tela de forma análoga de quando a dividiu: posicione o cursor do mouse no canto superior esquerdo da janela do modelo 3D e, quando o cursor se transformar em uma cruz, clique com o botão esquerdo do mouse e o arraste para esquerda. Usando o mouse e o painel de navegação, defina a visão exata da cena a ser renderizada. Quando finalizar, pressione Ctrl+Alt+0 para reposicionar a câmera na nova visão.

Seu objeto provavelmente irá sumir da tela, porém a câmera ainda será configurada. No painel superior direito, em Scene Collection, selecione a Camera. No painel inferior, clique no símbolo da câmera para abrir Object Data Properties. No campo Lens, altere o parâmetro de corte End para um valor bem elevado, como 1.000.000, para expandir a visão da câmera. Se a câmera ainda não englobar seu modelo dentro do retângulo amarelo, teste novos valores de comprimento focal Focal Length. Por fim, centralize seu modelo alterando os valores de Shift X e Y.

Configurações utilizadas no posicionamento da câmera para fotografar o modelo do tutorial.
Configurações utilizadas no posicionamento da câmera para fotografar o modelo do tutorial.
Visão do posicionamento do modelo na câmera.
Visão do posicionamento do modelo na câmera.

Estamos quase lá. Precisamos fazer apenas um último simples ajuste, que é a redução de ruído (granulação) gerada pela renderização com Cycles. Para tal, no painel direito, ative a ferramenta de pós-processamento chamada Denoising em View Layer Properties. Mantenha os valores padrão.

Caminho para ativar a redução de ruídos Denoising.
Caminho para ativar a redução de ruídos Denoising.

Feito isso, realize a renderização clicando em Render > Render Image na barra de ferramentas ou pressionando F12. O processo pode levar alguns minutos.

Caminho para renderização da cena.
Caminho para renderização da cena.

Quando finalizar, verifique se o modelo está de acordo com a expectativa, uma vez que os parâmetros utilizados podem variar de acordo com o terreno. Caso queira fazer algum ajuste, utilize as ferramentas dos passos anteriores. No meu caso, por exemplo, optei por reduzir o efeito de reflexão da superfície (Specular)para 0.

Com um resultado satisfatório, salve a imagem em formato PNG clicando em Image > Save As… na barra de ferramentas da janela de renderização.

Caminho para exportar a imagem renderizada.
Caminho para exportar a imagem renderizada.

Com o resultado final, você pode utilizar um editor de imagem para inserir um plano de fundo, rótulos, símbolos, entre outros.

Resultado do terreno 3D na renderização final.

E assim concluímos esse tutorial! Aproveite os comentários para compartilhar seu terreno em 3D e deixar dúvidas se for o caso. Responderemos assim que possível.

Alessandra Ribeiro de Souza é engenheira ambiental, formada pela Universidade Federal de Itajubá (UNIFEI) e Mestre em Engenharia de Energia pela mesma instituição.

Referências consultadas.

How to Create 3D Terrain with Google Maps and Blender – CG Geek: https://www.youtube.com/watch?v=Mj7Z1P2hUWk.

Creating Shaded Relief in Blender – SomethingAboutMaps: https://somethingaboutmaps.wordpress.com/2017/11/16/creating-shaded-relief-in-blender/

Blender 2.82 Reference Manual: https://docs.blender.org/manual/en/latest/


Clique na figura abaixo e assine nossa lista de emails para receber nosso ebook "Como criar mapas de localização com ArcGIS 10.x".

Apostila Mapa de Localização Banner

Author: Postagem Voluntária

As postagens voluntárias são escritas por diferentes profissionais, sendo que fornecemos os detalhes dele/dela no inicio da postagem. Envie seu texto também, visite 2engenheiros.com/contribua/ e preencha o formulário.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *