Lezione 7 - UVW Map e Multi/Sub Object

Diciamo sin da subito che questi termini dalla pronuncia complicata non ci devono spaventare, a dispetto dai nomi cosi complicati, nascondono dei concetti molto semplici.
Multi/Sub Objec è un semplice ed utile materiale del 3DS Max.

Chiarito cosa sono le textures e come applicare un materiale ad una geometria, iniziamo a svelare il significato di alcune parole essenziali, partendo delle famigerate lettere UVW.
Queste tre lettere e le parole "cordinate di mappatura", potrebbero spaventare un principiante. Non dovete temere perché non c'è nulla di complicato anche perché non dovremmo neanche capirle per forza, le spiegheremo sommariamente perchè sono solo questioni didattiche che non interesseranno il lavoro che dovremmo realmente fare.

Coordiante UVW

UVW non sono altro che le coordinate per la mappatura, come XYZ definiscono delle coordinate nello spazio, UVW definiscono delle coordinate per posizionare le textures su un modello.
Semplicemente per non confonderle cose, invece di chiamarle XYZ, queste coordinate le hanno chiamate UVW. A noi questo ci interesserà relativamente perché per applicare delle mappature come vogliamo, non dovremo far altro che posizionare, spostare, ecc.. le textures visivamente, tramite i modificatori UVW Map o Unwarp Map.
A dirla tutta le coordinate di mappatura per un'immagine, essendo bidimensionale, sono solo due U e V. La W si usa tipicamente nelle textures procedurali (cioè calcolate e non prese da un'immagine) che noi non vedremo.

Le coordinate UVW saranno salvate nel file X/FBX e saranno lette da XNA per posizionare le textures come le abbiamo impostate sul Max. robo

Di norma l'effetto finale che vogliamo ottenere con una texture non si raggiunge semplicemente attaccando una texture al modello, spesso dovremo aggiustare la posizione della texture da come viene proposta di default.
Per fare questo, in seguito, dopo aver applicato UVW Map, useremo il modificatore Unwrap UVW che servirà ad "aggiustare" le coordinate di mappatura.
Infatti, come vedremo in seguito, Unwrap UVW si usa per modificare in maniera precisale le coordinate di mappatura in un editor speciale .

Default Map Coord NOTA: Di default le coordinate di mappatura sono già presenti su una primitiva a condizione che nel momento della creazione sia spuntata la scelta "Generate Mapping Coords" .
Infatti basta applicare ad un modello un materiale che abbia una texture per vederla subito sulla geometria senza usare nessun modificatore aggiuntivo.
In questo modo le coordinate di mappatura saranno quelle più adatte alla primitiva, se per esempio generassimo una primitiva sferica, la mappatura sarà sferica, se fosse un piano, la mappatura sarà planare, ecc..


Il modificatore UVW Map
Il modificatore UVW Map è quello più semplice per lavorare con le coordinate di mappatura e ci da la possibilità di scegliere delle mappature basilari, di forme regolari quali, planare, sferica, cilindrica ecc.. Una volta applicate queste mappature basilari, le potremmo spostare, ruotare o ridimensionare. Questo tipo di modificatore è però limitato perché in presenza di forme complesse non sarebbe sufficiente per definire delle mappature precise. Per questo abbiamo già accennato a Unwrap UVW che vedremo nella prossima lezione.

Come ogni modificatore UVW Map può essere applicato ad una singola selezione di facce o poligoni.
Quando inseriremo il modificatore UVW Map potremo lavorare con il sotto-elemento chiamato Gizmo.
Con questa parola si intende un elemento visivo d'aiuto che identifica, in questo caso, la texture.
Anche altri modificatori fanno uso di un Gizmo e sarà sempre visualizzato di colore giallo. Questo particolare elemento serve per lavorare in maniera più veloce e intuitiva.
Una volta aperto il sotto-menu del modificatore UVW Map potremmo selezionare il Gizmo e finché esso sarà selezionato, tutte le operazioni di rotazione, spostamento, scala, avranno effetto solo sul Gizmo e non influenzeranno la geometria.

Gizmo UVW Map


Video 3 - il modificatore UVW Map
Questo breve video mostra alcuni esempi di mappatura tramite il modificatore UVW Map.


Scarica questo video (necessita del Flash Player)

Come avrete notato questo modificatore non è sufficiente per impostare correttamente delle mappature su un modello complesso come potrebbe essere un personaggio. UVW Map è però un strumento utile per la texturizzazione di modelli più semplici, come per esempio un edificio come quello creato nella lezione sull'estrusione. Prima di parlare del più complesso modificatore Unwrap, proviamo a texturizzare un modello con il solo utilizzo di UVW Map.
Di norma si applica prima UVW Map e in seguito si aggiusta la mappatura con Unwrap.
Prima di fare questo però dovremo modificare il nostro materiale da Standard a Muti/Sub Object .
Vediamo cosa significa.

