
EXR-IO e Cryptomatte: guida al compositing per artisti 3D
Panoramica
Introduzione
Quando renderizziamo scene 3D complesse, che si tratti di visualizzazioni architettoniche, lavori su personaggi o shot di prodotto, raramente ci accontentiamo di un singolo output piatto. Ci serve separazione. Ci serve controllo. Ci serve la possibilità di regolare i materiali, isolare gli oggetti e rifinire il color grading dopo il render, senza toccare la scena 3D. È qui che i file OpenEXR multilivello diventano essenziali, ed è qui che EXR-IO e Cryptomatte trasformano il nostro workflow di compositing.
Presso Super Renders Farm lavoriamo con pipeline di rendering distribuito che generano enormi quantità di sequenze EXR multilivello. Questi file contengono decine di pass (beauty, diffuse, specular, normal map, object ID, material ID), tutti raccolti in un unico formato. Accedere a questi livelli e manipolarli in modo efficiente non è facoltativo: è fondamentale per il lavoro di produzione. Il plugin EXR-IO 2.0 per Photoshop, insieme al supporto Cryptomatte, ci offre gli strumenti per farlo.
Questa guida illustra il workflow completo: dalla comprensione di che cosa siano EXR-IO e Cryptomatte, alla configurazione in Photoshop, fino all'applicazione di strategie di compositing reali che usiamo sulla nostra render farm.
Che cos'è EXR-IO?
EXR-IO è un plugin per Photoshop che legge e scrive file OpenEXR, lo standard del settore per gli effetti visivi e il rendering professionale. A differenza dei formati di file standard di Photoshop, OpenEXR (.exr) può memorizzare più livelli, canali e metadati, il tutto con profondità colore a 32 bit in virgola mobile. Significa che manteniamo la piena precisione cromatica e la gamma dinamica generate dal motore di render.
EXR-IO permette a Photoshop di:
- Importare file EXR multilivello direttamente come livelli di Photoshop
- Leggere dati di canale arbitrari dai motori di render (V-Ray, Arnold, Corona, RenderMan)
- Accedere ai metadati incorporati nel file EXR (tempo di render, versione del motore, numero di frame)
- Esportare i compositi di Photoshop di nuovo in EXR, preservando la struttura dei livelli e lo spazio colore
Per noi, questo significa poter prendere un file EXR da 50 livelli dalla nostra render farm, aprirlo in Photoshop e vedere subito ogni pass separato nel proprio livello. Nessuna conversione. Nessuna perdita. Nessun dubbio su quale pass corrisponda a quale canale.
Che cos'è Cryptomatte?
Cryptomatte è un sistema standard di codifica dei livelli sviluppato per gli effetti visivi. Invece dei tradizionali canali matte (che memorizzano maschere in scala di grigi), Cryptomatte codifica gli ID di oggetti e materiali nei livelli tramite un hash crittografato. Questo significa che:
- Possiamo cliccare su qualsiasi oggetto nell'immagine renderizzata
- Cryptomatte genera automaticamente una maschera matte perfetta per quell'oggetto
- Il matte cattura correttamente motion blur, riflessi e trasparenze
- Possiamo selezionare più oggetti e combinare i matte
- Cryptomatte funziona su più motori di render (V-Ray, Arnold, Corona, RenderMan: tutti lo supportano)
Quando abilitiamo l'output Cryptomatte nel nostro motore di render, il renderer crea due livelli per ogni tipo di matte: Object e Object00 (il livello dati e il livello matte). EXR-IO può leggere direttamente questi livelli in Photoshop, e i plugin di Photoshop (o i workflow di selezione manuale) possono estrarre i matte che ci servono.
Il vantaggio qui è la velocità. Invece di dipingere le maschere a mano o di ricorrere a costosi strumenti esterni, clicchiamo su un oggetto e otteniamo un matte preciso al pixel. Per i lavori sui personaggi, con capelli, riflessi sfumati o trasparenze complesse, è una vera svolta.
Cryptomatte diventa ancora più potente negli strumenti di compositing di livello produttivo come Nuke, soprattutto in combinazione con i pass di render in tempo reale di Unreal Engine.
Per capire meglio come si comporta davvero un render di compositing (Nuke o After Effects) su una farm distribuita, in modo diverso da un render beauty-pass 3D, consulta la nostra guida al VFX compositing sulle render farm cloud. Spieghiamo come i dati EXR multilivello e Cryptomatte fluiscono in una pipeline di virtual production nella nostra guida alla pipeline da Nuke a Unreal Engine.
Configurare EXR-IO in Photoshop
Prima di passare ai workflow Cryptomatte, dobbiamo avere EXR-IO installato e configurato.
Installazione:
- Scarica EXR-IO 2.0 dal sito ufficiale di EXR-IO
- Estrai il plugin nella cartella Plugins di Photoshop (di solito
Applications/Adobe Photoshop/Plugins/su Mac oProgram Files/Adobe/Adobe Photoshop/Plugins/su Windows) - Riavvia Photoshop
- Verifica l'installazione: vai su File > Open e dovresti ora vedere i file
.exrnel browser dei file
Impostazioni delle preferenze:
Una volta installato, apri le preferenze di Photoshop per EXR-IO:
- Color Space: imposta "Linear" se l'output di render è lineare (standard per la CG). Imposta "sRGB" solo se richiesto esplicitamente dal tuo motore di render
- Alpha Premultiplication: fai corrispondere l'output del tuo motore di render (la maggior parte dei motori usa l'alpha "Straight")
- Layer Organization: abilita "Auto-Flatten" solo se vuoi unire tutti i livelli all'importazione. Noi lo sconsigliamo, perché ci serve la separazione
- Memory Management: se lavori con sequenze 8K, abilita "Lazy Load" per evitare che Photoshop carichi tutti i livelli nella RAM in una volta sola
EXR-IO: workflow multilivello di base
Aprire un EXR multilivello in Photoshop con EXR-IO è semplice:
- File > Open, seleziona il tuo file
.exr - EXR-IO mostra una finestra di dialogo con tutti i livelli disponibili
- Seleziona quali livelli importare (oppure importali tutti)
- Clicca su Open
- Photoshop crea un nuovo documento con ogni livello EXR come livello di Photoshop
Qui la precisione conta. Un tipico render della nostra render farm potrebbe esportare:
- Beauty (il composito finale del motore di render)
- Diffuse Direct / Diffuse Indirect
- Reflection / Refraction
- Specular
- Shadow
- Ambient Occlusion
- Z-Depth (per nebbia ed effetti di profondità)
- Normal Map
- Object ID
- Material ID (dove si applica Cryptomatte)
Ognuno diventa un livello Photoshop a sé. Da qui possiamo:
- Regolare le modalità di fusione dei livelli (Multiply per le ombre, Screen per i riflessi)
- Applicare livelli di regolazione (Curves, Levels, Hue/Saturation)
- Usare maschere per limitare gli effetti a regioni specifiche
- Esportare il composito finale di nuovo in EXR per l'archiviazione o per le fasi successive
Il punto cruciale: lavoriamo in modo non distruttivo. L'EXR originale e tutti i suoi dati restano intatti.
Capire i livelli Cryptomatte in EXR-IO
Quando un motore di render produce dati Cryptomatte, il file EXR contiene più coppie di livelli. Per esempio, un singolo pass Cryptomatte di oggetti genera:
Object(il livello matte, cioè la maschera vera e propria)Object00(il livello dati, cioè l'hash crittografato)
Se il motore di render produce anche il Cryptomatte dei materiali:
MaterialMaterial00
Quando importiamo l'EXR con EXR-IO, entrambi i livelli compaiono in Photoshop. I livelli matte (Object, Material) sono immagini in scala di grigi in cui bianco = selezionato, nero = non selezionato. I livelli dati (Object00, Material00) contengono gli hash che ci servono se usiamo plugin o strumenti esterni per decodificare i matte.
In un workflow tipico ci concentriamo sui livelli matte stessi. Un matte oggetto Cryptomatte può essere usato direttamente come maschera di livello, oppure duplicato nella maschera di un livello di regolazione per controllare le correzioni colore oggetto per oggetto.
Workflow Cryptomatte: configurazione del motore di render
Per produrre dati Cryptomatte, configuriamo i nostri motori di render. Ecco come procediamo con i diversi motori usati in Super Renders Farm.
V-Ray (3ds Max, Maya, Cinema 4D):
- Apri le V-Ray Render Settings
- Vai su Render Elements
- Aggiungi un nuovo elemento: "Cryptomatte (Object)"
- Abilita "Multi-Matte Mode" se vuoi sia i dati Object sia quelli Material
- Imposta il percorso di output (formato EXR)
- Configura la nomenclatura dei file:
[Scene]_[Layer]_[Pass].exr
Arnold (Maya, Houdini):
- In AOV Manager, crea nuovi AOV
- Seleziona "Cryptomatte" come tipo di AOV
- Scegli "Object" o "Material" oppure entrambi
- Esegui il render e Arnold scrive i dati Cryptomatte direttamente nell'EXR
Corona Renderer (3ds Max, Cinema 4D):
- In Render Setup, vai su Corona Map Packs
- Abilita il pack "Cryptomatte"
- Spunta "Object" e "Material" secondo necessità
- Esegui il render in EXR
Tutti e tre i motori producono dati Cryptomatte standard. La differenza è nell'interfaccia. Il formato di output è identico.
Esportare EXR multilivello con Cryptomatte
Una volta completato il render e inclusi i pass Cryptomatte, il motore scrive un file EXR contenente:
- Tutti i pass standard di beauty e i pass tecnici (diffuse, specular, ecc.)
- I livelli Cryptomatte Object e i relativi dati
- I livelli Cryptomatte Material e i relativi dati (opzionali)
- Tutti i metadati (tempo di render, numero di frame, versione del motore)
Salviamo questi file con le impostazioni di qualità più alte: float a 16 o 32 bit, senza compressione (oppure con compressione ZIP lossless per risparmiare spazio su disco). Un singolo frame di una scena complessa può pesare da 500 MB a 2 GB. Per le sequenze ottimizziamo lo spazio con la compressione lossless e archiviamo su array SSD veloci.
Mascheratura in Photoshop con i livelli Cryptomatte
Una volta aperto l'EXR in Photoshop tramite EXR-IO, abbiamo a disposizione i livelli matte di Cryptomatte. Ecco il nostro workflow per estrarre e usare le maschere degli oggetti.
Passo 1: individua il livello matte Cryptomatte
Nel pannello Layers, trova il livello chiamato Object (oppure Material per i matte basati sui materiali). È un'immagine in scala di grigi in cui ogni oggetto o materiale ha una tonalità diversa.
Passo 2: crea una maschera di livello
Seleziona il livello da mascherare (ad esempio un livello di regolazione colore). Clic destro > Add Layer Mask. Assicurati che sia selezionato "Layer Mask" (non "Vector Mask").
Passo 3: assegna il matte Cryptomatte alla maschera
Seleziona la maschera di livello (non il livello stesso: il rettangolo bianco nel pannello Layers). Copia il livello Cryptomatte Object. Con la maschera selezionata, incolla. I dati Cryptomatte ora controllano ciò su cui agisce il livello di regolazione.
Passo 4: rifinisci la maschera
Se la maschera è troppo morbida o include aree indesiderate, regolala:
- Usa Levels o Curves sulla maschera (seleziona la maschera, non il livello)
- Applica una regolazione Threshold per creare selezioni a bordo netto
- Usa un pennello per dipingere dentro o fuori dalla maschera per la rifinitura manuale
Questo approccio è veloce. Invece di selezionare a mano gli oggetti o usare strumenti di selezione basati su IA, Cryptomatte ci dà una precisione basata sugli ID oggetto del motore di render stesso.
Esempio pratico di compositing: personaggio con capelli
Vediamo un esempio concreto: il compositing di un personaggio con capelli complessi. La sfida è che i capelli si intersecano con viso, spalle e sfondo. Un matte tradizionale richiederebbe un lavoro accurato sui bordi. Cryptomatte lo gestisce senza problemi.
Configurazione del render:
- Esegui il render del personaggio e dello sfondo con V-Ray o Arnold
- Produci i pass standard: Beauty, Diffuse, Specular, Shadow, AO
- Produci il Cryptomatte Object con gli ID per:
Character_Body,Character_Hair,Environment
In Photoshop:
- Apri l'EXR con EXR-IO
- Importa tutti i livelli
- Crea un livello di regolazione Hue/Saturation sopra il livello Beauty
- Aggiungi una maschera di livello al livello di regolazione
- Alt+clic sulla maschera di livello, incolla il livello Cryptomatte Object
- Usa Curves o Levels sulla maschera per isolare i capelli (la tonalità specifica corrispondente all'ID
Character_Hair) - Nel livello di regolazione stesso, riduci la saturazione e aumenta il calore solo per i capelli
- Aggiungi un altro livello di regolazione per scurire le ombre, di nuovo mascherato sui capelli
Risultato: abbiamo separato le regolazioni dei capelli da quelle del corpo senza mascheratura manuale. La qualità dei bordi è determinata dal motore di render, non dal nostro lavoro manuale.
Gestire l'output della render farm: sequenze multi-frame
Presso Super Renders Farm di solito non renderizziamo singoli frame, ma sequenze. Un'animazione può avere 240 frame, e ogni frame produce un file EXR da 1 GB con dati Cryptomatte. Automatizzare l'importazione e l'organizzazione è essenziale.
Workflow:
- Consolidamento in batch: al termine del render, copiamo tutti gli EXR dalla render farm su un array SSD locale
- Revisione dei metadati: controlliamo uno o due frame in Photoshop (tramite EXR-IO) per verificare che tutti i livelli attesi siano presenti
- Conferma dello spazio colore: verifichiamo che lo spazio colore corrisponda alle specifiche di output (Linear, sRGB, ACEScg, ecc.)
- Scripting Python (opzionale): per le sequenze complesse scriviamo script Python (Photoshop ha un'API Python) per importare in batch gli EXR, applicare maschere coerenti ed esportare le sequenze regolate
Per le sequenze, di solito non apriamo tutti i 240 frame in Photoshop in una volta. Invece:
- Sviluppiamo il look sul frame 1 (con le maschere Cryptomatte già al loro posto)
- Applichiamo gli stessi livelli di regolazione di Photoshop all'intera sequenza con "Edit > Fill Layers" oppure con l'elaborazione batch basata su Action
- Esportiamo ogni frame di nuovo in EXR
- Il risultato è una nuova sequenza EXR con lo stesso compositing applicato a tutti i frame
Qui la potenza di EXR-IO diventa concreta. Preserviamo tutti i livelli e i dati lungo l'intero ciclo di modifica.
FAQ
Q: EXR-IO può leggere EXR a 8 o 16 bit, o solo a 32 bit? A: EXR-IO legge tutte le profondità di bit: float a 8, 16 e 32 bit. Photoshop converte internamente a 32 bit quando lavora con EXR in virgola mobile. Per archiviazione e consegna di solito esportiamo EXR a 16 bit, che bilancia dimensione del file e precisione.
Q: Devo acquistare un plugin Cryptomatte separato per Photoshop? A: No. EXR-IO legge i livelli Cryptomatte come normali dati in scala di grigi. Puoi usare direttamente i livelli matte come maschere, senza software aggiuntivo. I plugin Cryptomatte di terze parti (come Cryptomatte per After Effects) offrono strumenti di selezione automatica, ma per il lavoro in Photoshop i livelli matte sono sufficienti.
Q: Cosa succede se il mio motore di render non supporta Cryptomatte? A: I motori più datati (V-Ray 3.x, versioni vecchie di Arnold, alcune build di Corona) potrebbero non avere Cryptomatte integrato. Controlla la documentazione del tuo motore oppure aggiorna all'ultima versione. Cryptomatte è standard nei motori di render moderni dal 2019.
Q: Posso esportare un documento Photoshop di nuovo in EXR con EXR-IO? A: Sì. File > Export As, seleziona il formato EXR e EXR-IO scrive tutti i livelli visibili di Photoshop nel file EXR. Scegli 16 o 32 bit, imposta la compressione e salva. L'EXR esportato mantiene la struttura dei livelli e i metadati.
Q: Come gestisco le incongruenze di spazio colore tra il render e Photoshop? A: Verifica sempre che il tuo motore di render produca lo stesso spazio colore del tuo spazio di lavoro in Photoshop. Nella nostra pipeline usiamo ovunque lo spazio colore Linear. Nelle preferenze di EXR-IO imposta Color Space su "Linear". Se l'immagine appare troppo chiara o troppo scura dopo l'importazione, verifica lo spazio colore di output del motore di render e regola di conseguenza la preferenza di EXR-IO.
Per approfondire
Per le tecniche di compositing di base, consulta la nostra guida ai migliori software di rendering 3D. Per workflow tecnici più avanzati, esplora i workflow di rendering professionali per i team VFX.
Risorse aggiuntive: Documentazione ufficiale di EXR-IO



