Grafica (C.d.S. Informatica)
2004/05
Relazione del Progetto di Grafica assegnato il
27/05/2005
Modellazione e Resa realistica
di Tudor Alexandru Lascu
Obiettivo
Le specifiche del progetto richiedono di realizzare il modello
geometrico di (almeno) due superfici, ciascuno formato da una o più
superfici NURBS. Il primo soggetto, a scelta libera, deve essere
ottenuto a partire da curve; l'altro deve essere ottenuto per
modellazione gerarchica interattiva ed il soggetto fissato è
la testa di un animale tipo trofeo di caccia.
Come primo soggetto ho scelto di modellare un samovar mentre come secondo ho
scelto di modellare la testa di una giraffa. Progettazione oggetti della scena
e superfici
Nota: tutte le curve utilizzate sono state disegnate con
il pacchetto XCCURV.
Progettazione del samovar
Il
corpo centrale del samovar è stato ottenuto, per rotazione, a partire
da una curva profilo:
Il piedistallo invece è stato ottenuto tramite la tecnica dello
swinging a partire dalle seguenti curve:
Il rubinetto del samovar è stato ottenuto per estrusione a
partire da
numerosi cerchi opportunamente disposti nello spazio mentre la parte
che serve per aprire e chiudere il rubinetto è stata ottenuta per
giustapposizione di superfici standard (cilindri, sfere e cubi)
opportunamente modificate:
I manici del samovar sono stati ottenuti tramite la tecnica di
skinning ed i pioli per rotazione:
Progettazione del trofeo di
caccia
La modellazione della testa, essendo di tipo gerarchico, è partita da
un'unica
superficie cui sono stati via via aggiunti diversi overlay per
permettere la modellazione locale dei singoli elementi del viso (muso,
orecchie, occhi, corna). Si è scelto di partire da una sfera
opportunamente modificata (scalata) per dare un primo abbozzo di una
testa. Subito dopo sono stati aggiunti gli overlay relativi alle
orecchie, alle corna ed al muso (di cui si intravedono già le prime
modifiche, un primo allungamento).
Dopo l'allungamento del muso si è passati alla modellazione delle corna
e delle orecchie:
Alcuni dettagli di queste ultime:
Il passo successivo è stato delineare la
forma della bocca facendo rientrare la parte centrale di control point,
così facendo abbiamo ottenuto la bocca aperta:
che è stata successivamente richiusa:
L'ultimo dettaglio ad essere messo a punto sono stati gli occhi:
Alcune immagini che mostrano la testa della giraffa finita:
Il collo è stato ottenuto tramite la tecnica Tubular a partire da un cerchio ed
una curva traiettoria, la superficie così ottenuta è stata poi
opportunamente modificata tramite alcune operazioni di scala:
Progettazione degli altri
oggetti che compongono la scena:
Prima di tutto abbiamo modellato un tavolo (composto da un semplice
cilindro, la superficie, ed una superficie ottenuta dalla rotazione di
una curva profilo per quanto riguarda la gamba):
I muri della stanza sono stati ottenuti scalando le superfici plane predefinite in xcsurf:
Descrizone Scena
Composizione: la scena,
minimalista, è composta dal samovar che poggia, assieme a due tazze, su
un tavolo; dietro, sulla parete campeggia il trofeo.
Materiali: per dare
realismo alla scena, a ciascun oggetto è stato associato un attributo
semplice (modificato) oppure una texture che corrispondesse al
materiale di cui è costituito; ad esempio:
per il collo della giraffa è stata applicata una (domain)
texture che riprende esattamente la pezzatura tipica delle giraffe;
per il samovar abbiamo cercato di imitare, tramite un attributo
semplice, un materiale somigliante all'argento;
per il tavolo abbiamo usato una (domain) texture di un marmo
nero;
per il parquet è stata scelta una (projection) texture a
partire da un tipo di legno.
Luci: sono state disposte
tre luci in modo da illuminare la scena dai punti di vista più
significativi: una luce di fronte, una di lato ed una dall'alto.
Il problema principale è legato al fatto che non sono riuscito a
salvare la testa di giraffa dal formato gerarchico .hie in .obj. Per
questo motivo nelle immagini di resa non compare la testa nella sua
interezza ma soltanto una parte (il muso). Mi è parso di capire che
bisognasse salvare i singoli overlay separatamente ma non sono riuscito
a capier come fare. Ad ogni modo la superficie gerarchica
corrispondente alla testa di giraffa è visualizzabile con XCSURF.
Alcuni problemi riscontrati con l'utilizzo dei pacchetti XCSURF ed XCRAYT:
Degradazione delle prestazioni: dopo che si lavora per un certo
periodo di tempo con XCSURF
si ha un degrado significativo nelle prestazioni nel senso che le
operazioni diventano via via più lente.
Diversa visualizzazione di superfici tra XCSURF ed XCRAYT: alcune superfici
(nel mio caso è evidente il caso del piolo del manico del samovar)
vengono visualizzate diversamente (nel pacchetto di resa sembrano più
appuntite).
In XCSURF se si apre
una superficie gerarchica e si cerca di salvarla in altro formato
(.obj) senza averla ri-salvata si entra in un loop infinito di finestre
da cui non è possibile uscire che richiede la terminazione esplicita
dell'intero programma.
In XCSURF la pratica
funzione copy non sempre va a
buon termine: ogni tanto da' risultati strani per cui è bene salvare,
cancellare e successivamente riaprire la superficie che si vuole
copiare.