Logohome INVIA IL TUO TUTORIAL Contattami - segnala un link

Una raccolta di tutorial e videotutorial per Softimage|XSI In ITALIANO

 

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



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.



3)SHADOW, che contiene semplicemente le ombre



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




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".



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

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 ;
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.
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:





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.




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:



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:




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.




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)




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; )




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





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"):




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: )




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:




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!




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:


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.



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; )




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.




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


Gaussian blur
Ora daremo una bella sfocatura ("Blurrata" in gergo) 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.




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.




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




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!




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):




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!