SKINNARE CON IL MAX (per principianti)

Con questo tutorial intendo spiegare a grandi linee la "filosofia del layer trasparente", tecnica da me usata per disegnare le skins per i personaggi in Low-Poly, senza soffermarsi troppo sulla deformazione e l'editing delle coordinate unwrap che imparerete da soli facendo le vostre prove.

Per scrivere questa spiegazione ho usato il 3DS Max e il Pain Shop Pro, ma il tutorial puo' essere seguito a prescindere dal programma utilizzato.
Seguendo questa semplice guida avremo come risultato finale una texture per ogni parte del corpo, dunque diversi file bitmap. La filosofia di "disegno guidato dal layer" è comunqe la stessa anche se si vuole ottenere un singolo file che contenga tutte le texture.

Per rendere più assimilabile il concetto, semplifichiamo il significato delle famigerate lettere "UVW" descrivendole come delle coordiante "fittizie", create cioè, per differenziare le coordinate di mappatura dalle tre coordinate reali che conosciamo (XYZ).
Dunque le XYZ rappresentano le coordiane reali nello spazio, mentre invece le coordinate UVW si riferiscono solamente alla mappatura.
Tali coordinate sono ben distinte tra loro e nel momento in cui si lavora con le UVW, le coordiante XYZ non saranno in nessun modo influenzate, e viceversa, mentre si lavora con l'oggetto in 3D, le coordiante UVW non saranno influenzate.

"Unwwrapare" significa in pratica "stiracchiare" le coordiante UVW su un piano bidimenzionale.
Un esempio per capire l'unwrap è il planisfero.

Quando guardiamo un planisfero, non vediamo altro che l'unwrap della terra, ovvero, la texture del nostro pianeta "srotolata su un piano" in due dimenzioni.

Prima di assegnare una mappatura "unwrap" ad un oggetto, sarebbe consigliato assegnare una normale "UVW Map" all'oggetto in questione.
In questo modo si parte da una mappatura di base (planare, cilindrica, ecc..) e potremmo in seguito assegnare una "unwrap" per vedere come cade la mappatura sul piano bidimenzionale.
La differenza trà una "UVW Map" e una "UVW unwrap", sta nel fatto che la prima non può essere modificata e rimane fissa secondo la geometria che gli abbiamo assegnato (cubica, sferica ecc..), mentre nella seconda avremo la possibilità di "spostare i vertici di mappatura" a piacimento. Ricordate che tali spostamenti e modifiche riguardano sempre le coordinate di mappatura e non avranno nessun effetto sui vertici dell'oggetto reale.
Lo "srotolamento" si può notare in maggior modo, in presenza di UVW Map di base a forma cilindrica o sferica.

 

Proviamo ora ad assegnare una mappatura corretta ad un personaggio (con texture divise).

Assegnamo un materiale "Multi/Sub-Object" all'intero oggetto.
Per distinguere adeguatamente le coordinate di una mappatura su un oggetto complesso, si dovranno prima raggruppare le facce assegnadogli diversi "ID" a seconda delle parti in cui vogliamo dividere la "skin".
Per assegnare un ID, basta selezionare le facce che ci interessano e cambiare il numero all'interno della stringa "ID:"

In questo caso abbiamo assegnato "l'ID numero 2" al tutte le facce che rappresentano la parte avanti delle gambe.
Assegnamo ora una semplice mappatura planare alle facce in questione, sempre tenendo selezionate le facce, applichiamo la mappatura planare.

Usiamo l'allineamento sull'asse Y ed applichiamo un "fit" in modo che la mappatura sia ridimenzionata adeguatamente alla nostra selezione di facce.

 

 

Come si vede dalla foto sopra, ho assegnato un materiale "Multi/Sub-Object" all'intero oggetto, ora le facce avranno un diverso materiale a seconda dell'ID che gli abbiamo assegnato.
Assegnamo una texture di base adeguata alle nostre esigenze, nel nostro caso useremo una texture di un tessuto marrone su cui poi andremo a disegnare le varie pieghe e i vari dettagli in base alla posizione sull'oggetto 3D.

 

 

Possiamo quindi passare alla unwrap (sempre tenendo selezionate solo le facce che riguardano le gambe).

Premendo il tasto "Edit" sulla Unwarap UVW si aprirà la tanto attesa finestra che ci mostra come cade la mappatura sulle facce da noi selezionate.
Togliamo la visualizzazione della texture in modo da poter vedere bene la geometria delle gambe.

 

 

Ora potremmo fare le modifiche necessarie alle nostre coordinate UVW spostando i vertici nella finestra "Edit UVWs", nel nostro caso teniamo la mappatura così come cade con la mappatura planare assegnata, in seguito imparerete a modificare il posizionamento semplicemente facendo prove..

