APPLICAZIONE DEL BUMP.


APPLICAZIONE DI UN LOCAL BUMP

Creiamo un pavimento di legno utilizzando un piano e un materiale applicato su di esso.

Nel nodo Image attiviamo il Bump.

 

Se colleghiamo direttamente il nodo Image a quello del Material si perde il Bump perchè questo viene calcolato ma non visualizzato tramite lo shader.

FACTOR.
Intensità del Bump.

STEP.
Risoluzione del bump nello spazio UVW.
Al diminuire del valore il Bump diventa maggiormente preciso, ma il tempo di rendering si allunga.


APPLICAZIONE DI UN GLOBAL BUMP.

Stratifichiamo 2 Local Bump.
Creiamo una texture Checkerboard fatta così:

Colleghiamo ai due colori del heckboard 2 shaders:

Nel nodo CELL abilita il Bump:

 

Questi applicati sono Bump locali. Definiamone uno globale con questo nodo:

In questo modo sulla superficie sono stati applicati 3 Bump: 2 locali e 1 globale.

Sconnettiamo il Bump Map Generator e creiamo questo nuovo nodo:

Questo collegamento......

....produce questo risultato:

La stessa cosa si ottiene con questo:

 

Riprendiamo la situazione iniziale:

L'immagine è ripetuta 3 volte:

Scaliamo la geometria di 2 volte.

Il Bump perde risoluzione. Occorre ridurre gli Step del Bump per aumentare la sua risoluzione,che comunque sono già al minimo.

Varia i parametri Factor e Step riportandoli alla fine ai valori precedenti. Poi apri lo Script Editor.

Appariranno le righe di comando per la variazione del Factor e degli Step.

Copia le ighe relative all'impostazione dei 3 valori step e incollale in basso. Poi dividi i valori impostati per il numero di ripetizioni della texture e per il valore di scalatura.

Clicca su Run per avviare questi comandi di scripting.

Alcuni valori possono apparire a 0:

In realtà ad essi è assegnato un valore molto basso, come visibile nello scripting.


RISOLUZIONE DEL FLICKERING TRAMITE L'ELLIPTICAL FILTERING.

Per risolvere il flickering del bump durante l'animazione come prima cosa andiamo sul nodo dell'immagine:

Poi nella tabella Texturing abilitiamo la voce "Enable Multi-Resolution Texture.

Come secondo passo seleziona il nodo Image.

Poi abilita l' Elliptical Filtering.

Esempio:

Facciamo in modo di eliminare il Bump con la distanza andando a variare il parametro FACTOR per il Bump del nodo Image.

Creiamo un nodo Scalar State

Impostiamolo su Ray Lenght per avere l'informazione sulla lunghezza dei raggi di luce che arrivano dalle superficie alla cinepresa (quindi diventa una misura della distanza dalla cinepresa).

Creiamo un Gradient di tipo Mixer e colleghiamolo così:

Impostiamo il gradiente così: bianco per le distanze vicine, nero per quelle lontane.

Impostiamo il range così:

In questo modo il Bump tende a sparire man mano che la superficie si allontana dalla cinepresa, riducendo così il flickering.

 


RISOLUZIONE DEL FLICKERING TRAMITE IL DISTANCE-BASED MODULATION

Inseiramo un nodo Change Range così:

In questo caso se il valore in input supera il valore 20, in uscita dal Change Range si ottiene un valore negativo. Come si vede infatti sullo sfondo compare un Bump (invertito).

Per evitare questo effettuiamo un Clamp dei valori in uscita con questo nodo:


In questo modo tutti i valori superiori a 3 vengono abbassati a 3: viene preso il valore minimo tra i due input.

Creiamo un altro nodo Scalar così:


Impostiamo questi valori:

Con queste impostazioni tutti i valori più bassi di 0 vengono elevati a zero.

Colleghiamo i nodi così:

In questo modo il bump sparisce dal fondo dell'immagine.

 


ESEMPIO: CREARE UNA SUPERFICIE D'ACQUA.

Crea un piano con questo materiale:

Inseriamo questi nodi:

Regola i valori per ottenere questo effetto:

Abilita il Bump:

Riduciamo gli Step agendo direttamente sullo script:

Collegalo così:

Imposta questi parametri:

In questo modo il Color Matte estrae i valori di luminosità del colore medio.
Poi collegalo così:

Poi colleghiamo così:

Rendiamo lasuperficie d'acqua trasparente con un altro Color Matte sempre impostato su RGB Average e con questi parametri:

Impostiamo questo schema:



MAPPE PROCEDURALI COME BUMP.

Consideriamo una ciambella.

 

 

Creiamo un BumpmapGenerator:

Crea un Vector State.

Imposta i suoi parametri così:

In questo modo il nodo traduce le coordinate UV dell'input in un vettore.
Crea questo nodo:

Collegali così:

Fra i parametri del Bumpmap Generator imposta la proiezione di mappatura su Spatial.

Disattiva la voce CLAMP.