Tip:
Highlight text to annotate it
X
Olá pessoal, eu sou o Magno Borgo
e este é mais um tutorial de Nuke.
Neste vídeo, vou continuar falando sobre a composição multi-pass
e teremos um desafio: trocar o fundo desta imagem
porém não temos um canal Alpha apropriado para fazer isto
Então, fazendo diversas manipulações vamos gerar um canal Alpha
para conseguir chegar no resultado desejado
... é uma situação comum, temos um render multi-pass, porém não temos todos os
passes necessários, ou não há mais tempo para renderizar uma nova imagem
então na composição vamos ter que resolver este problema, sem voltar para o 3D
Vamos ver o que temos aqui para começar com esta tarefa.
Nos renders multi-pass, eu tenho um canal Alpha (matte)
que é o alpha do fundo. Porém, se eu usar este canal para fazer a composição
em cima de um novo fundo, nós não temos a transparência das lâmpadas
está "sólido" e este é o problema. Tenho dois outros elementos
que me foram fornecidos, que é o fundo e as luzes volumétricas.
vou trazer para cá. Vou focar o Node Graph, pressionado "f"
tenho o fundo....
e a luz volumétrica dentro das lâmpadas.
Com estes passes vou conseguir colocar um novo fundo.
Se eu tenho o background, posso subtraí-lo desta imagem
e colocar um outro. Vamos ver como isto vai funcionar:
vou criar um node Merge, selecionar a saída do render multi-pass
e o node do "fundo", pressiono "m" e a operação é "minus"
quando eu visualizar este node, temos o fundo já subtraído
agora vou subtrair também a luz volumétrica...
temos as lâmpadas sem o fundo e sem a luz dentro delas
podemos agora somar um novo fundo e fazer a composição
porém temos um problema, se compararmos as duas imagens: o render multi-pass (original)
e esta imagem com as subtrações, podemos ver que as áreas sólidas da imagem, estão
sendo afetadas. Não apenas a parte transparente que é o que me interessa.
Temos este problema para resolver: como manter as partes sólidas opacas.
pois estamos subtraindo o fundo (background) de tudo.
Primeiramente, vamos somar isto com o novo fundo para ver como vai ficar
Vou criar um node Checkerboard, selecionar os 2 nodes e fazer o merge
a operação é "plus" (soma). Visualizando isto temos...
A parte transparente é exatamente o que queremos.
A composição está quase pronta.... porém preciso isolar as partes sólidas (opacas) dos objetos
e colocá-las por cima disto. Porém não tenho um alpha (matte) apropriado
Como resolver?
Se olharmos o pass "Transparent", que aliás é o passo de transparência mais estranho
que eu já vi, a transparência tem o fundo, luz volumétrica dentro, etc...
enfim... é o que temos para trabalhar. Se olharmos bem, ele já tem a área
da forma que precisamos isolar, e se olharmos o outro passo de Alpha, que está no Layer Channel
"other", no canal "r", temos o alpha (matte). Com este Alpha e com a outra região
conseguiremos isolar as partes sólidas (opacas). Vamos fazer algumas operações para
conseguir esta área desejada.
Poderiamos usar um node de rotoscopia e desenhar a área necessária
mas eu quero fazer estas operações usando apenas os canais disponíveis na imagem.
Vamos lá: vou pegar um node Shuffle
vou ligá-lo na saída na imagem original. E neste node, vou alimentar o canal alpha
do Layer Channel "other" para o canal Alpha do "rgba"
Se olharmos agora, voltando para a visualização "rgba", aqui em "alpha" e aqui também em "alpha"
ao visualizar o node shuffle, o alpha está correto. Queremos o inverso disto, pois este alpha
está representando o fundo (área branca)
para inverter, pressiono tab: "invert"
e está agora invertido. Cuidado, o node está
invertendo todos os canais, inverta só o alpha.
Se deixar em "all" ele inverte todos os Layer Channels
temos a parte sólida dos objetos, agora preciso subtrair a área transparente.
para fazer isto, vou usar o Layer Channel "Transparent"
se olharmos o "rgba", temos a forma que precisamos
fazendo uma manipulação de cor, vamos chegar no resultado desejado
vou usar um node chamado ColorLookup
é semelhante ao "Curves" do Photoshop
Saindo do "transparent" vou eleger um channel para trabalhar
por exemplo... r, ...g, ...b
vou usar o vermelho, ligar o ColorLookup no "transparent"
visualizá-lo, e agora vindo aqui: no master modificamos todos os canais ao mesmo tempo
vindo no "red", modificamos apenas o channel red. Vou selecionar o ponto superior, com o botão direito
mudar a interpolação para "horizontal" e começar a arrastar o ponto para a esquerda
à medida que arrasto para esquerda, a cor vai ficando cada vez mais branca
e quando todas as lâmpadas ficarem brancas, teremos um alpha (matte), gerado a partir de
um canal de cor normal (no caso o "r"). O único problema desta operação é que
se trouxermos o ponto muito para a esquerda as bordas da imagem serão prejudicadas
ficando muito "duras", os pixels ficarão mais opacos/"sólidos"
temos que trazer o ponto para a esquerda mas sem ir muito além do necessário:
que as cores se tornem brancas, mas sem destruir a borda dos objetos
vou seguir lentamente... tenho alguns pixels que não ficaram completamente brancos
mas vou parar por aqui para não degradar demais a borda
vamos ver: tenho este novo matte, e tenho
o outro canal alpha que está completo
se eu subtraí-los, geramos o canal alpha (matte) necessário
vou pegar o channel "r" e colocá-lo no alpha (do rgba)
usando o node Shuffle
entra "rgba", pego o "r" e coloco na saida do "a"
vamos ver como ficou, comparar as duas imagens
prosseguindo com as operações: vou somar estas duas imagens e inverter
vou reorganizar o layout, para evitar que as linhas se cruzem.
vou fazer um merge com os dois Alphas
este Merge usará o modo "max"
Qual a vantagem do modo "max" em relação ao "plus" ou "over"?
Se eu tiver num pixel um valor de alpha 1, e em outro o mesmo valor 1, somando terei 2 ( 1 + 1 = 2)
este valor não é muito ideal, então o modo "plus" não é o mais recomendado
o modo "over" também pode introduzir problemas
usando a operação de "max", em cada pixel os valores das duas imagens são comparados, e é mantido
o maior valor. É uma das melhores operações para se combinar mattes (alpha)
assim como temos o "max", há também o "min" (mínimo), que faz a operação contrária
usando o "max" junto os dois canais alpha
e tenho a imagem que precisava para isolar as áreas sólidas.
e preciso inverter para que fique correto.
Veja... temos um problema nas bordas dos objetos
provavelmente está vindo do ColorLookup
se tornarmos as bordas mais duras, elimina-se as áreas problemáticas
porém comprometemos as qualidade da parte de cima...
posso trazer um pouco pra esquerda e se ficar muito "duro", posso aplicar
um node Blur para suavizar.
outra opção: em vez de endurecer a borda
vou voltar atrás. É expandir o channel:
estou com esta imagem, tenho o node chamado "Erode"
vou colocá-lo depois do Shuffle, se aumentarmos o valor, ele expande a imagem
ou contraia.
vou expandir 1 pixel e ver o resultado.
Antes.... depois.
Com o Erode, eliminei o problema,
agora a imagem ficou bem legal.
Vamos usar esta alpha (matte) e colocar as partes sólidas (opacas) da imagem
em cima da nova composição
para fazer isto, preciso multiplicar os canais "rgb" do render multi-pass que está aqui
por este novo Alpha
uma operação bem simples para fazer isto é o "premult"
no "Premult" multiplicamos os canais "rgb" por um outro canal, no caso aqui pelo "alpha"
então é isso que faremos
vou pegar a saída deste node
colocar o "premult" aqui
porém temos um problema
o canal "alpha" que está aqui
tem que entrar neste mesmo input para poder usar o "premult"
para fazer isto vou usar um node bem parecido com o "shuffle"
que é o "ShuffleCopy"
o "ShuffleCopy" tem 2 inputs, então posso usar duas imagens nele
olhando nas propriedades do ShuffleCopy
ele coloca o canal Alpha do input 1 na saída "rgba" e mantendo os canais "rgb" do input 2
então vamos fazer as conexões: o input 1 será o novo Alpha
e o input 2 é a saida deste node
vou arrastá-lo para o meio da linha
e visualizar o resultado
meu novo alpha, volto para a visualização "RGB"
faço a premultiplicação e agora vou colocar isto em cima da outra composição
porém tenho que fazer o seguinte, fazer esta operação separadamente
pois uma não pode afetar a outra, são independentes
ok... separadas. Vou organizar o layout...
cmd para criar o node "Dot"
composição previa...
premultiplicação
e vamos colocar um em cima do outro
o A vem aqui
e o B aqui
Maravilha.... era isso que queriamos: parte sólida, parte transparente e um novo fundo
Vocês se lembro que tínhamos combinado que o input A vem pela esquerda e o B por cima
estou quebrando as regras aqui, vamos resolver isto
vou inverter os inputs ("shift+x")
e tenho que mudar o "operation": em vez de "over" vou usar "under"
é a mesma coisa que o "over" mas com os inputs invertidos
desta maneira mantemos o layout de forma correta
A pela esquerda e B vindo por cima
está feita a composição, posso re-inserir as luzes volumétricas
ou mesmo se eu desabilitar este Read, a luz volumétrica retorna
se eu trocar a imagem do fundo, vou trazer uma nova imagem para cá
a composição vai funcionar de forma correta
temos apenas um pequeno problema de diferença de tamanho de imagens
que está causando estes artefatos, vou usar um node Reformat e deixar a nova imagem
do tamanho da composição, que é "HD"
veja que após a inserção do Reformat, os artefatos sumiram
Pessoal, era isto que eu tinha para mostrar
eu sei que o processo foi um pouco mais difícil do que deveria ser
mas era este o objetivo, mostrar como manipular os canais, para obter resultados
pois muitas vezes não temos os passes ou um channel alpha apropriado
e temos que resolver isto na composição de alguma maneira.
É isto! Um abraço e até o próximo tutorial.
Para mais treinamentos: http://training.borgo.tv
Não esqueça de assinar o canal
@borgotvtraining facebook.com/borgotvtraining
Copyright © 2013 Magno Borgo