CORSO DI GRAFICA
A.A. 2006-2007
PROGETTO DI MODELLAZIONE CON XCMODEL
di
Matteo Lazzari
REALIZZAZIONE DI UN MODELLINO DI
STUKA Ju.87
Progettazione dei pezzi del modello ottenuti per estrusione
Alcuni pezzi come la fusoliera, le ali e i carrelli sono stati ottenuti per estrusione di curve 2D poste in sequenza lungo un asse di sviluppo.
Per quanto riguarda la fusoliera sono state create 8 sezioni (A-H) modellate in XCCurv come curve chiuse (periodiche) a 9 punti, ciò per permettere una facile mappatura con la sezione A che è perfettamente circolare (e appunto realizzata con una circonferenza a 9 punti). Queste curve di sezione sono state opportunamente divise in due parti per permettere una successiva differente colorazione della porzione inferiore (fusoliera0.db) e di quella superiore (fusoliera1.db). Nello stesso modo sono state ottenute le due ali: sono state realizzate 3 sezioni, una all'attaccatura, una alla piega tipica dello Ju.87 ad “ali di gabbiano” e una all'estremità terminale.
La modellazione dei carrelli è risultata leggermente più
complessa. E' stata realizzata una “bozza” mediante l'estrusione
di 4 curve sezione; essa è stata raffinata ed è stata modificata la
posizione di alcuni CP per dare una forma il più possibile bombata
alla parte anteriore che circonda la ruota.
L'ultimo pezzo ottenuto per estrusione è l'ala posteriore: essa è in realtà un unico pezzo che attraversa la coda sfruttando la sua semplicità e regolarità della sezione.
Progettazione dei pezzi del modello ottenuti per rivoluzione
Le ruote, il mozzo dell'elica e il corpo delle bombe sono stati modellati con la tecnica della rivoluzione di una curva profilo lungo un asse.
Il mozzo è la parte più semplice: il suo profilo è infatti una banale curva a 3 punti che viene fatta ruotare di 360° per ottenere una superficie simile a una calotta appuntita. Le ruote sono state modellate nello stesso modo includendo nella stessa curva sia il profilo del tubolare, sia il profilo del cerchione. In questa circostanza la modellazione è più accurata, soprattutto per rispettare la geometria del cerchione. Con la rivoluzione della curva ruota.db si ottiene metà della superficie che descrive la ruota, sarà sufficiente replicarla e ruotarla di 180° per ottenere due superfici speculari che modellino una ruota intera. Per quanto riguarda la ruota posteriore, essa non è altro che una copia delle altre due scalata opportunamente.
Le bombe sono invece più semplici, il loro corpo è ottenuto con una curva costituita da due archi simmetrici mentre, per quanto riguarda le alette e il loro supporto essi sono ottenuti sfruttando le primitive delle superfici Usual offerte dal pacchetto XCSurf: le alette sono delle superfici Cube opportunamente scalate per ottenere dei parallelepipedi mentre il loro supporto è una superficie Torus anch'essa trasformata in maniera appropriata.
Progettazione delle pale dell'elica, della calotta del pilota e del carrello posteriore
Le pale dell'elica sono state modellate sul profilo della curva elica.db. Essa infatti, duplicata e ruotata di 180° rispetto ad un asse e di 2° rispetto ad un altro, permette di realizzare una superficie per estrusione che descrive un oggetto privo di spessore; nonostante questa discrepanza con il mondo reale, non è possibile però accorgersene nelle rese del modello in quanto non esiste un punto nello spazio dal quale l'elica appare tutta sullo stesso piano. La calotta e il carrello posteriore sono le uniche due componenti ad essere ottenute con superfici tubolari. La prima dalle curve 2D calottaTrack.db e calottaProfile.db (rispettivamente curva percorso e curva profilo), mentre la seconda dalle curve carrelloPostTrack.db e carrelloPostProfile.db.
Per quanto riguarda l'assemblaggio
la calotta è inserita in maniera da intersecare la fusoliera
preoccupandosi solamente del risultato dell'unione dei due oggetti
visto dal di fuori. Non c'è una corrispondenza precisa fra i due
pezzi come accade invece per il radiatore (anch'esso ottenuto
per estrusione).
Altri oggetti nella scena
Il
modellino dello Stuka, una volta assemblato, è posizionato su un
supporto a forma di parallelepipedo ottenuto con una superficie Usual
di tipo Cube
opportunamente scalata che a sua volta poggia su di un tavolo
ottenuto per rivoluzione a partire dalla curva tavolo.db. Gli altri
oggetti che compongono l'arredamento della stanza sono un lampadario
e una lampadina (ottenuti per rivoluzione di altrettante curve) e una
teca realizzata partendo da un parallelepipedo che è stato
successivamente trimmato per eliminare la faccia inferiore
(teca.dbe).
Quanto
descritto è racchiuso ovviamente da tre pareti laterali, da un
soffitto e da un pavimento ottenuti con altrettante superfici Usual
di tipo Plane.
Definizione della scena e degli
attributi degli oggetti
Per
descrivere la scena si fa uso di uno script C basato sulla libreria
descriptor.h. Il file stuka.c si
può dividere in 5 parti per quanto riguarda la definizione della
scena. All'inizio sono presenti le definizioni dei vari ITEM, seguono
il settaggio delle luci, la definizione degli attributi utilizzati e
il caricamento degli oggetti della scena e delle parti del modello.
Per
quanto riguarda le luci, come si può leggere dall'avvertenza
contenuta nel codice, è stato riscontrato un problema per quanto
riguarda l'attraversamento delle superfici trasparenti nel caso di
resa con le ombre attivate (opzione -s). Pare infatti che gli oggetti
dotati di trasparenza producano un'ombra come se fossero opachi. Per
ovviare a questo problema sono state posizionate due luci “di
correzione” in corrispondenza dei due oggetti trasparenti: la
lampadina e la teca. E' opportuno modificare il settaggio delle luci
come documentato nello script nel caso si voglia effettuare una resa
senza tener conto delle ombre.
Le
luci che effettivamente entrano in gioco nella scena, oltre a quella
ambiente, sono una warn light che definisce la luce emessa dalla
lampadina e una luce puntiforme posizionata in un angolo della stanza
che potrebbe definire la luce emessa da una lampada alogena fuori
dalla scena.
I
materiali simulati nella definizione della scena sono 5: intonaco per
le pareti, legno per la base della teca e per il pavimento in
parquet, vernice su plastica per le parti di modellino, vetro per la
lampadina e la teca e marmo per il tavolo e per il lampadario (per
quanto riguarda quest'ultimo si è visto che le caratteristiche della
ceramica, materiale di cui più presumibilmente potrebbe essere
costituito, erano del tutto simili a quelle già definite per il
marmo e quindi sono state “riciclato”). Di questi attributi,
l'unico dotato di trasparenza è il vetro mentre tutti sono
parzialmente riflettenti ad eccezione dell'intonaco che propaga
solamente la luce ambiente e quella diffusa.
Al
momento di caricare i vari oggetti, talvolta dalle liste di superfici
.obj, talvolta direttamente dai file.db a seconda dell'omogeneità
delle caratteristiche di ciò che si andava a prendere in
considerazione, sono state applicate, dove era necessario le texture.
Per quanto riguarda gli oggetti della scena si sono utilizzati due
metodi di texture mapping: le e le projection texture. Le prime sono
state impiegate per i piani, come il pavimento e le pareti, e per il
lampadario dove era opportuno colorare diversamente alcune parti ma
in maniera lineare rispetto al dominio di definizione. Per quanto
riguarda il tavolo in marmo e la base della teca si è invece optato
per l'altro metodo. Il modello è stato texturato per proiezione
nelle parti superiori di fusoliera e ali con un motivo mimetico per
imitare la livrea dei velivoli impiegati dalla Luftwaffe nel Nord
Africa, ed inoltre le ruote, la calotta e il mozzo dell'elica sono
stati mappati con una domain texture in maniera simile al lampadario.
Rese e filmato .ani
Una
volta definita la scena come sopra descritto è stato possibile
effettuare alcune rese realistiche contenute nella cartella
rese600x600/ che mettono in risalto sia il modellino d'aereo da varie
angolazioni, sia alcuni particolari come per esempio la ruota con il
carrello posteriore o il muso dell'aereo. Per modificare le opzioni
di resa si possono aggiungere o togliere opzioni dal file stuka.arg.
Una
seconda parte dello script si occupa della creazione del file
stuka.ani e dei relativi file .md. Per attivare questa porzione di
codice è sufficiente decommentare la definizione di ANIMAZIONE alla
riga 5. Il semplice filmato che viene creato, che è già compilato
nella cartella animazione/ e quindi già fruibile, è composto da 100
fotogrammi durante i quali l'aereo decolla, compie una virata e,
volando verso la camera, sgancia la bomba centrale. Inutile dire che
nel definire i movimenti dell'aereo si è cercato di puntare di più
a un risultato esteticamente credibile che a una simulazione fisica
di ciò che accade durante il volo.
Gif animata
Download