• eng
  • deu
  • esp
  • fra
  • ita
  • Mantenha-se atualizado com as últimas notícias no site com um leitor de feeds
  • Graphics and programming Facebook page
  • Graphics and programming Youtube channel
  • Graphics and programming Twitter page

Blender: adicionar reflexos a apenas parte de um objeto

Neste tutorial veremos como adicionar um reflexo apenas a uma parte de um objeto/malha no Blender, usando o "View Layers" no Compositor. Por exemplo (como nos tinham perguntado nas redes sociais) se queremos fazer um edifício com estrutura metálica, com um HDRI que valorize as estruturas metálicas e o vidro que reflita um painel que representa um céu, não queremos que o painel com o céu sendo também refletido pelas estruturas metálicas.
Para o tutorial, vamos criar um exemplo simplificado, usando um cubo: inicie o Blender, selecione o cubo padrão clicando nele, pressione a tecla "TAB" para entrar no "Edit Mode". Selecionamos tudo, pressionando a tecla "A", e clicamos no cubo com o botão direito do mouse, escolhendo a opção "Subdivide"

então, na janela inferior esquerda, eles escolhem um número de cortes igual a 4

Desmarcamos tudo pressionando as teclas "Alt+A" e no modo de seleção "Face"

selecionamos as 4 "janelas" do "palácio", extrudando-as para dentro após pressionar a tecla "E"

Na aba "Material Properties" criamos um material "metal" simples para o cubo, composto apenas pelo shader "Principled BSDF" com "Roughness:0" e "Metallic:1"

Ao pressionar o botão "+" à direita

vamos adicionar um novo material "glass" para as vidraças

relativamente simples, apenas um shader "Glass" e um "Glossy" misturados de acordo com o modo "facing" do nó "Layer Weight", então se estivermos de frente veremos a janela como vidro, enquanto se olharmos obliquamente veremos mais e mais do refletido à medida que o ângulo de visão aumenta do normal.

No "Edit Mode" selecionamos as janelas e pressionamos o botão "Assign" para atribuir o material de vidro às janelas

(Você pode obter uma boa simulação do material de vidro quando a janela tiver uma espessura, mas neste exemplo simplificado não é o objetivo principal criar uma cena realista)
No subpainel "Settings" do material "glass" atribuímos a "Pass Index:1" para identificar posteriormente os elementos aos quais esse material foi atribuído

Movemos a camera para enquadrar bem o cubo

Na guia "World Properties" usamos a imagem HDR "uffizi_probe.hdr" para a iluminação ambiente (útil para "animar" os reflexos do metal) baixada do site https://www.pauldebevec.com/Probes/

Estamos interessados apenas no que acontece no cubo, portanto, para não nos distrairmos com o resto da cena, escolhemos um fundo transparente: na guia "Render Properties", marcamos a opção "Transparent" no sub-painel "Film" 

Se pressionarmos a tecla "F12" para renderizar, obtemos

Agora vamos adicionar um reflexo do céu nas janelas: vamos baixar uma foto de um céu azul em https://pixabay.com/photos/sun-sky-blue-sunlight-sunbeam-3588618/ ,
importamos a imagem com o complemento "Images as Planes" (já presente no Blender e ativo por padrão e presente em "File > Import") em um plano (que chamamos de "sky plane"), que giramos, ampliamos e colocamos na frente das janelas para que seja refletido por elas.

No entanto, o avião esconde parcialmente o cubo se tentarmos observá-lo com a camera

para evitar ocultá-lo mesmo durante a renderização, selecionamos o plano e na guia "Object Properties" desmarcamos "Camera" no subpainel "Visibility > Ray Visibility" 

Pressionamos "F12" para iniciar a renderização e obtemos o cubo com o reflexo do plano contendo a textura do céu

Agora queremos separar esses dois efeitos (cubo com reflexos apenas do hdr do "world" e cubo que reflete o plano que contém a imagem do céu), disponibilizando-os em duas "view layer", camadas que podemos então add e no qual podemos realizar outras operações no "Compositor".
Na "Scene Collection" criamos duas coleções "Collection metal" e "Collection sky". "Collection metal" representa a cena apenas com o cubo, sem que o plano seja refletido, enquanto "Collection sky" representa a cena do cubo ("cube") que reflete o céu, portanto contém uma cópia do cubo e do plano ("sky plane"). A lâmpada e a camera são externos a estas duas coleções, pois são comuns às duas situações (até o cubo seria comum, mas para simplificar criámos "agrupamentos lógicos").

Agora vamos criar as duas "View layer":
renomeamos a atual "View Layer" para "view metal" e ativamos (exibimos) apenas a coleção "Collection metal"

