Informatica Grafica per le arti Le coordinate UV Le texture Per rendere realistici gli oggetti modellati occorre definire accuratamente l'aspetto delle loro superfici. Il modo piu' semplice consiste nel sovrapporvi speciali immagini. Queste immagini prendono il nome di texture o mappe. Marco Gribaudo [email protected] Le texture Esistono due tipi fondamentali di texture: Le Texture 2D Le texture Le texture 2D definiscono solamente i colori delle superfici degli oggetti. Le texture 3D definiscono invece i colori dell'intero spazio occupato dall'oggetto. Le Texture 3D Le texture Le texture si dividono a loro volta in: Le texture Le texture di tipo Bitmap utilizzano fotografie, disegni o filmati per definire le immagini da sovrapporre ai modelli 3D. Bitmap Texture procedurali Le texture procedurali utilizzano invece algoritmi per creare dinamicamente le mappe. Per la loro natura, le texture 3D sono di solito esclusivamente procedurali. Le texture Le texture Per sovrapporre una texture 2D su un oggetto tridimensionale, occorre definire come questa avvolga la superfice associata. Una mappatura fa corrispondere i pixel di una texture (detti texel) con i punti di un solido. Il posizionamento di una texture 2D su un oggetto 3D avviane attraverso la definizione di apposite corrispondenze tramite speciali coordinate, chiamate coordinate di mappatura. In Blender, nessuna pimitiva e' dotata di coordinate di mappataura preimpostate: occorre quindi definirle manualmente per tutti gli oggetti 3D. Le texture Nel caso di modelli poligonali la mappatura fa corrispondere triangoli nello spazio a triangoli sulle texture. Le texture Questa corrispondenza viene gestita associando ad ogni vertice di un triangolo una informazione addizionale: una coordinata di mappatura. Tali coordinate definiscono i vertici di un triangolo posizionato nello spazio della texture. Ogni materiale puo' utilizzare piu' texture, quindi ad un oggetto si possono attribuire piu' insiemi di coordinate di mappatura. Le coordinate UV Una texture viene immaginata giacere su un piano cartesiano. I suoi due assi vengono chiamati u e v. Per questo le coordinate di mappatura prendono anche il nome di coordinate UV. Le coordinate UV Convenzionalmente i valori di u e v variano tra 0 e 1 nei quattro angoli della texture. Le coordinate UV Ad ogni vertice nello spazio viene attribuito il colore del texel che si trova alla posizione specificata dalle coordinate UV ad esso associate. Le coordinate UV L'operazione piu' difficile consiste nell'attribuire in modo opportuno le coordinate UV ai vertici di un solido. Tale operazione fa parte della fase di modellazione di un oggetto. Le coordinate UV Lo scopo degli strumenti che vedremo in questa lezione, e' quello di consentirci di distribuire su di un piano le facce che costituiscono un oggetto. Le coordinate UV I colori degli altri punti del triangolo nello spazio, vengono stabiliti campionando opportunamente il triangolo definito sulla texture (vedremo piu' avanti come) Le coordinate UV Vedremo quindi inizialmente come fare a distribuire uniformemente la mappatura di un oggetto su di uno spazio rettangolare. Quindi vedremo come si possano associare texture a varie proprieta' di un materiale per renderlo piu' realistico. Le coordinate UV In modo da poter poi "disegnare" (con programmi esterni tipo Gimp o Photoshop) gli elementi da riportare sulla geometria. Le coordinate UV E creare oggetti 3D la cui superfice e' associata a disegni ed immagini acquisite dal mondo reale. Creare le coordinate UV Inizialmente un oggetto e' sprovvisto di coordinate UV. Come visto in precedenza, ad ogni faccia puo' essere assegnato un materiale distinto: per questo ogni faccia puo' essere associata ad insiemi di coordinate UV differenti. Il primo passo e' quindi quello di associare un nuovo insieme di coordinate ad una seleziona delle faccia dell'oggetto. Creare le coordinate UV Si comincia entrando in Edit Mode, e selezionando le facce che si vogliono mappare. Creare le coordinate UV La mappatura si gestisce attraverso un'apposita finestra chaimata UV/Image Editor. Creare le coordinate UV Creare le coordinate UV Conviene suddividere la schermata di lavoro in modo da poter visualizzare contemporaneamente questa finestra e la vista 3D. In assenza di coordinate di mappatura associate alle faccie selezionate, la finestra e' vuota. Creare le coordinate UV Si possono associare nuove coordinate UV alle facce selezionate premendo il pulsante New a fianco della scritta UV texture nella pagina Mesh. Creare le coordinate UV Conviene fin da subito caricare un'immagine che possa aiutarci nel controllare l'orientamento corretto delle facce. Le immagini si caricano col comando Image -> Open. Creare le coordinate UV L'immagine viene disegnata al di sotto delle facce attualmente visualizzate, anche se comunque risulta inizialmente difficile da intravvedere. Creare le coordinate UV Inizialmente ogni faccia selezionata viene mappata sull'intero spazio UV. Creare le coordinate UV Conviene utilizzare un'immagine che mostri un disegno a forma di scacchiera per aiutare ad identificare le corrispondenze tra facce dell'oggetto e piano UV. Creare le coordinate UV Se si attiva la modalita' di visualizzazione Textured, l'immagine viene riportata nella visuale 3D. Creare le coordinate UV Si comincia quindi a riorganizzare le UV "proiettandole" attraverso il menu Mesh -> Unwrap della finestra 3D. Creare le coordinate UV Tra gli strumenti proposti, quello piu' usato e' il Project From View (Bounds). Creare le coordinate UV Creare le coordinate UV Esso utilizza la disposizione delle facce in una vista ortografica (es, View -> Top, View -> Front o View -> Side).... Per creare una disposizione analoga nello spazio UV. Creare le coordinate UV Creare le coordinate UV In questo modo distribuisce uniformemente l'immagina sulla superfice dell'oggetto. Guardando pero' l'oggetto da altre prospettive ci si rende pero' conto che l'immagine risulta molto distorta sui bordi della Mesh. Creare le coordinate UV Normalmente quindi si ripete piu' volte l'operazione, selezionando di volta in volta diversi sottoinsiemi di facce, guarando ciascuno di essi dalla vista in cui risulta piu' frontale. Modificare la mappatura Posizionare le coordinate UV in modo che non si sovrappongano e' il compito piu' difficile della mappatura. Creare le coordinate UV Si posiziona quindi la porzione di UV creata in un punto dell'immagine dove non interferisca con coordinate UV associate ad altre facce dell'oggetto. Modificare la mappatura Attraverso il pulsante a forma di puntini, si possono selezionare coordinate UV singole. Blender ci mette a disposizione numerosi strumenti, simili nel loro funzionamento a quelli utilizzati per posizionare le mesh. Modificare la mappatura Il pulsante a forma di triangolo consente invece di selezionare facce nel piano UV. Modificare la mappatura L'ultimo pulsane permette invece di selezionare insiemi di UV contigue (in Blender definite con il termine Isole Islands). Modificare la mappatura Gli elementi selezionati puossono quindi essere spostati con i normali tasti di Blender: G per muovere, R per ruotare e S per vairare la scala. Modificare la mappatura Questi comandi servono sia a posizionare le isole sull'immagine, che a deformarle in modo da adattare le texture alla Mesh. Modificare la mappatura In questo caso pero' Blender mostra unicamente le facce selezionate. Modificare la mappatura Particolare attenzione va fatta per effettuare cambiamenti di scala non proporzionali. In questo caso bisogna premere in sequenza S, X o S, Y a seconda che si voglia scalare in orizzontale o in verticale. Modificare la mappatura Le facce possono anche essere selezionate nella visuale 3D per avere un controllo diretto di come queste siano mappate. Modificare la mappatura Pemendo il pulsante a forma di quadratino, Blender visualizza anche le coordinate corrispondenti a facce non assegnate, semplificando il posizionamento delle isole. Unire e separare UV Cosi come una Mesh puo' essere costituita da componenti connesse separate, anche una mappatura puo' essere composta da isole diverse. Blender dispone di alcuni comandi per unire e separare le isole. Unire e separare UV E' possibile separare un porzione di facce nello spazio UV attraverso il comando Select -> Unlink Selection nel menu della finestra UV. Unire e separare UV Il comando UVs -> Weld/Align -> Weld e' il corrispondente del comando Collapse per le Mesh. Unire e separare UV Spostando le facce di un isola, esse "rimangono attaccate" alle altre, deformando la mappatura. Unire e separare UV L'elemento selezionato diventa quindi una nuova isola a tutti gli effetti e puo' essere riposizionato. Unire e separare UV Esso collassa tutte le UV selezionate in un unico punto. Unire e separare UV Solitamente viene utilizzato selezionando una coppia di coordinate UV che si vogliono riunire. Unire e separare UV Esso cerca di ricollegare insieme le isole selezionate. Unire e separare UV Il comando UVs -> Stitch e' invece l'equivalente del Rem. doubles per le Mesh. Unire e separare UV Utilizzando la versione UVs -> Limit Stitch, e' possibile specificare un limite masismo di distanza in pixel che possono avere due UV per essere riunite.