Rendering in pass e compositing in Softimage|XSI




1)Introduzione


Premessa

Premetto che questo tutorial vuole essere solo un "punto di partenza", il render in pass (e la scelta del tipo e numero di pass, nonchè il modo di farli) può essere gestito in molti modi e questo è solo uno dei tanti.

Notando che in rete non è facilissimo trovare tutorial o guide semplici e chiare sull'argomento (in italiano ancora meno),ho pensato di creare questo tut che è come un "riassunto" dei tutorial e dei consigli che ho assimilato in questo periodo.

Cosa otterremo

Con questo tutorial vedremo come scomporre la nostra scena (animata o statica) in più "Pass", ovvero in immagini che contengono solo una caratteristica specifica della scena, immagini che andranno "fuse" insieme per ottenere il render finale.

In pratica, otterremo i seguenti pass:




1)DIFFUSE, che contiene i colori e le forme base

diffuse



2)AMBIENT OCCLUSION, che conferisce l' "ombrettina" tipica di una global illumination con tempi molto inferiori rispetto a quest'ultima: infatti non è una vera GI, non vengono calcolati rimbalzi di luce o altro ma viengono semplicemente create delle zone più scure a seconda di quanto sono appunto "Occluse" determinate zone.Per approfondimenti date un occhiata qui.

AO


3)SHADOW, che contiene semplicemente le ombre

shad


4)HIGHLIGHTS, cioè i punti di massima illuminazione.

spec


Noi ci fermiamo qui ma in realtà si possono fare pass per qualsiasi cosa, dalle reflection allo zdepht alla GI, fino a scomporre letteralmente la scena (immaginate di dover renderizzare una città, possiamo fare un pass per edifici e strade, un pass per le persone ed uno per le macchine : P).




Ottenuti questi pass, vedremo come fonderli e regolarli fino ad arrivare al rendering finale usando il motore di compositing interno di XSI, "Illusion".

s %20comp


Perchè renderizzare in pass?

Perchè offre innumerevoli vantaggi, riassumibili col fatto che si possono regolare una MAREA di cose DOPO il rendering;

in animazione poi, dove è necessario tenere bassi i tempi di resa, i pass sono quasi essenziali per ottenere particolari effetti, effettuare correzioni o aggiungere elementi in scena SENZA dover renderizzare di nuovo tutto.

Si parla di ore ed ore di tempo risparmiato e di un controllo totale sul risultato finale.

Inutile dire che praticamente tutte le produzioni 3d animate sono renderizzate in pass proprio per questi motivi ; )
In ogni caso alla fine di questo tut penso che i vantaggi saranno molto chiari : )





2)Preparare la scena

[La mia scena è solo un esempio ma per i più pigri o per chi non ha tempo potete scaricare liberamente il mio project QUI(partenza e risultato finale)]




Creare un nuovo "Project"

Uno dei vantaggi/svantaggi di XSI è che NON E' fatto per fare le cose al volo.Ha una sua logica e un suo workflow che vanno seguiti, insomma o fate le cose bene e ordinatamente oppure diventa molto rapidamente un incubo gestire la scena ; P

Quindi per prima cosa create un nuovo project e una cartellina col nome del progetto in modo da avere tutto sotto controllo e tutto ordinato, nonchè predisposto ad un eventuale team di lavoro >:D

Ora,quando create un nuovo project, si creano una serie di sottocartelle;




Le più importanti (e quelle che useremo in questo tut) sono:

Scenes --->Dove verranno salvate le scene

Render_pictures--->Dove verranno salvate le immagini o le sequenze di immagini dei rendering

Composites--->Dove verranno salvate le immagini o i file video dopo il compositing




Ora potete cominciare a modellare (ed eventualmente animare) la vostra scena, dare tutti i materiali e texture di base e sistemare le luci controllando con la render region il risultato.

Mi raccomando date sempre dei nomi agli oggetti e siate il più ordinati possibile!

Vi consiglio, per questo tutorial, di creare una scena semplice per non complicarvi la vita da subito e per fare velocemente le prove, volendo anche solo un piano e una sfera vanno benissimo.

Cercate di ottenere una solida base di partenza, bella luminosa e con i colori "sparati".

Questo è l'esempio della mia immagine di partenza:

First



