Grafica (C.d.S. Informatica)
2007/2008
Relazione del Progetto di Grafica assegnato il 26/05/2008
riprogettazione, in modellazione 3D, di un personaggio di un film di animazione e di una scena in cui inserire il personaggio: Mike Wazowski di Monsters & Co.
di Marco Marcianesi


Obiettivo
Utilizzando i pacchetti XCCurv, XCSurf e XCRayt di XCModel 4.0, realizzare un'esperienza significativa di modellazione e resa realistica insieme alla progettazione di una breve animazione digitale.
Descrizone Scena
La scena descrive Mike Wazowski mentre rimuove una bombola piena di paura di bambino (su segnalazione del led lampeggiante situato sulla porta). Alla rimozione della stessa viene rimossa anche la porta, poichè sarà sostituita da un'altra.
La scena ha le seguenti macrocomponenti:
- Mike
- Bombole
- Porta e suo contorno
- Sostegni ad incastro che tengono la porta in piedi
- Pinza che solleva la porta
Progettazione oggetti della scena e superfici
Mike Wazowski
- Corpo:
Il corpo di Mike è una superficie ottenuta per rivoluzione, mediante una curva 2d che ricalca esattamente il suo profilo..
- Occhio:
L'occhio vero e proprio di Mike non è altro che una sfera. Ciò che ha invece richiesto il maggior impegno è la serie di ciglia e sopracciclia. Esse sono state ottenute attraverso dei tori. La loro inclinazione e il loro spessore hanno consentito di ricavare l'effetto mostrato in figura.
- Bocca: La bocca di Mike è stata eseguita mediante modellazione gerarchica. Dapprima è stata trimmata la superficie del corpo, per ottenere il frammento contenente la bocca. Dopodichè sono stati traslati manualmente nella profondità i punti di controllo della superficie (previo raffinamento). L'effetto ottenuto non è dei più felici (è una bocca stile pac-man), ma senza un tool come xcbool è quanto di meglio si poteva pensare.

