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


scena_main


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.


Il corpo centrale del samovar è stato ottenuto, per rotazione, a partire da una curva profilo:

samovar_control_net          samovar_surface



Il piedistallo invece è stato ottenuto tramite la tecnica dello swinging a partire dalle seguenti curve:

curve_piedistallo_swinging       piedistallo_control_net       piedistallo_surface



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:

cerchi_rubinetto_curve        rubinetto_surface
       blocca_flusso_superfici


I manici del samovar sono stati ottenuti tramite la tecnica di skinning ed i pioli per rotazione:

curve_manico       manico        piolo


     


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).


bozza_testa       bozza_testa_profilo       bozza_testa_up



Dopo l'allungamento del muso si è passati alla modellazione delle corna e delle orecchie:


testa_corna           testa_corna_e_orecchie
  

Alcuni dettagli di queste ultime:

corno            orecchia



Il passo successivo è stato delineare la forma della bocca facendo rientrare la parte centrale di control point, così facendo abbiamo ottenuto la bocca aperta:            


bocca_aperta       bocca_aperta_cn   


che è stata successivamente richiusa:

bocca_chiusa       bocca_chiusa_cn



L'ultimo dettaglio ad essere messo a punto sono stati gli occhi:

bozza_occhio       occhio


Alcune immagini che mostrano la testa della giraffa finita:



testa_front       testa_persp   

testa_side       testa_up




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:

collo_tubular_control_net       collo_tubular       collo





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):

tavolo       tavolo_cn



I muri della stanza sono stati ottenuti scalando le superfici plane predefinite in xcsurf:

pareti


Descrizone Scena


    1. per il collo della giraffa è stata applicata una (domain) texture che riprende esattamente la pezzatura tipica delle giraffe;
    2. per il samovar abbiamo cercato di imitare, tramite un attributo semplice, un materiale somigliante all'argento;
    3. per il tavolo abbiamo usato una (domain) texture di un marmo nero;
    4. per il parquet è stata scelta una (projection) texture a partire da un tipo di legno.




Immagini di Resa


fronte       campo_largo_dx


campo_largo_sx       samovaretavolo


samovar       samovar_lato

trofeo_fronte       trofeo_lato




Download

Scarica i sorgenti del modello


Problemi e bug

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:
  1. 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.
  2. 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).
  3. 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.
  4. 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.  


Torna su