Progetto2 Corso di Grafica (C.d.S. Informatica): Modellazione realistica con XCModel

Testa di Alce

di Alessandro Paderno



Indice

1. Obiettivo del progetto

Lo scopo di questo progetto è quello di utilizzare il pacchetto XCModel per la modellazione e la resa di una scena realistica. La scena ralizzata contiene una testa di alce tipo trofeo da caccia realizzata con modellazione gerarchica e altri oggetti realizzati invece partendo da curve 2D disegnate con XCurve. Questi altri modelli servono ad abbellire la stanza in cui si trova la testa di alce. Tutta la scena è illuminata da un unica luce posizinata al centro nella parte alta della stanza.

2. Scelta del modello principale

Per sceglier quale fosse il soggetto migliore da inserire nella scena il primo passo è stato quello di cercare nella rete qualche immagine che fornisse un modello reale da cui ispirarsi per la resa di un trofeo da caccia. Dopo alcune ricerche ho selezionato delle immagini che riprendevano delle teste di alce che ho utilizzato come modelli per ottenere il risultato finale:

 

3. Modellazione

Per la modellazine della testa di alce sono partito da una primitiva sferica in XCsurf, che è stata poi modificata iterattivamente fino a farle raggiungere all' incirca le sembianze di una testa tralasciando i particolari (occhi, naso, bocca e corna). In seguitola superficie così ottenuta è stata trimmata in varie parti consentendo in questo modo una modellazione più fina nelle zone più irregolari. In tutto sono stati creati 11 oggetti che compongono il modello finale.

Questa è la forma che ha assunto la sfera dopo varie modifiche ottenute iterattivamente con XCSurf e dopo essere stata trimmata nelle zone degli occhi e della bocca, il collo dell' alce è stato estruso all' indietro agendo sulla griglia di controllo.

La bocca e il naso sono stati modellati separatamente, prima è stata trimmata la bocca dal resto della testa e dopo una prima modellazione è stato trimmato il naso dalla bocca (secondo livello) consentendo una definizione maggiore per questa parte più difficile e cruciale.

Queste sono le altre superfici che compongono il modello: le orcchie, gli occhi e le corna. La forma delle orecchie è stata ottenuta per estrusioni e refinimenti successivi dei punti della superficie sferica. La forma degli occhi dapprima con un' estrusione verso l' esterno e poi con una successiva in dentro, per creare delle fosse in cui inserire gli occhi veri e propri (due primitive sferiche scalate e traslate nei punti giusti). Le corna sono state modellate anch' esse tirando dei punti nella griglia di controllo in modo da raggiungere una forma apuntita, queste in realtà sono meno complesse delle corna reali di un' alce (e delle immagini di riferimento di sopra) ma non sono riuscito ad ottenere una forma migliore con questo tipo di modellazione.

Queste sono la griglia di controllo, una immagine wireframe e una resa texturizzata e illuminata con XCray della forma finale con l'aggiunta di una base di legno che sostiene il trofeo da caccia.

4. Altri oggetti

Per completare la scena è stato aggiunto un tavolino nsopra il quale sono presenti alcuni oggetti creati con XCModel. E' stato creato un modello di una bottiglia trasparene (con tappo in cima e vino all' interno), un bicchiere di vetro e una caraffa. Queti oggetti sono stati digegnati partendo da curve in XCcurve che sono poi state esportate in XCsurf per ottenere poi delle superfici. Qui di seguito vengono riportate le curve utilizzate e una breve descrizione della modellazione applicata per ottenere le relative superfici.

Quste curve sono state utilizzate per disegnare rispettivamente il bicchiere di vetro, la caraffa e il tvolino, tutte le le superfici sono ottenute con il metodo della rivoluzione attorno all' asse Y. Per quanto riguarda la caraffa è stata in un secondo momento modificata iterattivamente per creare un beccuccio da cui versare il vino.

La bottiglia è composta di tre superici ottenute sempre per rivoluione a partire dalle curve riportate sopra: la bottiglia (arancione), il tappo in cima (blu) e il vino all' interno (rosso).

5. La resa della scena

Il passo finale è stato quello di convertire tutta la scena in formato 'mb' e caricarla in XCray per essere assemblata texturizzata ed infine renderizzata. Per questa conversione mi sono servito di un programma in C (alce.c) utilizzando la libreria descriptor. In queta fase sono stati creati diversi materiali per gli oggetti presenti. E' stata data particolare attenzione alla parametrizzazine dei materiali (facendo uso appropiato di riflessioni e trasparenze per gli oggetti di vetro) e alla scelta delle texture che sono state selezionate da alcuni database di immagini gratuiti trovati in internet. E' stata aggiunta una luce che illumina l' intera scena e proietta ombre, posizionata sopra il tavolino quasi all' altezza del soffitto. In questa fase è stata incontrata qualche difficoltà: la creazione di un materiale per la testa che sembrasse riprodurre in qualche modo il pelo sulla supercie ha richiesto parecchi tentavi sia per l'immagine utilizzata sia per la scelta della mappatura (la testa è mappata dall' alto con una texture tiled ripetuta in maniera molto fitta), un altro problema è stato che nei primi render comparivano come dei buchi o delle spaccature nere nella superficie della testa e del tavolino, ma dopo varie prove questi sono svaniti utilizzando l' algoritmo "tooth" al posto di "tooth speed" per il calcolo delle collisioni.

6. Galleria

shrineTotal.png