Grafica (C.d.S. Informatica)
2007/08
Relazione del Progetto di Grafica assegnato il 26/05/2008
Modellazione, resa realistica e animazione 3D - a.a. 2007/08
di Antonio Baglivo
Willy il Coyote




Obiettivo

Scopo del progetto è quello di creare un personaggio di animazione tramite modellazione 3d e resa; quindi creare una scena dove inserire il personaggio e sviluppare un'animazione di un centinaio di frame con risoluzione 300x300 utilizzando gli strumenti xccurv, xcsurf, xcrayt e xcview presenti in xcmodel.

All'interno di questa relazione saranno descritte le tecniche utilizzate per la creazione dei vari oggetti utilizzati per la costruzione del personaggio, della scena, degli oggetti della scena e dall'animazione: se un singolo oggetto è formato da più superfici, saranno assemblate nella fase di modellazione e utilizzate nelle fasi successive (resa e animazione).

La modellazione geometrica delle superfici sarà creata con XCCurv e XCSurf, dove il primo è uno strumento specializzato alla creazione di curve 2D, mentre il secondo è in grado di creare curve 2D e 3D e (anche tramite ques'ultime) è in grado di creare ogni tipo di superficie in 3D.

La resa realistica e l'animazione sarà fatta attraverso la scrittura di uno script in C che utilizza la libreria "descriptor.h" e assistita tramite il programma XCRayt.

L'animazione sarà visibile utilizzando XCView, il quale è in grado di leggere i formati hr e hra (resa il primo, resa e animazione il secondo) che sono entrambi formati "proprietari" di XCModel.


Progettazione del personaggio (Willy il Coyote)

Si è pensato di creare, come personaggio di animazione, Willy il coyote: personaggio degli anni 50 e 60 (prima apparizione 16 settembre 1949) del cartone animato "Wile E. Coyote and Road Runner" (conosciuto in Italia come "Willy il Coyote e Beep Beep") della Warner Bros, dove è stato recentemente costruito un modello 3D del personaggio inserito nel film "Looney Tunes Back in Action" del 2003 (anche quest'ultimo della Warner Bros).

Il personaggio Willy è composto dalle seguenti superfici:


Piede

Il piede si può suddividere in due parti:

Le dita del piede sono state create tramite skinning di tre curve, dove la prima è stata creata in XCCurv e la seconda e la terza sono state copiate e scalate dalla prima (di cui la terza scalata a un punto) con XCSurf. Questo modello è stato utizzato per tutte le dita del piede del personaggio.


Mentre la per pianta del piede sono state utilizzate due superfici con extruding utilizzando 3 curve.


Gamba

La gamba è stata creata tramite Extruding di sette curve dove una di queste (quella verde nell'immagine) è quella della pianta del piede vista precedentemente.

Busto

Il busto è stato creato tramite Skinning di sei curve: la prima creata in XCCurv e inserita in XCSurf mentre le altre (tranne quella in bianco nella figura), derivano dalla prima. La curva selezionata (quella in bianco) verrà usata per la creazione del collo, che vedremo di seguito.


Collo

Il collo è stato creato con Extruding di due curve, dove la curva verde in figura è praticamente quella del busto. Come si può vedere in "side" la curva in alto non è uguale all'altra: oltre ad essere stata copiata e traslata rispetto alla curva verde è stato anche fatto uno scale.


Coda

La realizzazione della coda è stata fatta in maniera particolare:


Braccio

Il braccio è stato modellato con Extruding di quattro curve.


Mano

Come nel piede, anche la mano si divide in pianta della mano e dita, e le superfici sono state modellate con lo stesso procedimento utilizzato nel piede.

Faccia

La faccia è composta da:


La progettazione della faccia è stata la parte più dura del progetto: per la sua realizzazione è stato necessario progettare il modello prima su carta e poi con XCModel.

La prima superficie sviluppata è stata il naso. Quest'ultima si divide in due superfici: la prima è stata fatta con Revolution di una curva creata in XCCurv e in seguito è stato ridotto rispetto l'asse delle Z.


Mentre la seconda superficie è una semplice sfera creata con Usual


In seguito sono state costruite le guance. Anche queste sono state fatte con Revolution, utilizzando una curva costruita precedentemente in XCCurv. Poi sono state scalate (e ruotate) finché non si è raggiunta la forma desiderata.


Dopo le guance è stata fatta la testa. Anche questa superficie è stata fatta con Revolution.


Gli occhi sono due sfere fatte con Usual e ristrette con scale nell'asse delle Y. Per fare le pupille sono state aggiunte due altre sfere nell'occhio.


Per le ciglia è stata costruita una curva in XCCurv e aperta in XCSurf. Da quella curva derivano altre due curve di cui una è solo traslata leggermente rispetto all'asse delle Y e l'altra è stata ridotta fino a diventare un punto. La superficie sarà generata facendo extruding delle tre curve.


Infine le orecchie sono state create con lo Skinning di 5 curve: la prima creata in XCCurv e le altre derivano da essa. La curva blu in figura è stata leggermente ingrandita e traslata indietro rispetto l'asse delle Y, mentre la curva Rossa è stata rimpicciolita; infine c'è una curva scalata fino a formare un punto.



Progettazione oggetti della scena

Gli oggetti utilizzati nella scena sono:


Catapulta

La catapulta è un oggetto complesso formato da 31 superfici che possiamo in sintesi suddividere in:


Il numero maggiore di superfici sono situate nella base, che è formata da 18 superfici che si possono suddividere in sei parti, per ogni parte si utilizzano 4 curve per la creazione di tre superfici.


In particolare è stata creata con XCCurv una "curva" rettangolare e in seguito caricata in XCSurf; da qui è stata copiata e in seguito scalata fino a diventare un punto. Da queste due superfici si fa extruding per avere una superficie piana rettangolare. In seguito si è fatta un'altra copia della curva rettangolare ed è stata traslata in avanti parallelelamente rispetto alla prima; poi si è fatta una nuova copia di quest'ultima e ridotta fino a un punto per ottenere con Extruding una seconda superficie piana; infine sono state prese le due curve rettangolari (ovviamente non quelle scalate) ed è stato fatto Extruding in modo creare una parte della base. Le altre cinque parti sono stare create con lo stesso sistema:.


Le ruote sono state create con superfici cilindro di Usual.


Timone e rullo sono stati creati con superfici Usual: in particolare il timone con un cubo e quattro cilindri e il rullo con un cilindro.


Il launcher è composto da due superfici: la prima è stata fatta con tubolar e la superficie che chiude il tubo con Extruding.


Infine la pedana è stata creata grazie a un piano Usual e in seguito sono stati modificati i Control Point..



Cactus

Il cactus è formato da due superfici. La prima è stata creata con Revolution di una curva creata in XCCURV; nella seconda è stato utilizzato un procedimento simile a quello utilizzato per la coda del personaggio: si è creato un tubo con tubolar e poi sono stati presi i control point del margine superiore del tubo ed è stato scalato fino a formare un punto, in seguito il control point del punto è stato traslato in alto.



Strada

La strada è un piano Usual ingrandito con scale e sono stati modificati i control point (come nella Pedana della catapulta vista precedentemente).



Terra

La terra e il laghetto sono entrambe due piani creati con Usual. Il primo è di grande dimensione ed è stato fatto il refinement e modificati i control point in modo da formare delle piccole collinette e delle cunette. In due di queste cunette sono stati inseriti un piano che identifica il laghetto



Mondo

Il mondo è stato creato con una sfera in Usual, grande quanto la terra.



Descrizione Scena


Si è deciso di ambientare la scena "all'aperto", nonostante in realtà l'intera scena si svolge all'interno di una sfera che rappresenta il mondo visibile a occhio nudo: questa decisione è stata presa per simulare il più possibile la vista all'orizzonte. All'interno di questo mondo, la scena si svolge su un piano che identifica il terreno su cui viene girata la scena. Come detto già precedentemente, questo terreno è pieno di zolle e collinette dove sono presenti anche due laghetti. La strada è stata inserita al centro del terreno e infine sono state create delle copie dei cactus sparse di qua e di la nella scena. La catapulta e Willy sono stati messi in prossimità della strada.

Per quel che riguarda la scelta degli attributi e il texturing applicati agli oggetti:


Immagini di Resa




Animazione


L'animazione consiste nel:

Per far partire la catapulta è stato necessario creare più superfici per ogni frame in modo da poter simulare il movimento del launcher, della pedana e anche del masso. Queste superfici sono state create con Inbetween.


L'animazione finale è la seguente


Download


I file si possono scaricare al seguente link: willy.tgz

Problemi e bug

I bugs che ho trovato sono i seguenti:


Torna su