IL RENDER TREE


Il Render Tree si apre con il tasto 7. La sua funzione è quella di mostrare la composizione dei materiali applicati a un oggetto.

Ogni nodo del Render Tree può essere collegato a un altro tramite i pallini colorati.
Il significato è:

Rosso= colore.
Verde= valore scalare.
Giallo= valore intero
Arancio= vettori.

In questo esempio troviamo da sinistra a destra:

- La texture.
- Lo shader per l'immagine, con il quale applicare degli aggiustamenti alla texture (tiling, filtri ecc...)
- Lo shader della superficie.
- Lo shader del materiale, nel quale convergono tutte le caratteristiche della superficie.

Inseriamo una nuova immagine cliccando su NODES e andando qui:

Sfumiamo le due immagini l'una nell'altra inserendo questo nodo:

Colleghiamo le due immagini così:

Poi colleghiamo l'output del Mix2Colors così:

Per disconnettere un collegamento clicca col destro e vai qui:

Clicca sul nodo della Texture per definire la seconda immagine.
Poi sul nodo della immagine per impostare la proiezione.

 

 

Sull'altra immagine poniamo questa texture:

Premi Q e traccia un riquadro di selezione per renderizzare la scena al suo interno.

Applichiamo una terza texture come maschera.
Usiamo una schacchiera a quadretti bianchi e neri.

Inseriamola nel canale Weight del nodo Mix.

Per applicare una texture differente a una parte della superficie, crea un Cluster su di essa, selezionalo e applicagli una nuova immagine.

Al Cluster è assegnato un nuovo materiale.

Nel Render Tree è accesibile dal menù a tendina in alto.

La struttura è come quella del vecchi materiale ma in più troviamo i due nodi del nuovo materiale.

 


ESTRARRE INFORMAZIONI SULLA POSIZIONE.

E' possibile utilizzare la posizione di un oggetto per definire dei parametri nel Render Tree.
Creiamoun cubo con dimensione= 1.

Il Render Tree è fatto così:

Inseriamo questo nodo:

La sua funzione è quella di trasportare le informazioni sulle coordinate XYZ.
Connettiamo l'uscita del Vectore al Surface del materiale. Verrà automaticamente creato un nuovo nodo di interfaccia.

La dua funzione è mappare:
X= rosso.
Y= verde.
Z= blu.

Se renderizziamo il cubetto appare bianco.

Questo perchè i valori del Vector Share sono questi:

Mettiamoli così:

Come si vede il colore è costante su tutta la superficie: le ombreggiature scompaiono.
Clicca col destro sul pallino verde di INPUT e inserisci una espressione da qui:

In alto inseriamo il parametro di interessa aggiungendo un .x alla fine.

 

Il suo valore viene impostato su 0. Colleghiamolo alla coordinata X dell'oggetto.
Clicca sul pulsante Object e seleziona la traccia X dell'oggetto. Verrà inserita nell'espressione.

 

Poi clicca su Apply per confermare l'espressione.

Clicca su NEXT per cambiare il target dell'espresione su pos.y.
Poi riscrivi l'espressione di prima terminando con posy e clicca su Apply.

 

....ripeti la stessa procedura per assegnare una espressione anche a Z.

A questo punto compare un "=" al posto del pallino verde sull'input del vettore.

A questo punto se il cubetto viene spostato nel range [0...1] otteniamo una variazione di colore.

Ritroviamo i valori di coordiante nel pannello del vettore.

Aumentiamo il range di variazione di colore (e quindi di spostamento del cubetto) oltre lo [0...1].
Creiamo questo nodo:

Colleghiamo il nodo così:

I suoi parametri sono questi:

In Operation specifichiamo l'operazione da effettuare e in Scalar Input impostiamo un valore <1.
In questo modo è possibile traslare il cubo facendogli cambiare colore in un range [0...2] per ogni coordinata.

Creiamo quest'altro nodo:

Colleghiamolo così:

La sua funzione è quella di estrarre specifiche componenti. Lasciamo la coordinata X.

Colleghiamolo al Surface del Material. Verrà creato un nodo di interfaccia.

Il valore della coordinata X viene trasferito ai valori RGB della superficie della scatola, perciò quando questa si sposta avviene una variazione di colore nella scala di grigi.

Cancelliamo i nodi Vector e Scalar.

Creiamo un nodo Gradient.

Colleghiamolo così:

La scatoletta diventa di un colore costante.

Perchè è gialla? Il nodo Gradient è fatto così:

Il gradiente di colori numericamente va da 0 (estremo sinistro) a 1 (estremo destro).
Il valore impostato si trova nella tabella Input:

Impostiamo Input= 0.5

Colleghiamo il Gradient così:

A questo punto spostando la scatola lungo X il colore sulla superficie prende uno dei valori del gradiente a seconda della sua posizione.


ESTRARRE INFORMAZIONI SULLA ROTAZIONE.

Ripartiamo dalla situazione iniziale.

Come visto prima ricreiamo questa situazione:

Poi riapriamo l'Expression Editor. Impostiamo il .x finale sull'argomento......

.....e prendiamo la traccia di rotazione X dell'oggetto come espressione.

Come prima applichiamo l'espressione agli altri input cambiando l'espressione sulle diverse coordinate.

A questo punto ruotando la scatola la superficie cambia colore, vairando le rotazioni nel range [0...1].
Apri i parametri del nodo VectorShare e clicca col destro sull' Input. Poi apri l'Animation Editor e modifica le espressioni dividendole per 360 (ricordati di confermarle cliccando su Apply).

A questo punto il colore sulla superficie cambia su un arco di rotazione completo per le 3 coordinate.


ESTRARRE INFORMAZIONI SUGLI UV.

Consideriamo questa situazione:

Cancelliamo i nodi della texture e Image.

Cambiamo il Phong con il Lambert e colleghiamolo così:

Crea questo nodo:

La sua funzione è estrarre informazioni sulle coordinate UV e trasformarle in un Vector Color.
Colleghiamolo così:

Nelrendering si ottiene questo:

Si ha questa corrispondenza:
U= rosso.
V= verde.
W= blu.

Questi sono i parametri del nodo:

Creiamo questo nodo:

Colleghiamolo così:

I paraemtri dell'Image Lookup sono questi:

Co i parametri Coordinate si sceglie un punto sopra l'immagine. Il colore corrispondente viene riprodotto.
Esempio:

Colleghiamo i nodi così:

Ripristiniamo l'immagine iniziale.

Crea questo nodo:

Collegalo così:

L'immagine diventa nera perchè tra le impostazioni del nodo è imptata come operazione di default il Negate, che inverte i valori in input. Per fare toranre l'immagine sulla superficie imposta questi parametri:

Impostiamo Scalar Input1 = 0.5
Le coordinate vengono dimezzate e si ottiene questo:

Se come operazoine impostiamo Vector + Vector possiamo utilizzare i valori del Vector Input2 per ottenere un offset delle texture sulle superfici senza agire direttamente sulle coordinate di mappatura tramite il Texture Editor.
Esempio:

Creiamo un altro nodo Map Lookup.

Colleghiamolo così:

L'immagine diventa nera. Colleghiamo il Texture Projection alle coordinate della nuova Image Lookup.

In questo caso i valori RGB della seconda immagine vengono utilizzati come un Offset per la prima.

Definiamo questa situazione:

Crea questo nodo:

Colleghiamolo così:

Otterremo una specie di proiezione sferica sulla superficie.

Aggiugniamo un po' di variazione così:

Variamo i parametri del 3DWarp per regolare l'effetto.