Filter Contents in VFX Docs

Trasformazioni e Filtri

Differenze.

Mentre la color correction viene effettuata su immagini non premoltiplicate, le trasformazioni e i filtri vengono applicati alle immagini premoltiplicate. Questo evita di moltiplicare i pixel dopo aver subito una trasformazione da parte di un altro operatore.

 

trasformazione

L’errore comune.

Un errore comune è quello della doppia premoltiplica. Spesso capita di non segnalare al sotware di compositing che stiamo lavorando su immagini premoltiplicate o non premoltiplicate. Questa dimenticanza o un uso inappropriato del software può creare artefatti visibili mediante contorni neri nei pixel periferici dell’immagine da compositare. Quando ci troviamo infatti di fronte a fenomeni del genere, è probabile che la premoltiplica sia stata aplicata due volte poichè l’immagine di input non è contrasseganta come premoltiplicata. In questi casi è importante quindi fare uno switch tra il plate originale e quello compositato per verificare se ci sono variazioni negli spigoli. Questo troubleshooing permette di identificare il problema e risolvere la doppia premoltiplica. L’errore inverso sarebbe invece compositare un risultato di un greenscreen su uno sfondo senza aver applicato la premoltiplica in seguito alla correzione colore.

Nel prossimo articolo vedremo il bluescren compositing e relativi problemi.

 

Correzione Colore

Float e Matte.

Nell’articolo precedente abbiamo visto la premoltiplica e la sua importanza durante il compositing. Una fase importante dopo un greenscreen o in un generico workflow di compositing è la correzione colore. Correggere saturazione, intensità e, in via ancora piu generica, modificare i pixel può portare artefatti. E’ una buona norma infatti operare variazione di colore sulle immagine senza premoltiplica.

Per fa ciò abbiamo visto che è necessario dividere i colori per l’alpha ma spesso, se usiamo immagini a 8 bit, il processo potrebbe tagliare fuori qualche valore. Anche in questo caso è buona norma utilizzare imagini float o half float dove abbiamo 32 e 16 bit di profondità per esprimere tutta la nostra creatività.

Tecniche.

correzione coloreUn buon modo per iniziare la correzione colore è agire senza modificare troppo il flowchart di lavoro e quindi agire minimamente sull’immagine premoltiplicata, se i colori in periferia si comportano in modo strano è meglio dividere l’immagine per l’alpha.

Durante l’estrazione di una matte da un greenscreen o bluescreen è fondamentale effettuare operazioni di color correction prima di moltiplicare l’immagine source per l’alpha trovata. Questo evita variazioni di colore errate e  non volute nelle zone periferiche dell’immagine.

Ricordate sempre che nei vfx i dettagli fanno la differenza e se l’occhio umano percepisce qualcosa di non vero, l’intera sequenza sembrerà falsa.

Nel prossimo articolo vedremo la premoltiplica su filtri e trasformazioni.

 

Premoltiplica

Confusione.

C’è un po di confusione riguardo alla premoltiplica delle immagini cgi. Questo problema è influenzato direttamente dal canale di alpha e dallo spazio colore di compositing. Vediamo quindi di fare un po di chiarezza.

Importanza della premoltiplica.

Innazitutto è fondamentale conoscere tutte le fasi matematiche del compositing per capire a fondo cosa succede durante i diversi step di manipolazione. Lavorare senza curare attentamente la premoltiplica crea degli artefatti neri in prossimità dei bordi nel compositing. Spesso potremmo trovarci di fronte a immagini non premoltiplicate con bordi molto seghettati.

Tutti sappiamo che le immagini sono formate da pixel e che questi ultimi tendono a discretizzare la qualità di una immagine visualizzabile. Un algoritmo di sampling effettuato via software discretizza ulteriormente parte delle nostra immagine. Ora immaginiamo di osservare il bordo di una sfera virtuale, chiaramente il sampling dell’alpha channel forma un gradiente che va dal bianco al nero.

Una immagine rgb senza premoltiplica è composta da colori interi saturi. La premoltiplica consiste nel moltiplicare i colori rgb per il canale alpha. Questo processo tende a scurire i pixel con alpha minore di 1  rendendoli totalmente neri dove l’alpha è 0. La premoltiplica è necessaria per avere una immagine finale corretta ma il problema deriva dalla fase di compositing.

premoltiplica

Compositing.

Quando una immagine viene importata in un software di compositing la prima cosa da fare è depremoltiplicare l’immagine ( unpremult ), convertire l’immagine in uno spazio colore lineare e rieffettuare la premoltiplica. Questo processo evita di convertire i colori rgb in lineare modificati dal processo di premoltiplica durante il render. Generalmente anche dopo aver convertito l’immagine in uno spazio colore lineare, i pixel otterranno comunque una variazione logaritmica srgb temporanea poichè l’immagine viene visualizzata su un monitor classico.

I software di compositing permettono di ridurre i problemi di premoltiplica già in fase di input. L’immagine importata viene flaggata come premoltiplicata, questo farà capire al software che i colori rgb dovranno essere divisi per l’alpha in modo da riottenere i colori originali.

I pixel premoltiplicati portano con sè una percentuale di background originato durante il render. La percentuale di background è 100 meno la percentuale di alpha ( il bianco mappato a 100 e il nero a 0 ). Ciò vuol dire che se ad esempio andiamo a renderizzare una immagine su sfondo nero, una parte dei pixel periferici avranno tonalità scure dovute al blending tra l’immagine e il background nero.

