From BlenderWiki
Il metodo più flessibile di mappare una texture 2D su di un oggetto 3D è la mappatura UV.
Introduzione
Per modelli 3D più complessi, le mappature classiche cubica, cilindrica o sferica solitamente non sono sufficienti. Per una proiezione ancora più accurata l'UV mapping può aiutare. Esso può essere usato per applicare textures a forme arbitrarie e complesse, come teste umane o animali. Spesso queste textures sono immagini disegnate, create in applicazioni come The Gimp, Photoshop, o la vostra applicazione di disegno preferita.
Mentre le textures procedurali (descritte nel capitolo precedente) sono utili - non si ripetono mai e 'riempiono' sempre gli oggetti 3D - esse non sono sufficienti per immagini più complesse o naturali. Per dirne una, la pelle di una testa umana non apparirà mai sufficientemente corretta se generata con le procedurali. Le rughe in una testa umana, o i graffi su di un'automobile non si trovano in punti casuali, ma dipendono dalla forma del modello e dal suo uso. Le immagini dipinte manualmente, o le immagini catturate dal mondo reale danno maggiore controllo sul risultato finale. Invece di dedicarsi a modificare gli sliders numerici, gli artisti potranno controllare ogni singolo pixel della superficie.
Una mappa UV descrive quale parte della texture dovrà essere attaccata ad ogni poligono nel modello. Ogni vertice del poligono viene assegnato a coordinate 2D che definiscono quale parte dell'immagine viene mappata. Queste coordinate 2D sono chiamate UV (comparate alle coordinate XYZ del sistema 3D). L'operazione di generare queste mappe UV è anche chiamata "unwrap" (srotolamento), perchè è come se la mesh venisse sviluppata su di un piano 2D.
Un Consiglio
L'UV mapping è anche essenziale nel game engine di Blender, o in qualsiasi altro gioco. Esso è lo standard de facto per l'applicazione di textures su dei modelli; qualunque modello che trovate in un gioco 3D è UV mappato.
|
L'editor UV
La mappatura UV si realizza in Blender all'interno della finestra dell'editor UV e con una speciale modalità nella finestra 3D chiamata Modalità di Selezione delle Facce UV (UV Face Select Mode). L'editor UV vi permette di mappare le textures direttamente sulle facce delle meshes. Ogni faccia può avere assegnate coordinate di texture individuali, e può essere combinata con i colori dei vertici per rendere la texture più chiara o più scura o per darle dei colori. Usando l'editor UV ad ogni faccia della mesh vengono assegnate due nuove caratteristiche:
- quattro coordinate UV Queste coordinate definiscono il modo in cui un'immagine o una texture è mappata sulla faccia. Si tratta di coordinate 2D, ed è per questo che vengono chiamate UV, per distinguerle dalle coordinate XYZ. Queste coordinate possono venire usate per il rendering o per la visualizzazione in realtime openGL.
- un collegamento ad un'imagine Ogni faccia in Blender può avere un collegamento ad una differente immagine. Le coordiate UV definiscono come questa immagine verrà mappata sulla faccia. Questa immagine quindi può essere renderizzata o visualizzata in realtime. Una finestra 3D deve essere in modalità 'Face Select' perchè si possa assegnare immagini o cambiare le coordinate UV dell'oggetto mesh attivo.
Prima aggiungere un oggetto Mesh alla vostra scena, quindi entrare in modalità Face Select scegliendo nel menu delle modalità quella di Face Select. La vostra mesh verrà disegnata con lo Z-buffer. Se passate alla modalità di disegno con Texture (AltZ, anche detto "modo a patata") vedrete la vostra mesh disegnata in bianco, che indica che attualmente non c'è un'immagine assegnata a tali facce. E' possibile controllare il modo con cui queste facce vengono disegnate usando i pulsanti Draw Edges e Draw Faces nel pannello di 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).
Premete A e tutte le facce della Mesh verranno selezionate ed evidenziate da linee punteggiate. Le facce si possono selezionare con
RMB
, o BorderSelect (B) 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 ⇧ ShiftF10. Qui si può caricare o cercare un'immagine col pulsante Load.
Se state texturizzando un oggetto per un gioco, assicuratevi che le dimensioni dell'immagine siano potenze di due (4, 8, 16, 32, 64, 128 ...) sia per larghezza che per l'altezza, in modo che possano essere disegnate in modo opportuno usando le openGL. (nota: molte schede video non supportano immagini più grandi di 2048x2048 pixels). Per dei lavori di render, le textures possono avere qualunque dimensione.
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 in Modo Vista Texture.
Strumenti per Scucire
Nella finestra 3D, si può premere U 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 PolarZX 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.
Modifica delle coordinate UV
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 X o Y dopo aver immesso il comando di dimensionamento (S). È 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 H e AltH 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 CtrlC e ⇧ ShiftC.
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 C.
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 è AltL.
Select Linked UVs (Seleziona le UV Collegate) funziona come Select Linkednell'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 è L.
Diverse parti della mappa UV possono essere cucite se i vertici UV del bordo corrispondono agli stessi vertici della mesh utilizzando il comando Stitch (V). 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) (W). Il comando Weld si può usare per allineare diversi vertici in X o Y. Dopo aver premuto W si preme X o Y per scegliere con quale asse si voglia allineare.
Qualche suggerimento:
- Premete R 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 N 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] (V). 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.
Scucitura [Unwrap] LSCM
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 U, 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 CtrlE. 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 L) 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 P o AltP. Premendo E nell'Editor UV si avvierà la scucitura LSCM delle facce visibili nell'Editor UV. Le UV spillate sono segnate in rosso.
Dipingere Texture
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.
Il rendering e le coordinate UV
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].









