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.