3)Il pass "DIFFUSE"




Cos'è

Il pass "Diffuse" è quello che contiene i colori e le forme della nostra scena.

In teoria, l'ideale sarebbe ottenere un immagine dai colori totalmente piatti; XSI per ora (parlo di versione 5)

non prevede un pass o un accorgimento che imposti automaticamente tutti i materiali in quel modo, volendo

possiamo far diventare tutti i materiali dei constant, ma c'è da diventare scemi : D

Per ora non ci importa perchè faremo solo in modo di togliere le ombre e di schiarire il più possibile il tutto,

e il risultato sarà ottimo lo stesso.

Senza crearne uno nuovo, trasformeremo il Default_pass (il pass generico di base) in DIFFUSE.




Impostazioni

Per prima cosa, col pannello "Render" attivo (tasto 3) andiamo su pass-->edit-->edit current pass

e nella finestra che apparirà, alla voce "Name" diamogli DIFFUSE.

Non tocchiamo gli altri settaggi e chiudiamo la finestra.




Ora apriamo l'explorer (tasto 8), e impostiamolo su "Passes" cliccando in alto a sinistra oppure

premiamo p.

passes


Vediamo che sono presenti di default due partition, una per gli oggetti (Background_Object_Partition) ed una per le luci(Background_Lights_Partition).

Considerate queste due partition semplicemente l'insieme di tutti gli oggetti della scena e l'insieme di tutte le luci.

Possiamo quindi cambiare facilmente le proprietà di tutti gli oggetti e di tutte le luci in un solo passaggio, vedremo adesso come.

Per questo pass in particolare, vogliamo solo che le luci non proiettino ombre.




Cos'è una partition

Una partition è come un "Raccoglitore" di oggetti, luci o quant'altro all'interno di un pass.

Facciamo un esempio pratico sempre con le luci: possiamo fare una partition a parte per una o più luci a scelta e decidere ad esempio di spegnerle, lasciando accese le altre che stanno sulla partition di default.

Quindi Pannello Render-->pass-->partition-->new partition (Con la/le luci SELEZIONATE).Nell'explorer avremo ora una nuova partition con le luci che abbiamo scelto!

Stessa cosa, parlando di oggetti, se volevo fare una partition a parte per il personaggio "Cubico" e i cubi sullo sfondo, li selezionavo, new partition, ed il gioco è fatto, ad esempio

potrei decidere che quegli oggetti non devono avere l'OCCLUSION mentre gli altri si : )




Anche in questo caso inutile dire che è una possibilità incredibilmente potente e comoda in un sacco di situazioni ; )




Assegnare un Override

Attraverso l'"Override" potremo andare ad attivare- disattivare- modificare in un colpo solo i parametri di tutti gli oggetti o di tutte le luci del pass corrente.

Selezioniamo la partition delle luci, andiamo nel pannello Render-->get-->Property-->Override.

Comparirà questa finestrella:

override


Cliccando su Add Parameters, possiamo selezionare i parametri su cui vogliamo intervenire.

Vediamo che si apre una lista molto lunga con TUTTI i parametri che possiamo immaginare;

clicchiamo sul + vicino alla prima luce della lista, il parametro per

attivare- disattivare le ombre si trova qui:

overrideshadow


Ora clicchiamo fuori dalla finestra e clicchiamo su "Parameter" quando richiesto.

Adesso abbiamo nella nostra lista il parametro Shadow che possiamo attivare-disattivare

semplicemente cliccando sulla casellina a destra.

Assicuriamoci quindi di tenere le ombre disattivate controllando con la solita render region.




Impostare i parametri di rendering

Pannello render-->render-->Render-->options

Di seguito elencherò i parametri più comuni, evidenziando quelli su cui ho agito:




Output

Appena apriamo il pannello siamo nella voce Outputselezioniamo quali frame renderizzare. Se è un'immagine statica,mettiamo 1 sia su start che su end, se è un animazione impostiamo quali frame renderizzare.

Alla voce image format possiamo selezionare il formato delle immagini salvate.Potete benissimo lasciare su PIC che è il formato nativo di XSI (io lascio sempre quello) oppure potete scegliere il vostro formato preferito;è importante che sia un formato che supporti l'alpha channel come tga o tiff oppure PNG.