então vamos criar uma nova "View layer" clicando no pequeno botão à direita,

escolhendo a opção "Copy settings",

chamando-o de "view sky", onde ocultamos "Collection metal" e exibimos "Collection sky"

Habilite para este "View layer", em "View Layer Properties", o "Passes" "Passes > Data > Indexes > Material Index", que serve para selecionar as partes de uma malha com determinado material, e "Passes > Light > Glossy > Indirect", para exibir reflexões indiretas, ou seja, objetos espelhados, neste caso o plano. (Eles são chamados de reflexos indiretos porque os raios do sistema Ray Tracing atingem primeiro o objeto, depois a superfície que os reflete e depois acabam na camera)

Acessamos o espaço de trabalho "Compositing", clicando no rótulo na parte superior,

e habilite a opção "Uses Nodes"

Vamos criar dois nós "Render Layers" ("Add > Input > Render Layers") que corresponderão às duas camadas

de fato, em um escolheremos no menu suspenso na parte inferior "View Layer" "view sky"

e as portas "IndexMA" (correspondente ao "pass" "Material Index") e "GrossInd" (correspondente ao "pass" "Glossy > Indirect") aparecerão automaticamente

No outro nó "Render Layers", definimos a "View layer" "view metal"

e o nó possui apenas as portas padrão.

Para ter uma prévia dos resultados intermediários das operações no "Compositor", verifique se a opção "Backdrop" está ativada no canto superior direito

e adicione o nó "Viewer" ("Add > Output > Viewer") para ver a visualização.

De fato, se conectarmos o nó "Render Layers" correspondente à camada "view sky" e iniciarmos a renderização pressionando a tecla de função "F12", no final das duas renderizações (correspondente às duas camadas) aparece

Agora vamos gerar uma máscara que isole as janelas: lembramos que demos ao material "glass" "Pass Index:1", então adicionamos o nó "ID Mask" ("Add > Converter > ID Mask") , que seleciona um máscara, utilizando o índice de entrada "IndexMA" com o parâmetro "Index:1", que corresponde ao "Pass Index" com valor 1 do material da janela (marque a opção "Anti-Aliasing" para suavizar as linhas oblíquas). Conectamos a saída "Alpha" ao nó "Viewer" e exibimos a máscara que identifica as janelas

Agora podemos seguir dois caminhos: ou pegamos apenas o reflexo do céu e aplicamos nas janelas, sem levar em conta o efeito do HDRI nas janelas, ou nas janelas misturamos o efeito do reflexo do céu com o de HDRI

 

Apenas reflexo do céu nas janelas:

Com a máscara obtida, extraímos a imagem das janelas adicionando um nó "Mix" ("Add > Color > Mix"), com a opção "Mix" selecionada

O nó "Mix" mantém apenas as partes da "Image" que são marcadas pelas partes brancas da máscara de entrada em "Fac", para a outra porta deixamos uma cor preta (neutra em relação aos nós "Mix") .

Usando outro nó "Mix", agora colamos esta imagem na gerada apenas pela camada "view metal", obtendo assim o que procurávamos

(O resultado deste nó "Mix" será a imagem do "view metal" com apenas as partes indicadas pela máscara vinda do nó "ID Mask" substituído)

 

Reflexão do céu em janelas misturada com reflexão HDRI:

Neste caso, não usamos a imagem final da camada "view sky", que também inclui contribuições de outras fontes, mas apenas os reflexos indiretos, que são gerados pelos objetos que são refletidos no vidro (neste caso, o plano com a textura do céu), então usaremos a saída da porta "GlossInd", em vez da "Image" mais completa. Para misturar com o restante da edificação ainda podemos usar o nó "Mix" ("Add > Color > Mix") para misturar as duas camadas, mas é melhor escolher uma opção "Screen" que, mesmo usando algum nó para ajustar brilho e cores ("Add > Color > Hue Saturation Value" e "Add > Color > Bright/Contrast"), simula melhor os reflexos de uma janela.
Depois de conectar esses nós e reiniciar a renderização, obtemos

 

Exportar para arquivo:

Se ao invés de usar o "Compositor" do Blender queremos compor tudo em um software gráfico 2D, podemos usar um nó "File Output" ("Add > Output > File Output") para exportar as imagens e reflexos

Isso é tudo para este tutorial sobre como adicionar um reflexo extra a apenas parte de um objeto no Blender. Happy blending!

Se você gostou do artigo, compartilhe com um amigo:

Artigos relacionados:

Blender modifica intensidade e cor da sombra com o Compositor

Neste tutorial do Blender (atualizado para a versão 2.9) vemos como alterar a cor e como escurecer/clarear a sombra de ...

Leia o artigo >

 

Regressar ao índice de tutoriais: > Blender <