Il software di compositing nel processo di divisione restituisce la tonalità originale ai pixel. E’ importante non premoltiplicare le immagini su sfondo diverso dal nero poichè il blending del pixel con lo sfondo differente porterebbe ulteriori problematiche. In questo caso bisognerebbe prima sottrarre la percentuale di colore del background per simulare un rendering su sfondo nero e  a questo punto dividere per l’alpha per riotterere il colore solido originale.

Nel prossimo articolo vedremo la correzione colore legata alla premoltiplica.

 

Sistemi Particellari

Particelle e VFX.

Un altro aspetto dell’animazione nei vfx è l’uso di sistemi particellari. Migliaia e milioni di particelle vengono create e guidate mediante funzioni matematiche: fumo, pioggia, scintille, polvere, sabbia ecc vengono ricreati in 3d mediate l’utilizo di sistemi particellari. L’animatore di solito imposta parametri come colore, intesità, grandezza dei granelli, sfocatura dei bordi, ecc per ottenere l’effetto desiderato.

Ogni particella nasce, vive e muore. Le diverse funzioni matematiche possono essere attribuite a tutte le particelle o individualmente. I sistemi particellari richiedono enormi risorse di calcolo come le simulazioni dei corpi rigidi viste precedentemente.

sistemi particellari

Sims, Hardware e Caching.

Le simulazioni e i sistemi particellari richiedono una computazione completa per ottenere l’effetto desiderato. Se immaginiamo di voler renderizzare una nuvola di polvere creatasi dopo il contatto di un oggetto con il suolo, dovremo attendere la completa simulazione per poter renderizzare un frame. Questo perchè il calcolo è intesivo e ogni frame dipende dallo stato precedente della simulazione. Potrebbero passare ore o giorni attendendo la fine di simulazioni complesse; ad ogni variazione di input, la simulazione viene ricomputata dal principio.

Si nota quindi come sia importante una struttura hardware adeguata e sopratutto una continua ricerca e studio al fine di fornire al mercato tempi di calcolo ridotti. Al termine di una simulazione, l’oggetto creato viene messo in cache, alias salvato su disco, per permettere uno scrubbing veloce e sopratutto il rendering.

Nel prossimo articolo vedremo la premoltiplica.

 

Sims

Simulazioni.

Quando si parla di sim nel mondo dei vfx, ci si riferisce alle simulazioni. Queste sono modelli matematici applicati agli oggetti in scena e simulano fenomeni fisici come gravità, attrito, frizione, fluidodinamica, ecc.

Le sims sono fondamentali poichè vanno a diminuire il carico di lavoro dell’animatore, sopratutto se si tratta di molti oggetti. Le formule matematiche applicate rendono il render definitivo più realistico di una classica animazione a mano. Nel mondo dei vfx, comunque, se una cosa sembra corretta, è corretta. Non conta se le forze in gioco non sono corrette, l’importante è il look definitivo.

sims

Sims e Hardware.

Per esempio, immaginiamo un cubo sospeso in aria. Gli applichiamo una massa e un forza gravitazionale; a questo punto eseguiamo una sim e osserviamo come il cubo precipita e collide con il terreno. Una simulazione del genere richiederebbe molto più tempo all’animatore e in più potrebbe non risultare realistica se creata a mano. Un altro aspetto da considerare è la “folla”. Se dobbiamo simulare interi eserciti o migliaia di palline è necessario un software che faccia le cose per noi, altrimenti avremmo bisogno di migliaia di animatori.

Grazie alla complessità dei modelli matematici, ci sono tante variabili in gioco. Queste vengono mappate a slider o input box permettendo all’utente di modificare le forze in gioco. Nella simulazione del cubo vista precedentemente, l’utente potrebbe modificare i coefficienti di attrito del cubo o del pavimento cambiando radicalmente la simulazione. Un animatore avrebbe dovutto animare l’intera scena, il nostro software invece, con le nuove variabili, calcola i nuovi step con una ulteriore simulazione.

Le simulazioni sono di solito sempre complesse. Gli animatori spesso non conoscono le leggi matematica che legano il movimento di un vestito sotto l’effetto del vento, della turbolenza e di compressioni e trazioni. Generalmente sono solo le variabili in gioco a venire modificate, saranno i diversi modelli matematici a simulare tutto.

Nel cinema odierno vediamo sempre più simulazioni fatte a computer: edifici che collassano, oggetti che si distruggono, esplosioni, inondazioni, ecc. Rispetto all’animazine tradizionale, le simulazioni richiedono migliaia di processori per ottenere risultati in termini brevi. L’hardware e le render farm sono quindi essenziali in una post produzione avanzata: non solo i render, infatti, ma anche le simulazioni richiedono una buona potenza di calcolo.

Grazie all’nvidia negli ultimi anni stiamo assistendo a una rapido passaggio dai calcoli effettuati in cpu a simulazioni effettuate in gpu. Ebbene si, grazie a cuda, l’nvidia sta portanto la computer grafica verso livelli sempre più alti aumentando la precisione dei dettagli e diminuendo i tempi di calcolo.

Nel prossimo articolo vedremo i sistemi particellari.

 

Twitter | Instagram | Bitbucket | Battlelog | LinkedIn | GitHub

Google Profile


My name is Giovanni Di Grezia, but people call me xgiovio.

Here is my homepage: .

I am a VFX Artist and Software Developer

And this is a picture of me.

Giovanni Di Grezia