Ricordiamoci che le immagini verranno salvate nella cartella Render_Pictures del vostro project.

outputz


Format

E' molto importante specificare il formato dell'immagine renderizzata.

Per la stragrande maggioranza dei casi consiglio di mettere "Picture standard" su "Custom", disabilitare "Mantain Picture Ratio" e portare a 1 "Pixel ratio".

Dopodichè impostate la risoluzione desiderata (oppure "Per sicurezza" impostate tutto esattamente come l'ho impostato io ; P)

formatz


Aliasing

L'impostazione dell'aliasing è determinante per quanto riguarda i tempi di rendering, e le impostazioni vanno fatte a seconda della scena e del tipo di risultato che si vuole ottenere.

Come base di partenza io di solito imposto come type un Mitchell(ottimo rapporto qualità-velocità) e -1 e 2 come min e max level.

Dopodichè faccio delle prove abbassando il threshold (più lo si porta sul nero più aumenta la precisione dell'effetto) e aumentando le size x ed y del Mitchell.
Piccolo trucco: tenendo premuto ctrl, si possono spostare in contemporanea gli slider R,G,B del threshold (funziona con tutti gli slider simili in XSI; )


aliasz


Ora alziamo ancora un po' le luci per ottenere la massima illuminazione possibile (senza però bruciare l'immagine) e renderizziamo:




diffuseb


4)Il pass "Occlusion"




Cos'è

L'ambient occlusion (letteralmente "Occlusione ambientale") è praticamente una finta global illumination che ha il vantaggio di essere sensibilmente più veloce da calcolare.

L'effetto che crea è la famosa "Ombrettina" sfumata attorno agli oggetti, conferendo realismo e togliendo quella sensazione di "plasticoso" tipica dell'illuminazione standard.

Quello che intendo sarà molto chiaro tra poco ;)




Impostazioni

Per prima cosa creiamo un nuovo pass vuoto:

Pannello render-->pass-->edit-->New Pass-->Empty

Diamo subito il nome al pass (OCCLUSION) e impostiamo i parametri di rendering come nel

diffuse, eccezion fatta per l'aliasing che reimposteremo tra poco per ottimizzare i tempi di resa.




Per questo particolare pass non assegneremo un override come prima, ma assegneremo un materiale "Occlusionato" unico a tutta la scena.

Quindi apriamo l'explorer (Tasto 8), visualizziamo gli elementi del pas corrente (tasto p), selezioniamo la partition degli oggetti.

Ora basterà cliccare nel pannello render-->get-->material-->blinn (o lambert o phong o quello che volete, non ha importanza).

Se facciamo una render region vedremo che tutti gli oggetti saranno diventati grigi.




Il nodo "Ambient Occlusion"

Adesso vogliamo attivare l'ambient occlusion, quindi apriamo il render tree (Tasto 7), andiamo su Nodes-->illumination-->Ambient Occlusion.

Verrà aggiunto un nodo che noi collegheremo al surface del materiale corrente; facendo doppio clic su questo nodo avremo accesso alle impostazioni del numero di samples e "Apertura" (spread) dell'effetto.

Per quanto riguarda il numero di samples, più sono più ovviamente diminuisce l'effetto "Puntinato" ma aumentano i tempi di rendering.

Lo "Spread" regola il rapporto tra aree chiare ed aree scure e diminuendolo si avrà più contrasto.

Gli altri parametri per ora non ci interessano.

Il mio consiglio è di provare questi parametri con una render region aperta per trovare il miglior compromesso, nel mio caso mi sono tenuto basso con i settaggi perchè dopo andremo a sfocare tutto il pass (riducendo quindi l'effetto "Puntinato"):

occluz


Per velocizzare i tempi di render di questo pass possiamo ora impostare l'aliasing in modo più "Grossolano" rispetto al pass di diffuse, fate un po di tentativi fino ad ottenere il giusto compromesso. Io ho impostato il filter su "Box"(più impreciso ma più veloce), aumentato il threshold e diminuito i valori x ed y.

Attenzione che i parametri di render e i parametri di render della region sono due cose separate; se le impostazioni che provate guardando la region e agendo sulle opzioni di render della stessa vi soddisfano, basta che aprite il menu delle ozioni di render e cliccate in alto su "Copy options from region".



5)Il pass "SHADOW" ed il pass "HIGHLIGHT"




