Grafica (C.d.S. Informatica)
2006/07
Relazione del Progetto di Grafica assegnato il 21/05/2007
Modellazione e Resa realistica di un B-52
di Matteo Mazzoni

Obiettivo
L'obiettivo di questo progetto è di progettare un interno in cui collocare almeno un modellino di un veicolo di terra, aria o acqua la cui modellazione 3D deve essere particolarmente curata nei dettagli. Nel mio caso ho scelto il modellino di un areo Boeing B-52 Stratofortress e ho deciso di collocarlo all'interno di un Hangar.
Il B-52 e' un bombardiere strategico a lungo raggio adottato dall'USAF (United States Air Force) fin dal 1955 ed impiegato in numerosi conflitti.
Negli anni e' stato modificato ed utilizzato anche per altri scopi (fortunatamente).
Progettazione oggetti della scena e superfici
La realizzazione del modello principale del B-52 e dell'Hangar si e' svolta utilizzando un metodo generale.
Ho inizialmente considerato le varie superfici che componevano i due oggetti. Per ogni superficie ho prima
generato le curve in due dimensioni che la componevano: sezione, profilo o traccia che fossero. Ho preferito utilizzare
xccurv perchè mette a disposizione la griglia magnetica e permette di piazzare i control point con maggiore precisione.
Successivamente ho importato le curve 2D in xcsurf in cui sono state copiate, translate e/o scalate opportunamente per poi
realizzare le superfici in questione utilizzando principalmente le opzioni: revolution, skinning o extruding a seconda del caso.
Le varie superfici realizzate, 140 circa, sono state poi raggruppate nelle parti e poi negli oggetti che compongono la scena.
La prima parte realizzata e' stata la fusoliera.
La parte centrale e' stata creata per estrusione di due curve sezione, in realta' la stessa, prima copiata e poi translata.
La parte finale della fusoliera e' stata realizzata per skinning di diverse curve sezione oppurtanemente translate.
Per ottenere la particolare forma finale della coda e' stato necessario agire direttamente sui control point in modalita' interattiva.
Il muso e' stato forse uno delle parti piu' complicate da realizzare in quanto a richiesto la creazione di diverse curve sezione
assemblate poi per skinning e translate varie volte nello spazio in modo da ottenere la superficie piu' verosimile possibile.
Il muso mi ha permesso pero' di acquisire un'abilita' sufficiente da realizzare velocemente con lo stesso metodo sia le ali che i
timodi di coda.
Il timone centrale e' stato realizzato con il solito procedimento, mentre il destro ed il sinistro sono delle copie traslate e ruotate di quello centrale.
Utilizzando estrusione e skinning, sempre con lo stesso procedimento, ho creato gli attacchi alle ali per i missili e i motori.
I missili e i motori sono stati creati con xcsurf per rivoluzione a partire da due curve profilo create in precedenza con xccurv.
Le ruote e le gomme sono state anch'esse create per rivoluzione a partire da curve profilo.
Le uniche superfici create facendo uso dell'opzione tubolare, sono quelle dei supporti a "elle" dei carrelli.
Il modellino e' stato inoltre arricchito da una notevole quantita' di particolari, il piu' interessante e' sicuramente
lo sportello della fusoliera che scopre la feritoia da cui escono i carrelli.
La superficie e' stata creata per estrusione di curve realizzate con xccurv ed opportunamente posizionate. Le curve sono state realizzate in modo
da ottenere un certo spessore.
L'Hangar in cui e' stato posizionato il B-52 e' un oggetto piuttosto semplice.
Per estrusione di curve 2d sono stati realizzati: il pavimento, il tetto, le pareti, le facciate e il portone.
Descrizione Scena
La scena e' composta dall'aereo e dall'hangar in cui viene posizionato.
L'aereo a sua volta e' composto da:
- fusoliera
- ali
- timoni
- carrelli
- cerchioni
- gomme
- motori
- missili
- supporti
- particolari
- parabrezza
L'hangar a sua volta e' composto da:
- pavimento esterno
- pavimento interno
- facciate
- pareti
- tetto
- portone
Ho definito diversi attributi da assegnare agli oggetti all'interno della scena:
- metallo1: viene applicato a: fusoliera, timoni, particolari, motori e missili
- metallo2: applicato solamente ai carrelli e ai cerchioni in quanto hanno un colore diverso da quello dell'aereo
- metallo3: utilizzato solamente per il tetto dell'hangar
- metallo4: applicato alle pareti dell'hangar
- cemento: usato per il pavimento interno ed esterno
- gomma: questo attributo viene utilizzato per colorare di nero le gomme in modo da distinguerle dai cerchioni
- vetro: serve per colorare di azzurro il parabrezza e per dargli un effetto di riflessione simile al vetro
In rete ho trovato alcune texture molto interessanti che ho scelto per completare la scena.
Le texture sono state applicate come domain-texture in quanto non avevo bisogno di effetti particolari.
Le texture scelte sono:
- mimetica: viene applicata al modellino del B-52, ho scelto questa livrea perche' quella grigia delle foto di repertorio era un po' scialba
- cemento grezzo per il pavimento
- lamiera lamellare applicata alle pareti dell'hangar
- metallo arrugginito con rivetti: utilizzata per il tetto dell'hangar
Le texture per le pareti e per il tetto sono state applicate con particolari impostazioni del dominio parametrico e con ripetizione, in modo da garantire un
effetto di pannellatura all'interno dell'hangar.
L'illuminazione e' garantita da due luci puntiformi definite rispettivamente all'altezza del muso del B-52 e all'altezza della coda.
Le luci sono sufficienti per garantire un'ottima illuminazione di tutto il modellino dell'areo e sono utili per ottenere un gradevole gioco
di ombre sul pavimento.
Immagini di Resa
Obiettivi utilizzati: grandangolo, standard e tele.
Descrizione Animazione
La scena usata per l'animazione e' pressochè identica a quella utilizzata per la resa, eccetto per il fatto che la luce definita precedentemente
sopra il muso del B-52 e' stata spostata all'esterno dell'hangar.
Durante l'animazione, la telecamera e' posizionata vicino alla coda ed e' puntata verso il portone.
Nella prima meta' dell'animazione il portone viene
aperto, aumentando cosi' l'illuminazione all'interno dell'hangar.
Nella seconda parte, l'aereo si muove lentamente verso l'esterno.
Animazione
Download
E' possibile scaricare i sorgenti
qui.
Problemi e bug
Durante lo sviluppo del progetto ho incontrato alcune difficolta' nell'utilizzo della funzione di creazione delle superfici per skinning.
Nel caso di superfici complesse come ad esempio il muso del B-52 non mi e' risultato affatto semplice posizionare le curve per ottenere una
superficie verosimile.
In un solo caso ho dovuto utilizzare la modalita' interattiva ed i comandi per la rotazione e la translazione dei punti della griglia non mi
sono sembrati molto intuitivi.
L'unico modo che ho trovato per poter utilizzare l'applicazione xcmodel sul mio portatile con scheda video ati e' stato quello di utilizzare i driver
VESA poiche' con i driver ATI alcune parti dell'interfaccia non venivano visualizzate (nonostante il "backingstore" fosse attivato).
Durante la realizzazione delle superfici ho riscontrato diversi crash improvvisi dell'applicazione.