| Documentazione di Blender Volume I - Guida Utente: Ultima modifica 5 Settembre 2005 | ||
|---|---|---|
| Indietro | Capitolo 11. Le Texture | Avanti |
A partire da Blender v2.33
La Mappatura UV [UV mapping] è un modo per mappare l'immagine di una texture 2D su modelli 3D. Può essere usata per applicare texture a forme arbitrarie e complesse, come teste umane o animali. Spesso queste texture sono immagini disegnate, create in applicazioni come The Gimp, Photoshop, o altri programmi di disegno.
Le procedurali come visto nei capitoli precedenti costituiscono un buon modo per applicare texture ad un modello. Quello che c'è di veramente buono è che 'riempiranno' sempre. Le immagini 2D non sempre riempiono forme 3D. La creazione di materiali procedurali è relativamente semplice, e fornisce un modo rapido per avere dei buoni risultati.
D'altra parte, ci sono casi in cui questo tipo di texture non è sufficientemente buono. Per esempio, la pelle su una testa umana non apparirà molto adatta se generata proceduralmente. Le rughe su una testa umana, o i graffi su un'auto non capitano in posti casuali, ma dipendono dalla forma del modello e dal suo uso. Le immagini disegnate manualmente danno all'artista il pieno controllo del risultato finale. Mentre giocherellando con degli slider numerici, gli artisti saranno in grado di controllare ogni pixel della superficie. Questo vuol dire più lavoro, ma porterà alla fine ad immagini migliori.
Una mappa UV viene usata per assegnare una parte di un'immagine ad un poligono nel modello. A ciascun vertice del poligono vengono assegnate delle coordinate 2D che definiscono quale parte dell'immagine debba mappare. Queste coordinate 2D sono dette UV (le si confronti con le coordinate 3D XYZ). L'operazione di generare tali mappe UV è detta anche "unwrap" (disfare, scucire), dato che è come se si stendesse la mesh su un piano 2D.
Suggerimento: La mappatura UV è essenziale anche nel game engine di Blender, o qualsiasi altro videogioco. Essa è lo standard di fatto per applicare le texture ai modelli; quasi tutti i modelli che si trovano nei videogiochi sono mappati UV.
La Mappatura UV viene eseguita in Blender all'interno della finestra dell'Editor UV ed una modalità speciale nella finestra 3D detta Modo Selezione di Facce [Face Select]. L'Editor UV consente di mappare texture direttamente nelle facce delle mesh.
Ciascuna faccia può avere delle proprie coordinate di texture ed una propria immagine assegnata, e può essere combinata con la colorazione dei vertici [vertex colors] per rendere la texture più chiara o più scura o per imprimerle un dato colore.
Usando l'editor UV ciascuna faccia della Mesh acquisisce altre due caratteristiche:
Quattro Coordinate UV - Queste coordinate definiscono il modo in cui un'immagine o una texture è mappata (posizionata) nella faccia. Sono coordinate 2D, ed il motivo per cui sono dette UV è per distinguerle dalle coordinate XYZ. Tali coordinate possono essere utilizzate per il rendering o per la visualizzazione in tempo reale con OpenGL.
Un collegamento [link] ad un'Immagine Ogni faccia in Blender può avere un collegamento ad una diversa immagine. Le coordinate UV definiscono come tale immagine sia mappata nella faccia. Tale immagine può partecipare al rendering o apparire in tempo reale.
Una finestra 3D deve essere in Modo "Face Select" (Selezione di Facce) per essere in grado di assegnare immagini o cambiare le coordinate UV di un Oggetto Mesh attivo.
Prima di tutto si aggiunge un Oggetto Mesh alla Scena, si entra in Selezione di Facce scegliendo la voce UV Face Select nel menù Mode.
La Mesh ora verrà disegnata Z-buffered. Se si entra nel modo di disegno con Texture (ALT-Z, detto anche "modo a patata") si vedrà la Mesh disegnata in bianco, fatto che indica che attualmente non c'è alcuna immagine assegnata a queste facce. Si può controllare il modo in cui le facce sono disegnate usando i pulsanti Draw Edges e Draw Faces nel Pannello UV Calculation. se è attivato Draw Edges tutte le facce verranno disegnate in evidenza. Con Draw Faces attivato, tutte le facce selezionate appariranno in rosa chiaro (o il colore del tema).
Si preme AKEY e tutte le facce della Mesh verranno selezionate ed evidenziate da linee punteggiate. Le facce si possono selezionare con RMB, o con la Selezione Delimitata [BorderSelect] (BKEY) nella finestra 3D. Se si hanno problemi con la selezione delle facce desiderate, si può anche entrare in Modo Edit e selezionare i vertici voluti. Dopo aver lasciato il Modo Edit dovrebbero risultare selezionate anche le facce definite dai vertici selezionati.
Solo una faccia è attiva. O, in altre parole: la Finestra Immagine mostra solo l'immagine della faccia attiva. Come al solito in Blender solo l'ultima faccia selezionata è attiva e la selezione si effettua con RMB.
Si cambi una finestra in una Finestra Immagine/Editor UV con SHIFT-F10. Qui si può caricare o cercare un'immagine col pulsante Load. Le immagini devono essere multiple di 64 pixel (64x64, 128x64 ecc.) per essere in grado di apparire in tempo reale (nota: la maggior parte delle schede 3D non supporta immagini più grandi di 256x256 pixel). D'altra parte, Blender può effettuare il rendering di tutte le immagini assegnate prescindendo dalla dimensione quando si creano diapositive o animazioni.
Caricando o cercando un'immagine in Selezione di Facce [FaceSelect] si assegna automaticamente l'immagine alle facce selezionate. Si può osservare immediatamente ciò nella finestra 3D (quando si è in Modo Vista Texture).
Nella finestra 3D, si può premere UKEY in Modo Selezione di Facce [FaceSelect] per avere un menù per calcolare le coordinate UV per le facce selezionate. Si può eseguire una scucitura anche usando il Pannello UV Calculation nella Pulsantiera di Edit. Tale pannello fornisce anche un controllo migliore del processo di scucitura.
Gli algoritmi di scucitura [unwrapping] UV disponibili sono:
Cube Questo determina una mappatura cubica.
Cylinder, Sphere Mappatura Cilindrica/sferica, calcolata dal centro delle facce selezionate.
Bounds to 1/8, 1/4, 1/2, 1/1 Le Coordinate UV vengono calcolate usando la proiezione così come appare nella finestra 3D, quindi ridotte di una data frazione dell'immagine della texture.
Standard 1/8, 1/4, 1/2, 1/1 Ciascuna faccia assume un insieme di coordinate quadrate di default che vengono ridotte della frazione richiesta dell'immagine della texture.
From Window Le coordinate UV vengono calcolate usando la proiezione mostrata nella finestra 3D.
LSCM Le coordinate UV vengono calcolate usando l'algoritmo Least Squares Conforming Maps (Mappe Conformi ai Quadrati Minimi). Si usa assieme alla marcatura (definizione) delle cuciture.
Nel Pannello UV mapping, si può regolare il modo in cui si effettua la mappatura e come debba apparire nella finestra 3D quando il modello è in Modo Selezione di Facce [Face Select].
Con View Aligns Face abilitato, la scucitura Cilindrica e Sferica viene effettuata dalla vista. La vista si suppone essere di fronte al Cilindro/Sfera, con i cerchi in alto ed in basso della vista. Il Cilindro/Sfera viene 'tagliato' in un apposito lato della vista.
Size e Radius definiscono il ridimensionamento della mappa quando si usa la mappatura Cube o Spherical/Cilindrical rispettivamente.
Con VA Top (Allinea la vista in Alto [View Aligns Top]) abilitato, la vista deve guardare attraverso il Cilindro / Sfera. Viene tagliata nella parte alta della vista. Con questo attivato si può definire anche come la vista venga ruotata rispetto ai poli con le opzioni Polar ZX e Polar ZY.
Se è abilitato Al Obj, il Cilindro/Sfera viene ruotato in base alla rotazione dell'Oggetto.
Draw Edges e Draw Faces nel Pannello attivano la visualizzazione dei bordi e delle facce nella Finestra 3D mentre si è in Modo Selezione di Facce [Face Select]. Le facce selezionate in questo modo verranno disegnate in viola trasparente (o il colore del tema), simile al Modo Edit. Il disegno delle Cuciture [Seams] in Modo Edit ed in Modo Selezione di Facce può essere scambiato con Draw Seams. Anche i colori delle cuciture possono essere cambiati nelle opzioni dei Temi.
Nell'Editor UV si vedrà una rappresentazione delle facce selezionate come vertici gialli o viola connessi con linee punteggiate. Si possono usare le stesse tecniche qui delle Mesh in Modo Edit per selezionare, spostare, ruotare, dimensionare e così via. Col pulsante Lock si potrà vedere in tempo reale il risultato in 3D di ciò che si sta facendo. Dimensionamento e Traslazione dei vertici possono essere fatti secondo gli assi locali X e Y della mappa se necessario. Basta premere XKEY o YKEY dopo aver immesso il comando di dimensionamento (SKEY). È disponibile anche lo strumento di modifica proporzionale e funziona come nel Modo Edit delle mesh. Nell'Editor UV i vertici possono essere nascosti o mostrati usando HKEY e ALT-H rispettivamente, come nel Modo Edit.
Nell'Editor UV sono disponibili diversi modi di selezione. Dato che un vertice viene disegnato nell'Editor per ciascuna faccia cui appartiene, talvolta è difficile dire se sono selezionati gli stessi vertici o no.
Con Stick UVs to Mesh Vertex (Attacca le UV al vertice della Mesh) abilitato, un click con RMB selezionerà non solo un vertice UV, ma anche tutti i vertici UV che appartengono allo stesso vertice della mesh. Questa modalità si può usare anche se non è attivata nel menù, tenendo premuto CTRL durante la selezione di un vertice.
Stick Local UVs to Mesh Vertex (Attacca le UV Locali al vertice della Mesh) funziona allo stesso modo, ma seleziona solo le UV 'connesse', ovvero che rientrino nel raggio di 5 pixel della prima UV selezionata. Tale modalità si può usare anche se non è impostato come default, tenendo premuto SHIFT mentre si seleziona un vertice.
Tali scelte vengono alternativamente poste on/off premendo rispettivamente CTRL-C e SHIFT-C.
Con Active Face Select (Seleziona ed Attiva Faccia) abilitato, un click di RMB selezionerà una faccia, e la renderà attiva. Questo può essere posto on/off premendo CKEY.
Per tutte e tre queste opzioni viene mostrata una speciale icona in basso a destra dell'Editor UV. Si noti che Active Face Select e Stick UVs to Mesh Vertex possono essere contemporanei.
Unlink Selection (Scollega Selezione) si baserà sulla selezione corrente, soltanto che lascia tali UV selezionate, e le cui facce sono totalmente selezionate. Come dice il nome, questo è utile per scollegare le facce e spostarle altrove. Il tasto attivo è ALT-L.
Select Linked UVs (Seleziona le UV Collegate) funziona come Select Linked nell'inquadratura [View] 3D. Selezionerà tutte le UV che sono 'connesse' alle UV attualmente selezionate. La differenza con l'inquadratura 3D è che nell'Editor UV, le UV sono connesse 'implicitamente'. Due UV sono considerate selezionate se la distanza tra esse non supera i 5 pixels. Il tasto attivo è LKEY.
Diverse parti della mappa UV possono essere cucite se i vertici UV del bordo corrispondono agli stessi vertici della mesh utilizzando il comando Stitch (VKEY). Il comando di sutura [stitch] funziona unendo profili irregolari, basta selezionare i vertici sulla linea perimetrale utilizzando "Stick UVs to Mesh Vertex"
Limit Stitch funziona allo stesso modo. La differenza è che si accosta [snaps] assieme alle UV entro un dato range. Il limite di default è di 20 pixel. Il vantaggio su 'Stitch' è che evita che le UV, che si suppone restino separate, si cuciano assieme. Si può vedere sulle schermate come Limit Stitch evita gli avvolgimento [wraparounds] quando si cuciono assieme due parti di un Cilindro.
Si possono unire UV che non corrispondono allo stesso vertice della mesh usando il comando Weld (Salda) (WKEY). Il comando Weld si può usare per allineare diversi vertici in X o Y. Dopo aver premuto WKEY si preme XKEY o YKEY per scegliere con quale asse si voglia allineare.
Qualche suggerimento:
Si preme RKEY nella finestra 3D per richiamare un menù per la rotazione delle coordinate UV.
Talvolta è necessario spostare i files delle immagini in una nuova locazione dell'hard disk. Si preme NKEY nella Finestra Immagine per richiamare un menù Replace Image name (Sostituisci Nome dell'Immagine). Si può immettere al posto del nome della vecchia directory, quello nuovo. Premendo OK si modificano i percorsi [paths] di tutte le immagini in Blender che prima erano poste nella vecchia directory. (Nota: come nuova directory s usa il codice "//" per indicare la directory dove risiede il file Blender).
Si può anche usare simultaneamente Selezione di Facce [FaceSelect] e Colorazione di Vertici [VertexPaint] (VKEY). La colorazione dei vertici però funziona solo sulle facce selezionate. Questa funzionamento è utile soprattutto per dipingere facce come se non condividessero vertici. Si noti che i colori dei vertici vengono utilizzati per modulare la luminosità o il colore della texture immagine applicata.
LSCM significa Least Squares Conformal Map. Questo è un avanzato metodo matematico per creare automaticamente una mappatura UV mantenendo al minimo stirature e deformazioni della texture. Funziona preservando gli angoli locali. Proprio come qualsiasi altro modo di scucire le UV esistente, esso scucirà le facce selezionate in Modo Selezione Facce UV [UV Face Select]. Questo è disponibile sia premendo UKEY, e quindi scegliendo LSCM, che scegliendo LSCM Unwrap dal pannello UV Calculation.
Per essere in grado di scucire correttamente una mesh con LSCM, bisogna essere sicuri che la mesh possa essere appiattita senza troppe deformazioni (in termini matematici, dovrebbe essere equivalente ad un disco). Questo viene fatto definendo cuciture, cioè luoghi dove la mesh verrà tagliata. Non c'è bisogno di aggiungere una cucitura se la mesh può essere scucita (srotolata) direttamente su un piano.
In Modo Edit, i bordi selezionati possono essere marchiati (segnati) o meno come cuciture usando CTRL-E. Qui si può vedere un cubo con le cuciture [seams], e la mappa UV risultante dopo l'applicazione della LSCM.
Spesso una mesh non può essere scucita come un unico gruppo di facce, ma deve essere tagliata in più gruppi. Se le cuciture dividono le facce selezionate in più gruppi di facce, allora l'LSCM le scucirà separatamente, posizionandole nell'Editor UV in modo che i gruppi di facce non si sovrappongano. Per una facile selezione dei gruppi di facce 'Select Linked' in Modo Selezione Facce UV (si preme LKEY) selezionerà tutte le facce collegate, se nessuna cucitura le divide. In questo modo, si può selezionare un gruppo di facce selezionandone una del gruppo, ed eseguendo Select Linked (Seleziona i Collegati).
Per ritoccare ulteriormente il risultato, le UV nell'Editor UV possono essere spillate in una data posizione. Se viene eseguito l'LSCM, tali UV resteranno al loro posto, e la mappa UV risultante si adatterà alle UV bloccate. Nell'Editor UV, le UV si possono spillare o sbloccare premendo PKEY o ALT-P. Premendo EKEY nell'Editor UV si avvierà la scucitura LSCM delle facce visibili nell'Editor UV. Le UV spillate sono segnate in rosso.
Una volta caricata un'immagine nell'Editor UV, la si può modificare usando il modo Texture Paint (Pittura di Texture). Si usa l'opzione Paint Tool nel menù View, per modificare la Dimensione [Size] del pennello, L'Opacità [Opacity] ed il Colore. Attualmente c'è un solo pennello per dipingere, ma si lavora per fornire altri pennelli.
Tutte le modifiche effettuate si rifletteranno immediatamente nella Vista 3D se si è in 'modo patata'. Ad ogni modo la texture non verrà salvata finché non lo si richiederà esplicitamente. Si usa l'opzione Save Image nel menù Image per salvare il proprio lavoro con un nome diverso o sovrascrivere l'immagine originale.
Si noti che l'opzione Draw Shadow Mesh diventa utilissima per tenere un riferimento della mappa UV durante la pitturazione della texture.
Anche senza un'Immagine assegnata alle facce, si può effettuare il rendering delle texture utilizzando le coordinate UV. Per questo, si usa il pulsante verde UV nel menù della Pulsantiera del Materiale (F5).
Se si vuol effettuare il rendering anche delle texture di Immagini assegnate, bisogna premere il pulsante TexFace nei Pulsanti del Materiale. Combinando questo con l'opzione VertexCol si possono usare anche i colori dei vertici [vertex colors].