Grafica (C.d.L. Informatica) 2006/2007


Modellazione e Resa realistica



di Trotta Angelo



Sommario


  1. Obiettivo
  2. Progettazione componenti del veicolo e superfici
  3. La fase di resa
  4. Immagini di resa
  5. Animazione
  6. Download
  7. Problemi e bug

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.

Tenendo presente che un algoritmo di ray-tracing produce delle rese super-realistiche, tipicamente di interni, si chiede di progettare un interno in cui collocare almeno un modellino di un veicolo di terra, aria o acqua (esclusi veicoli spaziali e sommergibili) la cui modellazione 3D deve essere particolarmente curata nei dettagli.
La fase di modellazione venga realizzata facendo esclusivamente uso degli strumenti introdotti nel corso e a disposizione in XCSurf; se singoli oggetti sono composti da piu' superfici, queste vengano assemblate nella fase di modellazione (in ambiente XCSurf).
Si realizzi poi lo scene-graph della scena 3D mediante libreria descriptor e script C e si producano:
- alcune immagini fotorealistiche con alcuni primi piani;
- una piccola animazione di al piu' un centinaio di frame con risoluzione 300x300.

VEICOLO SCELTO: Elicottero


Progettazione componenti del veicolo e superfici


La scena è stata realizzata creando le varie parti dell'elicottero separatamente, assemblati con xcsurf, e successivamente caricati tramite lo script .c per creare la scena. Le varie parti create sono:



- Il corpo principale e' stato creato per skinning partendo da varie curve profilo. Le curve profilo sono stete create con xccurv, successivamente caricate in xcsurf e infine disposte in modo da creare la forma desiderata.



Successivamente la superficie e' stata trimmata in modo da creare tutte le altre superfici: le vetrate, il tettuccio, i rigonfiamenti inferiori, le porte e la punta. La prima immagine sotto mostra il corpo trimmato delle sue parti; la seconda le sue parti trimmate e modellate.





- La coda è stata creata anch'essa da un'operazione di skinning di curve profilo. Ovviamente la prima curva della coda che combacerà con l'ultima del corpo principale e' la stessa. Le ali sono state create tramite l'estrusione della curva profilo.





- L'elica principale e' divisa in varie sezioni: corpo principale, agganci per le eliche e le eliche.
Il corpo principale e' stato creato per estrusione di cerchi.
Le varie parti dell'aggancio con le eliche sono composte da cilindri e parti formate con l'estruding.
Le eliche invece sono state create con una serie di sezioni e poi unite con lo skinning.





- L'elica posteriore e' stata creata come quella principale, cioe' partendo da una serie di cerchi messi uno sull'altro e poi estrusi.
I vari cubi e cilindri sono quelli messi a disposizione dal programma xcsurf.
Le eliche sono fatte per skinning di curve profilo.





- L'abitacolo e' formato dai sedili creati per estrusione, le leve di comando con delle tubolari e i vari pannelli per estrusione.
Il pavimento e' stato creato per skinning da una serie di curve, di cui la prima e' stata fatta aderire completamente al corpo dell'elicottero.
La parete e' stata fatta partendo da una delle curve usate per creare il corpo principale dell'elicottero.





- Dei vari componenti aggiuntivi ci sono: la luce anteriore, quella posteriore e i vari oggetti posti sotto la coda dell'elicottero.
La luce anteriore creata tramite skinning.
La luce posteriore e' stata creata per rivoluzione di una curva.
Gli oggetti posteriori sono delle superfici tubolari.






torna all'indice



Fase di Resa



Gli oggetti creati con xcsurf sono stati caricati dallo script .c. In questo script vengono applicate le texture e le proprieta' dei materiali. Le immagini di resa sono state create tramite xcrayt.


torna all'indice



Immagini di Resa



torna all'indice



Animazione



Per quanto riguarda l'animazione, nello script e' stato inserito del codice che modifica la scena nei diversi frame. Il file .ani risultante e' stato caricato con xcrayt e renderizzato. Il file risultante .hra è stato aperto con xcmovie ed esportato in gif animata.

torna all'indice



Download



Il modello puo' essere scaricato qui.

torna all'indice



Problemi e bug



- Ci vorrebbe piu' assistenza al lavoro. Le operazioni di salvataggio non sono ottime:


Il bug principale è che ogni tanto il programma va in crash, la maggior parte quando si fanno delle modifiche interattive.


torna all'indice