A questo punto è necessario "catturare" la finestra "Edit UVWs" in un immagine, ovvero, fargli una foto tramite un qualsiasi programma di grafica 2D che permette lo "screen capture". Personalemte uso il Pain Shop Pro, altri invece preferiscono usare il tasto "stamp" che cattura l'intero schermo o utilizzare un plug-in del Max chiamato "Texporter". Fatto sta che alla fine dovremo avere questa finestra in un immagine bitmap tagliata lungo i bordi della mappatura. Apriamola con il nostro programma 2D.

Questa operazione è necessaria per poter "disegnare" la skin in modo preciso, seguendo i bordi e le sfaccettature dell'oggetto in 3D.

Possiamo iniziare il nostro lavoro di disegno bidimenzionale, con qualsiasi programma di fotoritocco, tenendo la nostra immagine come "Layer ad opacità intermedia" sopra l'immagine del tessuto di base che abbiamo scelto in precedenza. Le due immagini dovranno avere le stesse dimenzioni e dunque, nel momento in cui si copia ed incolla l'immagine in nuovo layer, dovremo fare in modo che le dimenzioni dell'immagine catturata sia uguale a quella della texture di base.
Usando questa tecnica possimao vedere la geometria dell'oggetto e come cade la texture sull'oggetto in modo esatto, aiutandoci nell' eseguire correttamente l'opera di "painting".

Ogni volta che vorremo vedere l'effetto delle nostre modifiche della texture sull'oggetto, basterà tornare sul Max e fare un "reload" dell'immagine utilizzata.

Come si può notare la mappatura andrebbe sistemata ai bordi allargando i vertici più esterni in modo che la texture avvolga l'oggetto in modo uniforme..

Seguendo la stessa tecnica si procederà a texturizzare ogni parte dell'oggetto, pezzo per perzzo, assegnando un ID ad ogni parte del corpo, si per la parte anteriore che per quella posteriore.

 

Riassumendo:

1.Dai alla mesh un materiale Multi/Sub-Object con una texture di prova...

2. Su Edit Mesh selezioni le facce d'avanti del busto e gli dai un ID (ad esempio "1").

3. Selezioni le facce di dietro del busto e gli dai un altro ID(ad esempio "2").

4. Ripeti il punto 3 per i bracci e le altre parti del corpo.
Ora ogni parte è divisa per ID (mettiamo conto che abbiamo 4 ID: ID1 avanti del corpo, ID2 Dietro del corpo, ID3 avanti del braccio, ID4 Dietro del braccio).

5. Ora vai di nuovo su Edit Mesh e mettiti sotto "face", puoi selezionare le facce tramite il pusante "select by ID".
Selezionando l'ID1, si evidenzieranno le facce avanti del busto.

6. Adesso, sempre tenendo le facce selezionate, applichi la UVW Map, scegliendo "planar" e dicendogli "fit". La mappatura sarà adeguata alle dimenzioni delle facce selezionate.

7. Sempre tenendo la selezione delle facce, applica la Unwwrap UVW e premi su "edit". Si aprirà una nuova finestra dove ti verrano indicate le coordiante della mappatura, tale finestra è "bidimenzionale".

8. "Cattura l'immagine" nella finestra "Edit UVWs", aprila con un programma di fotoritocco e fai un "crop to section" per avere l'immagine ben ritagliata lungo i bordi che delineano la mappatura.

9.Crea un nuovo Layer sull'immagine ed incollaci la texture scelta come base.

10. Dai al Layer un opacità di 60% in modo che siano visibili entrambi i Layer.

11. Ora lavora sul Layer che rappresenta la texture, creando i dettagli e le ombreggiature che credi opportune.

12. Per vedere l'effetto sull'oggetto, salva l'immagine tenendo i Layer della UVW Map ad opacità 0.

 

 

Usado questo metodo si avranno diverse texture per ogni ID e dunque, una texture per ogni parte del corpo.
Di norma però è cosigliato utilizzare una sola immagine che racchiuda in se tutte le parti della skin, in modo da allegerire il carico della scheda grafica, sopratutto se il personaggio sarà utilizzato per un gioco in real-time.
E' possibile avere una sola texture che racchiuda tutte le diverse parti della skin semplicemente "giocando" con l'unwrap e posizionando in modo adeguato le parti che la compongono.

 

Bene..mi sembra di aver detto tutto, io vi ho dato solo gli input per capirne la tecnica, ora sta a voi smanettare con l'Unwrap UVW e con i layer trasparenti.
Per chi vuole approfondire l'argomento, tre buoni tutorial si trovano a questi link:
Tutorial1 Tutorial2 Tutorial3

Buon lavoro!

21/04/2003