En este tutorial veremos cómo usar View Layers para obtener máscaras de objetos que, en realidad, no necesitan renderizarse, pero cuyas formas y posiciones nos interesan para conseguir otros efectos.
Transcripción del video
¡Hola a todos! Este es un complemento de mi videotutorial sobre View Layers y Z-Combine, publicado hace unos días.
En ese tutorial, les mostré cómo definir View Layers en Blender 4.1 para renderizar por separado los objetos pertenecientes a una escena y cómo mezclarlos después usando el nodo Z-Combine, mostrando así los píxeles según su distancia con respecto a la cámara.
En este tutorial veremos cómo usar View Layers para obtener máscaras de objetos que, en realidad, no necesitan renderizarse, pero cuyas formas y posiciones nos interesan para conseguir otros efectos.
En la escena que estoy usando hay, en particular, tres View Layers, cada una con un objeto; específicamente, tenemos una aeronave, un cono que representa los gases de escape y un objeto mesh formado por varios cilindros que representan los shock diamonds.
Si renderizamos únicamente la View Layer que contiene la aeronave, notamos que se renderiza sobre el fondo del universo virtual, obtenido con Nishita Sky, sin los gases de escape ni los shock diamonds.

La malla que representa los shock diamonds está parentada al cono que representa los gases de escape, el cual a su vez está parentado a la aeronave, de modo que estos dos elementos seguirán a la aeronave en todos sus movimientos.

Si renderizamos todas las View Layers, obtenemos los tres renderizados separados que luego se mezclan en Compositing. Veamos cómo.

Como no nos interesa el renderizado real de estos dos elementos, sino dos máscaras en blanco y negro que los representen, activemos el Object Index Render Pass en las dos View Layers que contienen los objetos y asignemos un índice numérico a estos dos objetos en la sección Relations de la pestaña Object Data. Vale la pena señalar que también podemos darles el mismo índice, ya que de todos modos están en dos View Layers distintas, por lo que podemos diferenciarlos sin ningún problema.

En las pestañas View Layer de las dos View Layers también debemos activar el Z Render Pass, para obtener la información de Depth en Compositing.
La información de Depth es necesaria para mezclar las distintas View Layers con el nodo Z-Combine.
Echemos un vistazo a la configuración de Compositing que he creado para lograr el render final que mostré al comienzo de este tutorial.

En la parte izquierda de la configuración tenemos las entradas.
Como pueden ver, tenemos tres nodos Render Layers, cada uno con su propia View Layer. En los dos Render Layers dedicados a los gases de escape y a los shock diamonds también están las salidas IndexOB.

En la parte derecha de la configuración tenemos los dos nodos Z-Combine, con los que ya deberían estar familiarizados. En particular, los gases de escape y los shock diamonds se mezclan primero, en este orden, y luego el resultado de esta mezcla se pasa como Foreground a otro nodo Z-Combine, donde el Background está representado por el renderizado de la aeronave.

Como mencioné en el tutorial básico sobre View Layers y Z-Combine, las dos entradas del nodo Z-Combine en realidad se distinguen entre Background, la primera, y Foreground, la segunda, porque si la información que llega al Foreground es semitransparente, entonces la información del nodo Background también se mostrará parcialmente.
Para obtener únicamente la máscara de los dos objetos adicionales, sin renderizarlos, extraemos solamente la información IndexOB de sus nodos Render Layers y proporcionamos esta información a nodos ID Mask, donde debemos especificar el mismo número que asignamos a los objetos en sus pestañas Object Data.

Las máscaras obtenidas son blancas sobre un fondo negro.
Para obtener máscaras sobre un fondo transparente, conectemos la salida de ID Mask a un nodo Set Alpha, conectando la máscara a ambas entradas; de este modo, la parte negra de la máscara se renderizará como transparente.

Después están los nodos que nos permiten implementar los glows como deseemos, pero en este caso depende de ustedes usar los nodos y parámetros de Compositing para lograr el efecto deseado: yo solo puedo darles algunas indicaciones sobre los que utilicé para mostrar el render final aquí, pero estas indicaciones no son en absoluto obligatorias.

La configuración de nodos para los shock diamonds es la más simple, porque la máscara simplemente se desenfoca con un nodo Blur y su brillo se modifica usando un nodo RGB Curves.
Dentro del nodo RGB Curves también ajusté la curva B para darle un tono ligeramente azulado a la imagen final.

La configuración de nodos para los gases de escape es un poco más compleja porque quería obtener únicamente el contorno del cono que representa los gases de escape.

Para lograr este contorno, resté de la máscara una versión reducida de ella misma, obtenida usando un nodo Dilate Erode con un valor negativo.
Hace algún tiempo hice un videotutorial sobre el uso del nodo Dilate Erode para obtener solamente los contornos de una máscara, llamado “Glowing Edges”, que les recomiendo ver si aún no lo han hecho, ya que contiene algunas ideas que podrían interesarles.

En cualquier caso, luego desenfoqué la máscara, cambié su brillo y color usando un nodo RGB Curves, en este caso modificando la curva R, aunque es una elección personal, y añadí un glow adicional usando un nodo Glare en modo Fog Glow.

Como son objetos 3D, los gases de escape y los shock diamonds siempre seguirán a la aeronave; en Compositing pueden modificar su intensidad y apariencia como deseen; finalmente, configurando los nodos Z-Combine de esta manera, se renderizarán correctamente en cada frame, es decir, sin superponerse a la aeronave.


Bien, ¡eso es todo por este tutorial! ¡Espero que pueda serles útil! ¡Nos vemos pronto!