En este tutorial, aprenderemos cómo guardar los Render Passes de nuestros renders en un archivo EXR y luego abrir estos mismos archivos y modificarlos en Compositing.
Transcripción del video
¡Hola a todos!
En este tutorial, aprenderemos cómo guardar los Render Passes de nuestros renders en un archivo EXR y luego abrir estos mismos archivos y modificarlos en Compositing.
Específicamente, en este ejemplo, exploraremos cómo recuperar la máscara de un objeto de una imagen renderizada utilizando el canal de información IndexOB, para modificar algunas de sus características en Compositing.
El tutorial fue creado utilizando la versión 3.6 LTS de Blender, pero las características descritas están disponibles al menos desde la versión 2.49.
¡Bien, comencemos! Veamos cómo guardar los Render Passes de nuestra escena en un archivo EXR.
He abierto un proyecto de Blender que contiene varios objetos, listos para ser renderizados.

Establecí el tipo de archivo de salida para el render a OpenEXR Multilayer, en la pestaña Output del Properties Editor. Asegúrate de seleccionar la variante Multilayer de este formato de archivo.

Antes de comenzar el renderizado de la escena, necesito seleccionar los Render Passes que quiero guardar en el archivo en la sección Passes de la pestaña View Layer, dentro del Properties Editor.

En mi caso, estoy seleccionando solo el Object Index porque quiero poder aislar ciertos objetos basados en un identificador numérico que les asignaré en breve.
En el nodo Render Layers, aparecerá el campo IndexOB, que es cómo se refiere aquí al Object Index Pass. Nota que no es necesario conectar esta información de ninguna manera al nodo Composite.

Ahora, estoy estableciendo diferentes índices numéricos para ciertos objetos en la escena, como el escritorio, la silla o los cristales de las ventanas. Los índices numéricos deben establecerse para cada objeto seleccionado en la pestaña Pass Index de la sección Relations, dentro de la pestaña Object del Properties Editor.

En este punto, puedo comenzar el renderizado de la escena.
Una vez que se completa el renderizado, lo guardo en disco en un archivo con extensión EXR.

La primera parte del trabajo está hecha: ¡He guardado el canal de información deseado en el archivo EXR! A partir de aquí, ¡puedes replicar mis pasos con el archivo EXR proporcionado en el paquete gratuito!
Entonces, abramos un nuevo proyecto de Blender para ver cómo modificar la apariencia de un elemento del render guardado en el archivo EXR.
Primero, abramos una ventana Compositing Nodes y activemos el uso de Nodes.

Eliminemos el nodo Render Layer y añadamos, en su lugar, un nodo tipo Input Image.
Además, añadamos un nodo Viewer y un nodo Reroute, conectándolos de manera que la salida Image del nodo Image vaya al Reroute, y desde el Reroute, vaya tanto a los nodos Composite como Viewer.
De esta manera, podemos ver una vista previa de nuestro trabajo en esta ventana.

En el nodo Image, carguemos, por supuesto, la imagen EXR que guardamos en el disco en la primera parte de este tutorial. Alternativamente, podemos arrastrar y soltar el archivo EXR directamente desde el disco en la ventana Compositing.

Conectemos la salida Combined del nodo Image al nodo Reroute.
Si la opción Backdrop está activa, verás la imagen como fondo de la ventana. Presiona la tecla V para reducir esta vista previa, o inversamente, la combinación de teclas ALT + V para agrandarla.

Si arrastramos y soltamos el archivo EXR en el Compositor Editor, veremos IndexOB y otros canales en el nodo.
Esto no ocurre cuando abrimos el archivo EXR desde un nodo Imagen.
En ese caso, si abrimos el panel Transform del nodo Image y hacemos clic en Node Properties Composite, notaremos que podemos cambiar esta entrada del menú a View Layer.
Cuando hacemos eso, aparecerá un segundo menú donde también podemos seleccionar IndexOB, indicando que la información ha sido cargada pero aún no es accesible en la ventana Compositing.

Abramos un editor Image.
En el editor Image, carguemos la imagen EXR que importamos al proyecto.

Los campos guardados en el archivo EXR ahora deberían aparecer en el nodo Imagen, dentro de la ventana Compositing. No me preguntes por qué, pero parece que la imagen necesita ser abierta en un editor de imágenes para poder recuperar sus componentes en Compositing.

De esta manera, hemos recuperado la información almacenada en el archivo OpenEXR Multilayer, entre la cual, en nuestro caso, está el campo IndexOB.
En la primera parte del tutorial, asigné algunos valores numéricos a los campos Pass Index de un par de objetos. Para recuperarlos, conectamos un nodo Converter ID Mask entre la salida IndexOB del nodo Image y el nodo Reroute.

Luego ajustamos el valor en el campo Index hasta que identificamos el escritorio, que se mostrará en blanco en la vista previa de Backdrop, mientras que el resto de la imagen se volverá negro.

Luego podemos extraer una máscara para ciertos objetos y modificar directamente en la imagen renderizada. Intentemos, por ejemplo, usar un nodo Color Balance en el escritorio.
Para recuperar los colores originales solo del escritorio, multiplicamos la salida de la máscara del ID Mask por la salida Combined del nodo Image.
Esto se puede hacer utilizando un nodo Color Mix configurado en modo Multiply, asegurándonos de conectar Combined a la primera entrada Image de Mix y la salida ID Mask a la segunda entrada Image de Mix.

Luego, podemos conectar la salida de Multiply a un nodo Color Balance o cualquier otro nodo de corrección de color u otros efectos, según nuestras necesidades.

Para ver la edición en la imagen completa, también insertamos un nodo Color Alpha Over en la escena.
Luego, conecta Combined a la primera entrada Image de este nuevo nodo Alpha Over y la salida del nodo Color Balance a la segunda entrada Image.
Luego conecta la salida Image del nodo Alpha Over al nodo Reroute.

El nodo Alpha Over no está funcionando como debería porque su Factor está establecido en 1 para toda la imagen, lo que significa que solo estamos usando la segunda entrada Image, que es la salida del Color Balance.
Para limitar la superposición de la segunda imagen solo al escritorio, necesitamos una máscara que sea negra en todas partes excepto en las áreas del escritorio.
Esto se utilizará como el Factor para el nodo Alpha Over...
¡bueno, esa es precisamente la máscara que estamos obteniendo de ID Mask!

Realicemos esta conexión y observemos el resultado, posiblemente continuando ajustando el nodo Color Balance o cualquier otro nodo de post-producción, según nuestras necesidades.

Podemos evaluar las diferencias introducidas por el nodo Color Balance seleccionándolo y presionando repetidamente la tecla M, que es un atajo para Mute, para activar o desactivar el nodo.
Utilizando otros nodos ID Mask configurados con diferentes valores para el campo Index, podemos aislar otros elementos de la imagen para modificar con otras configuraciones de nodos.
En este ejemplo, solo activé el Object Index antes de comenzar el renderizado y guardarlo en el archivo OpenEXR Multilayer, pero obviamente, puedes guardar otros Passes en el archivo para lograr diferentes efectos.
¡Espero que este tutorial haya sido útil! ¡Hasta pronto!