Neste tutorial curto, vou mostrar um método para recuperar o valor de distância de um ponto no render. Isso pode ser útil para implementar efeitos de Compositing com base em valores precisos, por exemplo, para criar máscaras que só ficam ativas além de certa distância.
Transcrição do vídeo
Olá, pessoal! Como vocês sabem, o Depth Render Pass em Compositing permite obter a distância dos objetos em relação à câmera virtual na forma de uma imagem em escala de cinza de 32 bits.

Há algum tempo, publiquei um tutorial onde falei sobre esses dados e como usá-los com ou sem normalização para implementar neblina ou outros efeitos baseados em distância.
Neste tutorial curto, vou mostrar um método para recuperar o valor de distância de um ponto no render. Isso pode ser útil para implementar efeitos de Compositing com base em valores precisos, por exemplo, para criar máscaras que só ficam ativas além de certa distância.


Aqui está o ponto principal: se você tiver uma imagem carregada no Image Editor e clicar com o botão direito em um ponto, o Blender mostrará os valores RGBA desse pixel na barra inferior. O canal Alpha, em particular, pode ser muito útil para esse propósito. Assim, você poderá ver o render original e localizar os pontos de interesse, então clicar neles e ler o valor de distância no campo Alpha. Vou te mostrar como funciona.

Antes de iniciar o render, ativo o Depth Pass na aba View Layer no editor de Properties. Nessa aba, a informação de profundidade está rotulada como Z.

Após iniciar o render, em um Compositor editor, conecto a saída Depth do nó Render Layers à entrada Alpha do nó Viewer.

Em seguida, abro um Image Editor e, dentro desse editor, abro a imagem Viewer.

Agora, ao clicar com o botão direito sobre a imagem, recebo os valores de distância no campo Alpha, em unidades do Blender, a partir da câmera, para cada ponto da imagem. Clicar com o botão direito em um ponto do World Background retorna um valor de 10 bilhões, que é extremamente alto e usado para indicar a distância praticamente infinita do universo virtual.

Esse método funciona tanto com o Depth Pass como está quanto quando está normalizado. A diferença é que o valor não normalizado representa a distância real, em unidades do Blender, entre os objetos e a câmera virtual, enquanto o valor normalizado vai de 0 a 1, onde 0 é o ponto mais próximo da câmera e 1 é o mais distante. Falei sobre esses aspectos no tutorial que mencionei no início.

Quando o Depth Pass não está normalizado, clicar em uma das lápides me dá um valor em torno de 3585. Para criar uma máscara que seja branca para todos os objetos localizados entre a câmera virtual e esse valor, e preta nos demais casos, tudo o que preciso fazer é voltar ao Compositor editor e adicionar um nó Math Less Than ao conjunto de nós, conectando a saída Depth à primeira entrada Value do novo nó e definindo o valor para algo em torno de 3585 na segunda entrada.


Pronto, isso é tudo para este tutorial curto! Diferente da maioria dos meus tutoriais em vídeo, a versão em PDF deste tutorial não está disponível para download no momento. No entanto, você encontrará um link na descrição para a página com as versões em PDF de muitos dos meus outros tutoriais em vídeo. De qualquer forma, este é um ótimo momento para se inscrever no canal e ativar as notificações! Até breve!