Cosa sono

Sono semplicemente i pass che andranno a definire le ombre e i punti di massima illuminazione degli oggetti in scena.




Shadow

Ottenere questo pass è molto semplice, basta andare nel solito pannello Render-->pass-->edit-->new pass--> e selezionate SHADOW.

Solita storia, reimpostate i parametri di render come il diffuse, impostate l'aliasing e renderizzate.

Dovrebbe spuntarvi fuori un render nero con delle aree bianche là dove ci dovrebbero essere le ombre: non vi preoccupate è normale: )

shadz


Highlight

Stessa cosa, solo nel new pass scegliete HIGHLIGHT ; )

renderizzate ed otterrete un render simile a questo, con in evidenza solo le zone di massima illuminazione:

specz


Nota bene: in questo caso abbiamo lasciato le highlights anche nel pass DIFFUSE, infatti useremo il pass HIGHLIGHT solo per enfatizzarne l'effetto.




Bene,ora abbiamo tutto quello che ci serve per comporre la nostra immagine (o animazione) finale!




6)COMPOSITING




Illusion

Softimage|XSI, nella versione ADVANCED, integra al suo interno un potente motore di compositing chiamato ILLUSION.

In pratica è come avere un piccolo Combustion o After effects direttamente all'interno del programma!

Vediamo ora come utilizzarlo per Riunire tutti i pass che abbiamo faticosamente renderizzato prima :)




Fx tree - fx viewer

Per prima cosa ci servono queste due finestre.Potete aprirle nelle viste correnti oppure come finestre flottanti (più comodo secondo me) premendo Alt+1 ed Alt+2.

L'fx tree ci consentirà di operare sulle singole immaginio e combinarle tra loro; l'fx viewer ci farà vedere in tempo reale le operazioni fatte nell'fx tree.

Nell'fx tree, andiamo su File-->import images ed importiamo i nostri 4 render (Quindi dalla cartella Render_Pictures del project).

Ora abbiamo i nostri bei 4 pass pronti per essere combinati tra loro.

Non fate caso al fatto che non ho dato il nome al pass DIFFUSE e alll'OCCLUSION, scrivere tutorial di notte gioca brutti scherzi ; P

illuz


Passando col mouse sopra ogni nodo potete notare due pulsantini, uno con una "e" e l'altro con una "v".

Premendo "e", semplicemente vi si apre la finestra con le proprietà e i settaggi di quel nodo.

Premendo "v" invece, visualizzate nell'fxviewer il nodo corrente.




Math composite

Cominciamo col creare un operator "math composite": nell'fxtree, andiamo su Ops(che sta per "Operators")-->composite-->math composite.

Si aggiungerà questo nodo:

Mathcomp
Andando col mouse sopra le freccine, nella parte bassa della finestra ci sarà scritto cosa dobbiamo "Collegarci"; le freccine verdi e blu sono sempre degli INPUT (Quindi ci si "Attaccano" i nodi che devono essere elaborati) mentre la freccina rossa è un OUTPUT, che praticamente è l'immagine risultante dall' elaborazione fatta da quell' operator.

Spiegarlo a parole non è facile ma in realtà il concetto è semplicissimo!




A cosa serve

Praticamente possiamo collegare due immagini e fonderle nel modo che vogliamo noi; clicchiamo sulla "e" (Oppure facciamoci doppio clic sopra) e vedremo che i parametri

che ci interessano sono solo 2: il modo in cui si devono fondere le immagini e la percentuale di "fusione" tra queste due.

mathcompe


Impostazioni occlusion

