Modellazione e resa realistica di un portacandela
Michele Bordi
Obiettivo
Modellazione e resa realistica di un oggetto di complessita' apprezzabile. L'oggetto
deve essere posto in un'ambientazione semplice in modo da produrre immagini
di buona qualita' del modello.
L'oggetto da realizzare e' un portacandela in metallo ragurante un omino
con un surf e una coppa contenente la candela. In origine tutto il corpo
dell'omino era in metallo ma per dare maggior varieta' al modello si e' scelto
di realizzare la testa del pupazzo tramite una biglia di vetro (con una piccola
lamina bicolore all'interno) saldata al corpo.
1
Progettazione oggetti della scena e superfici
Oggetti
Per la realizzazione del portacandela (da ora nominato semplicemente omino)
grande importanza e' stata posta per le superci realizzate tramite tubulari. Cio'
e' stato imposto dalla realizzazione dell'omino tramite piccoli tubi di metallo.
Ci sono comunque superci per rotazione, per estrusione e per skinning.
1. braccia
si e' creato il profilo delle braccia in xccurv. fatte le opportune
modiche all'orientamento delle braccia in xcsurf e realizzata la supercie tramite tubolari.
2. corpo
il corpo viene creato allo stesso modo delle braccia.
2
3. gambe
come sopra: profilo creato in xccurv, modellazione in xcsurf e tubular
4. testa
la testa e' creata tramite rotazione di un semicerchio, l'interno tramite
estrusione di una particolare curva con la sua simmetrica nell'asse z.
5. base
la base viene creata tramite rivoluzione del suo profilo
3
6. coppa e candela
il set della candela viene creato tramite rotazione
7. surf
il surf viene creato per skinning. Si usano 4 copie dello stesso profilo sca-
late in modo diverso e traslate lungo l'asse y. Per chiudere i due lati si
usano due piccoli segmenti.
4
8. veste
La veste mi ha dato un particolare problema.
L’intezione era di creare una superficie per swinging tramite una
traiettoria a spirale avvolgente il corpo e un piccolo segmento come profilo.
Il problema è che invece della superficie veniva solo un segmento lungo l’asse z.
Cosi’ il vestito dell'omino e' stato creato tramite skinning di piu' copie di un
segmento traslato lungo e intorno al corpo.
L’errore stava nell’aver definito il profilo lungo l’asse z.
Le sue coordinate x erano quindi tutte nulle e ,come è possibile vedere nelle
formule dello swinging, ciò porta ad annullare tutte le coordinate x e y della
superfice finale.
Textures e colori
Per il corpo del pupazzo e suoi accessori (surf e coppa) e' stato utilizzato un
colore grigio riflettente per ricreare l’effetto metallico.
Per la candela e' stato fatto il domain texturing usando una texture blu
simile a cera. la parte dello stoppino e' rimasta nera
(il colore della candela non texturizzata).
La superficie della testa e' stata ricoperta da una texture di vetro e
settati gli attributi per la trasparenza e rifrazione. L'interno e' stato
texturizzato tramite colore giallo e rosso perturbato da bump mapping.
(per il bump mapping e' stata usata la stessa texture della supercie della testa)
La veste e' texturizzata in legno.
Per la base si e' utilizzato projection texturing con una texture di
marmo chiaro.
Descrizione scena
La scena e' stata realizzata semplicemente tramite un cubo rappresentante la stanza.
Il pavimento della stanza e' in parquet mentre le pareti in cemento.
In origine era prevista anche una cassa sulla quale poggiare il modellino ma,
per motivi ancora non scoperti, non c'era modo di rendere l'ombra della cassa
sul pavimento ma, come se la cassa fosse stata trasparente, vi era proiettata
solo l'ombra del pupazzo.
Immagini di resa
Ecco alcune immagini prese dal modello reso. Ci sono 2 luci di tipo
point sopra al pupazzo, una a sinistra e una a destra. Inoltre c'e' una luce
ambientale di lieve intensita'.
5
Problemi e bug
i problemi riscontrati:
xcsurf: talvolta durante le trasformazioni (in presenza di + oggetti) in
modalita' interattiva, scompare la visuale in prospettiva.
xcrayt: succede spesso, quando il processo di resa si blocca, che quando
si prova a togliere una primitiva dallo scene-graph il programma crasha e il
le .md si corrompe (nel senso che quando si riprova ad aprirlo il programma
continua a crashare)
descriptor: non c'e' stato modo di usare set_bump_texture. e' come se la
funzione non esistesse. per ovviare al problema il bump mapping e' stato usato
da xcrayt
6