L'effetto della bocca è comunque completato dal labbro, realizzato tramite superficie tubulare, con traccia e profilo indicati nelle figure seguenti.
- Denti:
I denti sono stati ottenuti per rivoluzione dalla curva 2d che si può vedere di seguito.
- Orecchie:
Le orecchie sono state ottenute per rivoluzione a partire dalla curva di seguito.
- Braccia:
Le braccia sono state una delle superfici più problematiche. L'idea era quella di agire per skinning a partire da alcune curve 3d. Purtroppo lo skinning forniva una curva troppo regolare e non consentiva di ottenere arti retti, pertanto si è deviato sull'extruding. Per questo motivo è stato preferito il metodi di extruding. Sono state utilizzate 3 curve: un' ellisse per la spalla, un semicerchio per il gomito ed ancora un semicerchio per il polso. Si può notare la torsione dell'arto: questa è apprezzabile su un arto umano, infatti le parti piatte del gomito e del polso sono sfasate di 90° fra loro. L'effetto sul modello è ottenuto semplicemente tramite la rotazione delle curve 3d, dato che l'extruding mette in relazione i singoli punti di controllo.
- Mani: Il palmo della mano è ottenuto per skinning di ellissi di dimensioni differenti: più piccole sul polso, più grandi verso l'attaccatura delle dita (in realtà all' estrema sommità della mano è situata la stessa ellisse molto piccola, per poter rendere la superficie chiusa.
- Dita delle mani: Le dita delle mani sono ottenute per skinning. Dei semplici cerchi, opportunamente scalati, rutati e traslati per ottenere la configurazione seguente hanno permesso di ottenere un effetto molto realistico.
- Gambe: Le gambe, allo stesso modo delle braccia sono ottenute da cerchi e semicerchi, per extruding (in particolare il semicerchio è il ginocchio, piatto nella sua parte posteriore).
- Piedi: I piedi così come quasi tutte altre le superfici particolarmente complicate sono stati ottenuti a partire da curve 3d opportunamente posizionate e scalate. Si può vedere nelle figure successive le curve che sono stato oggetto di extruding per ottenere il risultato finale.
- Unghie delle dita dei piedi: Le unghie sono sei semplici cerchi opportunamente ruotati e scalati, interpolati per skinning.
Scena
- Bombole: Le bombole non sono altro che il frutto della rivoluzione della curva 2d che si può vedere di seguito.
- Sostegno della bombola: Il sostegno della bombola è stato ottenuto tramite extruding della curva 2d che si può vedere di seguito. Anche qui la stessa curva è stata ripetuta più volte, ogni volta con le dovute trasformazioni. Da notare che le curve 2d sono state modellate intorno a quelle della bombola per poterle ottenere perfettamente aderenti.
- Porta: La porta sarebbe stata facilmente ottenibile tramite un parallelepipedo, ma si è preferito costruirla per extruding per poterne mantenere le dimensioni identiche a quelle dei sostegni e del contorno.
- Sostegni della porta: I sostegni della porta (le cui curve 2d sono state modellate intorno a quelle della porta) sono stati ottenuti per extruding per poter ottenere gli spigoli e l'effettuo "guida" nella quale la porta scorre. Essi sono completati da dei supporti comunemente detti ruote (a loro volta ottenute tramite cilindri molto schiacciati).
- Contorno della porta: Il contorno della porta è quello che la contiene, ed è ottenuto tramite extruding di più volte la stessa curva (quella di seguito)
- Pinza per il sollevamento della porta: La pinza è semplicemente la composizione di un cilindro molto alto e stretto che funge da corda, e di due parallelepipedi ruotati in direzioni opposte.
- Muri e pavimenti: tutte le pareti sono semplicemente dei piani opportunamente posizionati.
Luci
L'illuminazione è gestita mediante 2 sorgenti di luce: una nella posizione ottimale per illuminare mike (vicina alla telecamera quindi), posizionata in maniera fissa e di colore bianco. La seconda sorgente è stata utilizzata per dare l'effetto di lampeggiamento al led incastonato nel contorno della porta. A tale scopo è stata utilizzata una luce normale anzichè di tipo "warn" a causa della cattiva resa di quest'ultima. Infatti nel rendering dell'intera animazione questa veniva a malapena notata, quindi si è preferito optare per una luce a tutto campo, di colore rosso acceso, spegnendola settandone il colore a nero.
Textures
Gli oggetti sono stati texturati con 8 immagini, ed una sola di esse è stata applicata col metodi di proiezione.
- un occhio su sfondo bianco per l'occhio di mike
- un' immagine di un materiale bianco sporco per i denti, le unghie e le corna di mike
- un quadrato giallo con una banda nera per le bombole
- una immagine di materiale ferroso per i sostegni della porta
- un' immagine di materiale legnoso per il pomello della porta
- un quadratino di colore metallico scuro per lo stipite della porta
- un' immagine di una serranda applicata per proiezione sulla parete in fondo
- una bumpmap per la porta per ottenere l'effetto di aree scavate
Inoltre alcuni oggetti sono stati colorati tramite attributi, come le pareti, a cui è stato assegnato un color "puffo".
Immagini di Resa

Download
wazoski.tgz
Problemi e bug
I problemi sono stati riscontrati principalmente in 2 fasi: modellazione delle superfici e scripting.
Per quanto riguarda la fase di modellazione sono stati riscontrati problemi con superfici tubolari e swinging: nel caso in cui la curva traccia presenta una variazione di segno della derivata (curve a "S") il tool era incapace di far scorrere adeguatamente il profilo lungo la traccia.
Per quanto riguarda invece la fase di scripting un problema particolarmente difficile da risolvere (se non per tentativi) è stato quello del posizionamento delle textures, in quanto manca una indicazione intuitiva delle coordinate da utilizzare. Altro problema è stato quello del posizionamento degli oggetti. Ci si è scontrati con l'impossibilità di conoscere a quali coordinate un oggetto fosse, e quindi, anche qui, dover procedere a tentativi per poter ripristinare la posizione dell'oggetto in seguito ad altre trasformazioni.
I bugs riscontrati non sono invece stati molti, oltra a quello probabilmente già noto dell'incompatibilità verso l'X-server che comporta la mancata visualizzazione dei pulsanti.