Trasciniamo la freccettina rossa (l'output) delle immagini del DIFFUSE e dell'OCCLUSION rispettivamente nel primo e nel secondo INPUT del math composite(ignoriamo l'input blu, anzi facciamo proprio finta che non esista per ora; )

occluz1


Impostiamo "multiply" nelle opzioni del math composite, clicchiamo sulla "v" di quest'ultimo e come risultato, la maggior parte delle volte, un'immagine TROPPO occlusionata (il significato di questo termine ora vi sarà chiaro:D); sarò anche presente l'effetto puntinato del pass di occlusion.

Vediamo adesso come impostare per bene il tutto, e ne approfittiamo per scoprire due nuovi operator: il color correct e il gaussian blur.

Per prima cosa nelle opzioni del math composite abbassiamo un po' il livello di mix (ma non portiamolo sotto lo 0,7 o l'effetto dell'occlusion andrà a farsio benedire).

Non usiamo il mix level per schiarire o scurire l'immagine: per quello dobbiamo agire sul diffuse e sull'occlusion con degli operatori a parte!




Color correct

Andiamo su ops-->color adjust-->color correct. Colleghiamolo tra il DIFFUSE e il math composite e un altro tra l'OCCLUSION e il math composite come in figura. Apriamo le opzioni del color correct.

Clicchiamo sulla tendina "Luma" e tocchiamo per adesso solo la GAMMA, aumentiamola (possibilmente di poco) sia nel DIFFUSE che nell' OCCLUSION.

Dobbiamo ottenere un'immagine più chiara ed equilibrata.

colorcorrect1


Sicuramente starete già intuendo la potenza del render in pass ; P




Gaussian blur

Ora daremo una bella sfocatura ("Blurrata" in gergo :D) al pass di occlusion per uniformarlo e togliere l'effetto a puntini.

Quindi andiamo su ops-->filter-->gaussian blur (Ovviamente voi già che ci siete starete sperimentando un po' di operator, vero? >: D)

colleghiamolo tra il color correct dell'OCCLUSION ed il math composite, ed apriamo la finestra delle sue impostazioni.

Controllando in tempo reale nell'fxviewer, aumentiamo il livello di blur (consiglio ovviamente di non esagerare e non superare un valore di 3 e 3).

Ora dovremmo aver "Spalmato" per bene la nostra occlusion ;)

gauss


SHADOW e HIGHLIGHT

Ora aggiungiamo il pass SHADOW.Approfittiamone per riordinare l'fxtree e renderlo chiaro e comprensibile!Teniamo presente che sia nell'fxtree che nell'fxviewer si naviga sempre attraverso il tasto "s" per zooomare e spostarsi, come in viewport insomma.

Regolare questo pass è molto semplice, facciamo come per il pass di occlusion solo che nel nuovo Math composite impostiamo "Sub(A-B)". "Blurriamo" un po' anche questo pass con un altro operator gaussian blur per ammorbidire le ombre e regoliamo il mix level.

shadfx


Ora diamo il tocco finale: aggiungiamo il pass HIGHLIGHT attraverso il solito math composite ma stavolta in modalità ADD (A+B) e blurriamolo pesantemente; P

Highlightsz


A questo punto, nulla ci vieta di andare a rimettere mano sulle impostazioni dei vari operator, aggiungerne, toglierne, sperimentare fino ad ottenere il risultato che desiderate.

Quando avete sistemato tutto, andiamo ad aggiungere l'ultimo operator, che piazzeremo sotto all'ultimo math composite:l' OUTPUT O_O

Questo operator non modifica niente, serve solo a creare il file finale, che sia un immagine o un filmato, nel formato che preferite!

outputfx


Impostate il formato che volete, la qualità dell'eventuale compressione(cliccando su codec) ed il numero dei fotogrammi da renderizzare.

Cliccate su "render" e vi creerà l'immagine (o il filmato) nella cartella Composites del nostro project.

Questo è quello che ho ottenuto io (sicuramente mooolto migliorabile; P):

finale
post





E con questo è tutto!

Spero di essere stato sufficientemente chiaro.

La mia raccomandazione è di non prendere questo tutorial come oro colato (anche perchè è ben lontano dall'essere perfetto), ma, ripeto, di usarlo come base di partenza per sperimentare e provare e riprovare.Il vostro obiettivo sarà quello di imparare a muovervi agevolmente tra questo ammasso di opzioni, settaggi ecc... per ottenere esattamente quello che avete in mente!




p.s.: Un ringraziamento particolare a MmAaXx che mi ha chiarito molti dubbi, spiegato moltissime cose

e introdotto al mondo di XSI ; P

E' anche merito suo se questo tutorial ha visto la luce; )




Ciao a tutti!

---
Questo articolo è stato importato automaticamente dal forum il 31/lug/2014
Per vedere il post originale e/o i commenti sul forum prima di quella data clicca qui