
EXR-IO y Cryptomatte: guía de compositing para artistas 3D
Resumen
Introducción
Cuando renderizamos escenas 3D complejas, ya sean visualizaciones arquitectónicas, trabajo de personajes o imágenes de producto, rara vez nos conformamos con una única salida plana. Necesitamos separación. Necesitamos control. Necesitamos poder ajustar materiales, aislar objetos y refinar la corrección de color después del renderizado sin tocar la escena 3D. Ahí es donde los archivos OpenEXR multicapa resultan esenciales, y donde EXR-IO y Cryptomatte transforman nuestro flujo de compositing.
En Super Renders Farm trabajamos con pipelines de renderizado distribuido que generan enormes volúmenes de secuencias EXR multicapa. Estos archivos contienen decenas de pases (beauty, difuso, especular, mapas de normales, ID de objetos, ID de materiales), todos apilados en un único formato. Acceder a estas capas y manipularlas con eficiencia no es opcional: es la base del trabajo de producción. El plugin EXR-IO 2.0 para Photoshop, combinado con la compatibilidad con Cryptomatte, nos da las herramientas para hacerlo.
Esta guía recorre el flujo de trabajo completo: desde entender qué son EXR-IO y Cryptomatte, pasando por su configuración en Photoshop, hasta la aplicación de estrategias de compositing reales que usamos en nuestra render farm.
Qué es EXR-IO
EXR-IO es un plugin de Photoshop que lee y escribe archivos OpenEXR, el estándar de la industria para efectos visuales y renderizado profesional. A diferencia de los formatos de archivo habituales de Photoshop, OpenEXR (.exr) puede almacenar múltiples capas, canales y metadatos, todo con una profundidad de color de coma flotante de 32 bits. Esto significa que conservamos toda la precisión de color y el rango dinámico del motor de renderizado.
EXR-IO permite a Photoshop:
- Importar archivos EXR multicapa directamente como capas de Photoshop
- Leer datos de canales arbitrarios de los motores de renderizado (V-Ray, Arnold, Corona, RenderMan)
- Acceder a los metadatos incrustados en el archivo EXR (tiempo de renderizado, versión del motor, número de fotograma)
- Exportar composiciones de Photoshop de vuelta a EXR, conservando la estructura de capas y el espacio de color
Para nosotros, esto significa que podemos tomar un archivo EXR de 50 capas de nuestra render farm, abrirlo en Photoshop y ver de inmediato cada pase separado en su propia capa. Sin conversión. Sin pérdida. Sin dudas sobre qué pase corresponde a qué canal.
Qué es Cryptomatte
Cryptomatte es un sistema estándar de codificación de capas desarrollado para efectos visuales. En lugar de los canales matte tradicionales (que almacenan máscaras en escala de grises), Cryptomatte codifica los ID de objetos y materiales en capas mediante un hash cifrado. Esto significa que:
- Podemos hacer clic en cualquier objeto de la imagen renderizada
- Cryptomatte genera automáticamente una máscara matte perfecta para ese objeto
- El matte captura correctamente el desenfoque de movimiento, los reflejos y la transparencia
- Podemos seleccionar varios objetos y combinar mattes
- Cryptomatte funciona en todos los motores de renderizado (V-Ray, Arnold, Corona y RenderMan lo admiten)
Cuando activamos la salida de Cryptomatte en nuestro motor de renderizado, este crea dos capas por tipo de matte: Object y Object00 (la capa de datos y la capa de matte). EXR-IO puede leer estas capas directamente en Photoshop, y los plugins de Photoshop (o los flujos de selección manual) pueden extraer los mattes que necesitamos.
El valor aquí es la velocidad. En lugar de pintar máscaras a mano o ejecutar costosas herramientas externas, hacemos clic en un objeto y obtenemos un matte perfecto a nivel de píxel. Para trabajo con personajes que incluye cabello, reflejos difuminados o transparencias complejas, esto supone un cambio radical.
Cryptomatte resulta aún más potente en herramientas de compositing de nivel de producción como Nuke, especialmente cuando se combina con pases de render en tiempo real de Unreal Engine.
Para una visión más detallada de cómo se comporta realmente un render de compositing (Nuke o After Effects) en una render farm distribuida, a diferencia de un render de pase beauty en 3D, consulte nuestra guía de VFX compositing en render farms en la nube. Explicamos cómo fluyen los datos de EXR multicapa y Cryptomatte a través de un pipeline de producción virtual en nuestra guía del pipeline de Nuke a Unreal Engine.
Configuración de EXR-IO en Photoshop
Antes de entrar en los flujos de trabajo con Cryptomatte, necesitamos tener EXR-IO instalado y configurado.
Instalación:
- Descargue EXR-IO 2.0 del sitio oficial de EXR-IO
- Extraiga el plugin en la carpeta Plugins de Photoshop (normalmente
Applications/Adobe Photoshop/Plugins/en Mac oProgram Files/Adobe/Adobe Photoshop/Plugins/en Windows) - Reinicie Photoshop
- Verifique la instalación: vaya a File > Open y ahora debería ver los archivos
.exren el explorador de archivos
Ajustes de preferencias:
Una vez instalado, abra las preferencias de Photoshop para EXR-IO:
- Color Space: configúrelo en "Linear" si la salida de su render es lineal (lo estándar en CG). Configúrelo en "sRGB" solo si su motor de renderizado lo exige explícitamente
- Alpha Premultiplication: haga coincidir la salida de su motor de renderizado (la mayoría de los motores usan alfa "Straight")
- Layer Organization: active "Auto-Flatten" solo si desea fusionar todas las capas al importar; no lo recomendamos, ya que necesitamos la separación
- Memory Management: si trabaja con secuencias 8K, active "Lazy Load" para evitar que Photoshop cargue todas las capas en la RAM a la vez
EXR-IO: flujo de trabajo multicapa básico
Abrir un EXR multicapa en Photoshop con EXR-IO es sencillo:
- File > Open, seleccione su archivo
.exr - EXR-IO muestra un cuadro de diálogo con todas las capas disponibles
- Seleccione qué capas importar (o importe todas)
- Haga clic en Open
- Photoshop crea un nuevo documento con cada capa del EXR como una capa de Photoshop
Aquí es donde importa la precisión. Un render típico de nuestra render farm podría exportar:
- Beauty (composición final del motor de renderizado)
- Diffuse Direct / Diffuse Indirect
- Reflection / Refraction
- Specular
- Shadow
- Ambient Occlusion
- Z-Depth (para efectos de niebla y profundidad)
- Normal Map
- Object IDs
- Material IDs (donde se aplica Cryptomatte)
Cada uno se convierte en su propia capa de Photoshop. A partir de ahí:
- Ajustamos los modos de fusión de capas (Multiply para sombras, Screen para reflejos)
- Aplicamos capas de ajuste (Curves, Levels, Hue/Saturation)
- Usamos máscaras para limitar los efectos a regiones específicas
- Exportamos la composición final de vuelta a EXR para archivo o para trabajo posterior
El punto crítico: trabajamos de forma no destructiva. El EXR original y todos sus datos permanecen intactos.
Capas de Cryptomatte en EXR-IO
Cuando un motor de renderizado genera datos de Cryptomatte, el archivo EXR contiene varios pares de capas. Por ejemplo, un único pase de Cryptomatte de objetos genera:
Object(la capa de matte, es decir, la máscara real)Object00(la capa de datos, es decir, el hash cifrado)
Si el motor de renderizado también genera Cryptomatte de materiales:
MaterialMaterial00
Al importar el EXR con EXR-IO, ambas capas aparecen en Photoshop. Las capas de matte (Object, Material) son imágenes en escala de grises donde blanco = seleccionado y negro = no seleccionado. Las capas de datos (Object00, Material00) contienen los hashes que necesitamos si usamos plugins o herramientas externas para decodificar los mattes.
En un flujo de trabajo típico, nos centramos en las propias capas de matte. Un matte de objeto de Cryptomatte puede usarse directamente como máscara de capa, o duplicarse en una máscara de capa de ajuste para controlar las correcciones de color por objeto.
Flujo de trabajo de Cryptomatte: configuración del motor de renderizado
Para generar datos de Cryptomatte, configuramos nuestros motores de renderizado. Así lo hacemos en los distintos motores que se usan en Super Renders Farm.
V-Ray (3ds Max, Maya, Cinema 4D):
- Abra V-Ray Render Settings
- Vaya a Render Elements
- Añada un nuevo elemento: "Cryptomatte (Object)"
- Active "Multi-Matte Mode" si desea datos de Object y de Material
- Defina la ruta de salida (formato EXR)
- Configure el nombre de archivo:
[Scene]_[Layer]_[Pass].exr
Arnold (Maya, Houdini):
- En AOV Manager, cree nuevos AOV
- Seleccione "Cryptomatte" como tipo de AOV
- Elija "Object", "Material" o ambos
- Renderice y Arnold escribe los datos de Cryptomatte directamente en el EXR
Corona Renderer (3ds Max, Cinema 4D):
- En Render Setup, vaya a Corona Map Packs
- Active el pack "Cryptomatte"
- Marque "Object" y "Material" según sea necesario
- Renderice a EXR
Los tres motores generan datos de Cryptomatte estándar. La diferencia está en la interfaz. El formato de salida es idéntico.
Exportación de EXR multicapa con Cryptomatte
Una vez que el render termina e incluye pases de Cryptomatte, el motor escribe un archivo EXR que contiene:
- Todos los pases estándar de beauty y técnicos (difuso, especular, etc.)
- Capas y datos de Cryptomatte de objetos
- Capas y datos de Cryptomatte de materiales (opcional)
- Todos los metadatos (tiempo de renderizado, número de fotograma, versión del motor)
Los guardamos con los ajustes de máxima calidad: coma flotante de 16 o 32 bits, sin compresión (o con compresión ZIP sin pérdida para ahorrar espacio en disco). Un único fotograma de una escena compleja puede ocupar entre 500 MB y 2 GB. Para las secuencias, optimizamos el almacenamiento con compresión sin pérdida y lo guardamos en matrices de SSD rápidas.
Enmascarado en Photoshop con capas de Cryptomatte
Una vez que el EXR está abierto en Photoshop mediante EXR-IO, tenemos disponibles las capas de matte de Cryptomatte. Este es nuestro flujo de trabajo para extraer y usar máscaras de objetos.
Paso 1: localice la capa de matte de Cryptomatte
En el panel Layers, busque la capa llamada Object (o Material para mattes basados en materiales). Es una imagen en escala de grises donde cada objeto o material tiene un tono distinto.
Paso 2: cree una máscara de capa
Seleccione la capa que desea enmascarar (por ejemplo, una capa de ajuste de color). Haga clic con el botón derecho > Add Layer Mask. Asegúrese de que esté seleccionado "Layer Mask" (no "Vector Mask").
Paso 3: asigne el matte de Cryptomatte a la máscara
Seleccione la máscara de capa (no la capa en sí, sino el rectángulo blanco del panel Layers). Copie la capa de Cryptomatte Object. Con la máscara seleccionada, pegue. Los datos de Cryptomatte ya controlan lo que afecta la capa de ajuste.
Paso 4: refine la máscara
Si la máscara es demasiado suave o incluye zonas no deseadas, ajústela:
- Use Levels o Curves sobre la máscara (seleccione la máscara, no la capa)
- Aplique un ajuste Threshold para crear selecciones de bordes duros
- Use un pincel para pintar dentro o fuera de la máscara y refinarla manualmente
Este método es rápido. En lugar de seleccionar objetos a mano o usar herramientas de selección con IA, Cryptomatte nos da precisión basada en los propios ID de objetos del motor de renderizado.
Ejemplo práctico de compositing: personaje con cabello
Veamos un ejemplo concreto: el compositing de un personaje con cabello complejo. El desafío es que el cabello se cruza con el rostro, los hombros y el fondo del personaje. Un matte tradicional exigiría un trabajo cuidadoso de bordes. Cryptomatte lo resuelve sin problemas.
Configuración del render:
- Renderice el personaje y el fondo con V-Ray o Arnold
- Genere los pases estándar: Beauty, Diffuse, Specular, Shadow, AO
- Genere Cryptomatte Object con ID para:
Character_Body,Character_Hair,Environment
En Photoshop:
- Abra el EXR con EXR-IO
- Importe todas las capas
- Cree una capa de ajuste Hue/Saturation encima de la capa Beauty
- Añada una máscara de capa a la capa de ajuste
- Haga clic con Alt en la máscara de capa y pegue la capa Object de Cryptomatte
- Use Curves o Levels sobre la máscara para aislar el cabello (el tono específico que corresponde al ID
Character_Hair) - En la propia capa de ajuste, reduzca la saturación y aumente la calidez solo para el cabello
- Añada otra capa de ajuste para oscurecer las sombras, enmascarada de nuevo en el cabello
Resultado: hemos separado los ajustes del cabello de los del cuerpo sin enmascarado manual. La calidad de los bordes la determina el motor de renderizado, no nuestro trabajo manual.
Gestión de los resultados de la render farm: secuencias de varios fotogramas
En Super Renders Farm no solemos renderizar fotogramas sueltos. Renderizamos secuencias. Una animación puede tener 240 fotogramas, y cada uno produce un archivo EXR de 1 GB con datos de Cryptomatte. Automatizar la importación y la organización es esencial.
Flujo de trabajo:
- Consolidación por lotes: una vez terminado el render, copiamos todos los EXR de la render farm a una matriz de SSD local
- Revisión de metadatos: comprobamos uno o dos fotogramas en Photoshop (mediante EXR-IO) para verificar que están presentes todas las capas esperadas
- Confirmación del espacio de color: verificamos que el espacio de color coincide con nuestra especificación de salida (Linear, sRGB, ACEScg, etc.)
- Scripting con Python (opcional): para secuencias complejas, escribimos scripts en Python (Photoshop tiene una API de Python) para importar EXR por lotes, aplicar máscaras uniformes y exportar secuencias ajustadas
En las secuencias, normalmente no abrimos los 240 fotogramas en Photoshop a la vez. En su lugar:
- Desarrollamos el aspecto en el fotograma 1 (con las máscaras de Cryptomatte aplicadas)
- Aplicamos las mismas capas de ajuste de Photoshop a toda la secuencia mediante "Edit > Fill Layers" o procesamiento por lotes basado en Actions
- Exportamos cada fotograma de vuelta a EXR
- El resultado es una nueva secuencia EXR con la misma composición aplicada a todos los fotogramas
Aquí es donde el poder de EXR-IO se hace tangible. Conservamos todas las capas y los datos durante todo el ciclo de edición.
FAQ
Q: ¿Puede EXR-IO leer EXR de 8 o 16 bits, o solo de 32 bits? A: EXR-IO lee todas las profundidades de bits: coma flotante de 8, 16 y 32 bits. Photoshop convierte internamente a 32 bits cuando trabaja con EXR de coma flotante. Para archivo y entrega, solemos exportar EXR de 16 bits, que equilibra tamaño de archivo y precisión.
Q: ¿Necesito comprar un plugin de Cryptomatte aparte para Photoshop? A: No. EXR-IO lee las capas de Cryptomatte como datos estándar en escala de grises. Puede usar las capas de matte directamente como máscaras sin software adicional. Los plugins de Cryptomatte de terceros (como Cryptomatte para After Effects) ofrecen herramientas de selección automatizada, pero para trabajar en Photoshop las propias capas de matte son suficientes.
Q: ¿Qué ocurre si mi motor de renderizado no admite Cryptomatte? A: Los motores más antiguos (V-Ray 3.x, versiones antiguas de Arnold, algunas compilaciones de Corona) pueden no tener Cryptomatte integrado. Consulte la documentación de su motor o actualícelo a la última versión. Cryptomatte es un estándar en los motores de renderizado modernos desde 2019.
Q: ¿Puedo exportar un documento de Photoshop de vuelta a EXR con EXR-IO? A: Sí. File > Export As, seleccione el formato EXR y EXR-IO escribe todas las capas visibles de Photoshop en el archivo EXR. Elija 16 o 32 bits, defina la compresión y guarde. El EXR exportado conserva la estructura de capas y los metadatos.
Q: ¿Cómo gestiono las discrepancias de espacio de color entre el render y Photoshop? A: Verifique siempre que su motor de renderizado genere el mismo espacio de color que su espacio de trabajo de Photoshop. Nosotros usamos el espacio de color Linear en todo nuestro pipeline. En las preferencias de EXR-IO, configure Color Space en "Linear". Si la imagen se ve demasiado clara u oscura tras la importación, verifique el espacio de color de salida del motor de renderizado y ajuste la preferencia de EXR-IO en consecuencia.
Más información
Para técnicas de compositing básicas, consulte nuestra guía del mejor software de renderizado 3D. Para flujos de trabajo técnicos más avanzados, explore los flujos de trabajo profesionales de renderizado para equipos de VFX.
Recursos adicionales: Documentación oficial de EXR-IO



