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 um objeto no Compositor do Blender. Isso pode ser especialmente útil quando queremos adicionar um objeto 3D a uma foto existente, para melhor adaptar a sombra à luz e aos objetos na imagem, sem ter que renderizar a cena a cada alteração.
Vamos criar a cena 3D:
Como um exemplo de um modelo a ser usado para inserção nas fotos, vamos criar um cubo simples com a sua sombra: vamos começar a partir da cena padrão e vamos dar ao cubo a cor #95A6FF, na guia "Material Properties" da Properties Window
levantamos o cubo e criamos sob um plano, reposicionamos a câmera, definimos Cycles como mecanismo de renderização, na guia Render Properties da Properties Window e 500 Samples para o Render
pressionamos a tecla F12 para criar a imagem renderizada
Para ocultar o plano, mas não a sombra do cubo, o selecionamos e na aba Object Properties da Properties Window, no subpainel Visibility, definimos a opção "Shadow Catcher" (isto é, consideramos apenas como um "apanhador de sombras")
Vamos eliminar o fundo da imagem renderizada marcando a opção "Transparent" na guia "Render Properties" > Film
começamos a renderização e obtemos o objeto apenas com sua sombra
Como você pode ver, na figura existem dois tipos de "áreas sombreadas": a parte do cubo não exposta à luz (1) e a sombra que é projetada no plano, agora invisível, (2)
Tentaremos agora iluminar as duas "sombras", independentemente uma da outra, usando o Compositor, de forma a limitar o número de renderizações a serem feitas caso desejemos modificar a intensidade várias vezes para melhor adaptá-la a uma foto.
Altere a intensidade da sombra usando cenas no Compositor:
Neste método utilizaremos as "cenas", para separar o cubo de sua sombra no plano e organizar seu manejo de uma forma mais simples.
Em seguida, na caixa de texto, no canto superior direito, renomeamos a cena atual (que conterá apenas o cubo) como "Cube scene"
agora clique no botão à direita para criar uma nova cena, aquela que deve conter apenas a sombra do plano,
e escolher como opção "Full Copy", para copiar todos os objetos da primeira para a segunda cena
e uma cópia de todos os objetos da primeira para a segunda cena será criada
vamos renomear a segunda cena como "Shadow scene"
Na "Shadow scene" temos que deletar o cubo, mas queremos que ele continue projetando a sombra no plano, então não o deletamos, mas o escondemos da câmera: selecionamos o cubo e, no na guia "Object Properties", no painel Visibility > Ray Visibility do raio desmarque a opção "Camera"
Agora vamos remover o plano da primeira cena, escondendo-o durante a renderização: selecione a "Cube scene" no menu suspenso
no Outliner, ativamos todas as opções de visibilidade
então desabilitamos a renderização do plano
selecione o workspace "Compositing" e ative a opção "Use Nodes"
Dois nós aparecem imediatamente: "Render Layers" (com a cena já definida como "Cube Scene") e o nó "Composite", que representa tudo o que aparecerá na renderização final.
Adicionamos outro nó "Render Layers", usando o comando no menu Add > Input > Render Layers, e em seu menu suspenso selecionamos "Shadow scene"
esses dois nós representam o que é renderizado nas duas cenas, a que contém o cubo e a que contém apenas a sombra.
Agora selecione a "Cube scene" no menu suspenso e ative, na guia "View Layer Properties", o Shadow Pass que permite coletar informações sobre as sombras que precisaremos para trabalhar em uma área específica de o cubo
O Shadow Pass cria uma máscara: as partes iluminadas da cena são claras, as correspondentes às sombras e ao fundo (sem elementos iluminados) são pretas. Se nossa cena tivesse dois planos ortogonais visíveis como fundo
A máscara ficaria assim, na qual podemos ver: a parte iluminada do cubo (1), os planos iluminados (2-3), a parte sombreada do cubo (4), a sombra do cubo no plano (5), o plano de fundo (6)
No nosso caso, no entanto, o plano é invisível, então se adicionarmos o nó Viewer com Add > Output
e nós o conectamos com a porta shadow
iniciamos a renderização e no Compositor visualizamos
usando a saída da porta alpha que fornece uma máscara, que representa os objetos presentes em cores claras e o fundo transparente em preto
podemos subtrair os valores de uma máscara da outra, usando o nó Math com a opção Subtract, que adicionamos com Add > Converter > Math
para o qual selecionamos a opção "Subtract" em vez de "Add" e obtemos a máscara
o que nos permitirá trabalhar apenas na parte sombreada do cubo que nos interessa.
Então vamos adicionar o nó RGB Curves, no menu Add > Color > RGB Curves, inserir a máscara obtida anteriormente em "Fac" e a renderização da cena em "Image", modificar a curva dos canais combinados (Combined RGB->"C") e, assim, tornar a área sombreada do cubo mais clara
Recomenda-se a utilização do nó RGB Curves, ou similar, pois a parte sombreada do objeto normalmente é colorida, portanto para um melhor resultado pode ser necessário atuar em cada canal separadamente.
Agora vamos deixar a sombra do cubo no plano mais clara. Para clarear uma sombra, no entanto, não devemos tornar a imagem da sombra mais brilhante, caso contrário, no final teremos uma imagem branca, mas torná-la mais ou menos transparente, por isso devemos aumentar ou diminuir a intensidade da máscara do seu canal alpha e modificar conseqüentemente a imagem da sombra.
Da porta "alpha" do nó Render Layers da "Shadow scene" extraímos a máscara
Para modular a intensidade e a influência da máscara, usamos o nó Bright/Contrast (Add > Color > Bright/Contrast) que permite escurecer a máscara
isso nos permite aumentar a transparência da imagem de sombra usando o nó SetAlpha, atuando na parte da imagem delimitada pela máscara. Portanto, vamos adicionar o nó SetAlpha, com Add > Converter > SetAlpha, e ao definir um valor apropriado de "Bright", modificaremos a transparência.
Agora adicionamos os resultados do trabalho realizado nas duas cenas, usando o nó Add > Color > Alpha Over, colocando o cubo na segunda entrada "Image" com "Fac" = 1
ative a opção "Use Alpha" no nó "Composite"
e iniciamos a renderização, pressionando a tecla F12, obtendo assim o resultado desejado, que podemos salvar e utilizar posteriormente
nota: pode acontecer que, talvez devido a um erro, você não veja o resultado correto do "Composite" na renderização, então primeiro selecione View Layer e novamente Composite na janela de renderização
Para inserir uma imagem de fundo, você pode adicioná-la usando o nó Add > Input > Image e conectá-la ao cubo e sua sombra com outro nó "Alpha Over" (vinculado ao anterior de que falamos antes). Por exemplo, se quisermos colocar o cubo sobre a imagem de um chão, baixado de Pixabay.com, definindo Bright: -23,3
ao renderizar, obteremos
Altere a cor das sombras usando cenas no Compositor:
Vamos usar os nós anteriores para colorir as sombras.
Usamos a porta "Alpha" do nó Render Layers, correspondente à "Shadow scene", contendo as informações sobre a transparência da sombra, que podemos ajustar como antes com os nós "Bright/Contrast" e SetAlpha. Agora vamos misturar a sombra obtida com uma cor (vermelha), representada pelo nodo RGB (Add > Input > RGB) com a cor #FF0000, em um nodo Mix (Add > Color > Mix). À entrada da porta "Fac" inserimos a sombra cuja intensidade primeiro modificamos, de modo a preservar a densidade da sombra e poder variar como quisermos.
se conectarmos a saída do nó "Mix" ao nó "Composite" e iniciarmos a renderização pressionando a tecla F12, obteremos a sombra colorida desejada
Agora vamos colorir a parte sombreada do cubo.
Como antes realizamos a subtração (Add > Converter > Math, com a opção "Subtract") entre "Alpha" e "Shadow" para calcular a área sobre a qual atuar
Em seguida, modificamos a cor e o brilho da parte sombreada do cubo, usando o nó "Color Balance" (Add > Color > Color Balance); modificamos a propriedade "Lift", aquela que se refere aos tons escuros ou sombras, configurando a cor hexadecimal #FF204A, obtendo
Agora vamos juntar o cubo modificado com sua sombra, conectando o nó "Color Balance" que acabamos de ver com o nó "Mix", com o qual tínhamos colorido a sombra.
começamos a renderização, pressionando a tecla F12, e obtemos o efeito desejado (caso contrário, altere como antes de Composite para View Layer e vice-versa para atualizar)
Altere a cor das sombras ao renderizar com o nó Light Path:
Para completar a discussão, vamos ver agora como alterar a cor das sombras mesmo durante a renderização.
Cycles é um mecanismo de rendering ray tracing, no qual os raios partem da câmera e após várias interações são quebrados, contendo várias informações.
Usamos então o nó "Light Path" (Add > Input > Light Path) que nos ajuda no processamento, dando-nos indicações sobre qual raio estamos considerando (vindo da câmera, ou contendo informações sobre as sombras, ou sobre o diffuse , no glossy etc.)
Para mudar a cor, estamos interessados nos raios que contêm informações sobre a sombra (os raios de retorno que encontram um objeto como obstáculo); com a ajuda deles no caso "is Shadow Ray" queremos que o objeto não seja considerado opaco, mas como se os raios passassem por um objeto de material colorido transparente, para isso substituímos o shader Principled por um Transparent (Add > Shader > Transparent BSDF) colorido, usando as informações da porta "is Shadow Ray" para filtrar os shaders em um nó "Mix Shader" (Add > Shader > Mix Shader)
e, começando a renderização, obtemos
esta solução, entretanto, apresenta alguns problemas com o Shadow Catcher, porque a sombra perde sua cor.
Para este tutorial, sobre como modificar a intensidade e a cor de uma sombra com o Compositor, é tudo, esperando que ajude nas suas inserções nas fotos, para melhor mesclar os objetos 3D na cena. Happy blending!