Materiale Multi/Sub-Object
Questo tipo di materiale tornerà utile ai nostri scopi.
Prendiamo come esempio una casa, molto semplice. Se volessimo applicarci due texture, una per il tetto ed una per i muri, come dovremmo fare? Applicando questo materiale che in realtà è un gruppo di due o più materiali diversi.
In realtà ci sono un sacco di modi per applicare texture diverse ad una stessa mesh e questo che andremo a vedere ora è uno dei più semplici e ci tornerà utile per la creazione di modelli da utilizzare su XNA.
Per esempio un altro metodo veloce sarebbe quello di dividere la geometria in mesh separate e applicare ad ognuna un materiale diverso. Poi tanto una volta esportato il modello, XNA lo vedrà come modello unico formato da più parti e funzionerà come norma. Con una geometria semplice questa tecnica funzionerebbe senza problemi. Al contrario, in presenza di modelli animati come un personaggio avremmo qualche problema perché avendo una mesh divisa si creerebbero dei problemi durante l'animazione. Di norma un modello organico è un unica mesh. Per il momento useremo la tecnica del materiale multipolo Multi/Sub, in seguito vedremo un'altra tecnica.
Il materiale Multi/Sub-Objec, come si intuisce dal nome è un materiale che comprende una serie di sotto-materiali da applicare alla stessa mesh.

Il materiale "Multi/Sub-Object" non è un vero materiale ma è un insieme di sotto-materiali da applicare alla stessa mesh. robo

Se nell'editor di materiali premte sul pulsante Standard si aprirà una nuova finestra dove poter scegliere il tipo di materiale con cui vorremo lavorare.

Multi-Sub

Ce ne sono molti ma a noi interessa particolarmente il tipo di materiale evidenziato, Multi/Sub-Object. A dispetto di un nome così complesso avremo un tipo di materiale molto semplice da usare. Esso infatti è semplicemente l'insieme di più materiali.
Infatti, appena scelto questo tipo di materiale, avremo una nuova finestra che elenca diversi Sub-Material (sotto materiali). Iniziamo subito a cancellarne alcuni perché per il momento lavoreremo con solo due tipi di materiali, uno per il tetto della nostra casa e uno per il muro.
Con il tasto Delete cancelliamo tutti i materiali fino ad averne solo due in lista.

Multi-Sub

Per non fare confusione possiamo rinominare i materiali come meglio crediamo, il materiale principale Multi/Sub che fa d'insieme lo potremmo chiamare "Materile Casa", poi i materiali effettivi li potremmo chiamare, il primo "Tetto" e il secondo "Muri". Ovviamente potete chiamarli come volete.
Per rinominare i materiali basta cliccare sul menu a tendina accanto al pulsante che abbiamo appena usato per scegliere il materiale Multi/Sub .

Seb material3

Questo menu a tendina è il menu principale del materiale e ci permette di navigare tra i diversi materiali del Multi/Sub, tronare al materiale principale e rinominare i materiali.

L'ID dei sotto-materiali
Come avrete notato ogni materiale possiede un numero identificativo, un ID. Si tratta di un numero che identifica ogni sotto-materiale (ID sta per IDentification Number).
Grazie a questo numero potremo assegnare i diversi materiali del Multi/Sub a diverse facce della stessa geometria.
Assegnando per esempio il numero 1 alle facce del tetto, ad esse sarà assegnato il materiale che corrisponde all'ID numero 1. Di conseguenza, alle faccie a cui assegneremo l'ID numero 2, sarà assegnato il secondo materiale della lista dei sotto-matriali del nostro Multi/Sub.

Non resta altro che provare, aprite il primo materiale e assegnatgli una texture sul canale Diffuse. Scegliamo per esempio una texture che simuli delle tegole.
Torniamo indietro dal menu del Multi/Sub e facciamo la stessa cosa con il materiale 2, ovviamente scegliamo una texture che simuli un muro di mattoni.
Se non lo abbiamo già fatto, assegnamo il materiale Multi/Sub alla geometria nel solito modo.

Ora, per assegnare i diversi materiali a dei poligoni specifici ci basterà selezionare le facce interessate tenendo premuto il tasto CTRL e poi andare a cambiare il numero accanto a Set ID.
Assegna ID
Appena cambieremo il numero di questo campo (Set ID), il materiale corrispondente sarà assegnato alle facce che in quel momento sono selezionate.
Poco sotto c'è un pulsante chiamato Select ID. Premendo questo pulsante verranno automaticamente selezionate tutte le facce corrispondenti all'ID specificato nel campo accanto al pulsate.




Video 3 - UVW Map
Noterete dal video sottostante che ogni volta che si vuole assegnare un nuovo UVW Map a dei poligoni specifici, dovremo prima aggiungere un nuovo modificatore Edit Mesh. Questo si rende necessario per selezionare i poligoni su cui vorremo applicare la mappatura successiva.
Alla fine del lavoro potremo collassare l'intera lista dei modificatori e rimanere con Editable Mesh che equivale ad avere come ultimo modificatore Edit Mesh.



Usando questo metodo avremmo applicato diversi materiali a delle facce della stessa mesh. Dunque non solo avremo applicato delle textures diverse a diverse facce ma dirttamente dei materiali diversi. Questo sistema potrebbe risultare superfluo per i nostri scopi, ma è sicuramente veloce e funzionale. In seguito impareremo ad usare una sola texture che contenga tutte le eventuali textures da applicare ad un modello e la gestiremo con Unwrap UVW.