Tutorial di modellazione con Art of Illusion
La clessidra


Version 1.1 For Art of Illusion version 0.9 Copyright 2001, Rick van der Meiden
Translated in Italian by Alberto Porru

Introduzione

In questo tutorial vi verrà mostrato come modellare un semplice oggetto con Art-of-Illusion (AoI), usando come esempio la clessidra riportata nella figura qui sopra. Questo tutorial non tratterà tutte le caratteristiche e le opzioni che è possibile trovare in AoI, perchè sono davvero troppe, ma dovrebbe costituire un buon punto di partenza. Potrete scoprire il resto provando, sperimentando e creando belle immagini. Se già avete familiarità con la modellazione tridimensionale, non avrete probabilmente bisogno di seguire questo tutorial passo per passo. Potrete dargli uno sguardo per avere un'idea delle possibilità del programma, ma è proprio il caso di provarlo. Riuscirete ad ottenere la vostra immagine 3D in pochi minuti. Per completezza, la scena di AoI chiamata "hourglass.aoi" viene distribuita assieme a questo tutorial e potrete aprirla con il programma. Se tuttavia volete imparare qualcosa da questo tutorial, dovreste provare a creare la scena per conto vostro.

Uno sguardo d'insieme

Ammettiamo che abbiate scaricato l'intero pacchetto di AoI, avete la versione corretta di JDK, avete letto i file leggimi, ecc. Se non lo avete fatto, collegatevi alla Art-of-Illusion home page. Quando lanciate AOI, vi trovate di fronte una schermata principale. In cima alla finestra troverete la barra dei menu; datele uno sguardo, guardate cosa c'è nei menu a discesa. Se ci sono molte cose che non riuscite a capire, non state a preoccuparvi, con il tempo ci riuscirete. A sinistra vedete alcune icone. Cliccando su di esse selezionate uno strumento e un aiuto contenuto in una linea di testo vi aiuterà per operazioni di base: lo trovate in basso nella schermata. Le icone sono:
sposta oggetto ruota oggetto
ridimensiona oggetto crea parallelepipedo
crea sfera crea cilindro
crea mesh spline crea poligono
crea telecamera crea luce
crea curva interpolata crea curva approssimata
muovi vista ruota vista
La pate più grande della finestra mostra le quattro viste del modello 3D: Front (Fronte), Left (Sinistra), Top (Sopra) e Camera1. Per ciascuna vista l'utente può impostare un punto di vista standard (front, left, top, ect) o uno relativo ad una telecamera, con modalità prospettica o parallela, e un fattore di ingrandimento (per default è 100). Questi punti di vista possono essere cambiati usando i due appositi strumenti per la spostamento e la rotazione delle viste. Spesso potrete cambiare la dimensione e la posizione delle viste ma non il punto di vista. Le viste standard sono per lo più sufficienti alla maggior parte delle sessioni di modellazione. Solo la vista a destra in basso, Camera1, verrà modificata spesso perchè è molto utile per la verifica del modello. A destra troverete una lista di oggetti (per ora quasi vuota) del vostro modello. Da questa lista potrete selezionare e deselezionare un oggetto cliccando sul suo nome. Inoltre, facendo doppio click farete comparire la finestra di dialogo edit object (modifica oggetto). Prima di iniziare, è necessario conoscere una cosa: le coordinate. La posizione e la dimensione di un oggetto è determinata da un sistema di coordinate con tre assi, X, Y e Z. L'asse delle X è rivolto verso destra, cioè: maggiore è l'ascissa di un punto, più a destra sarà il modello. Analogamente, l'asse Y punta verso l'alto e l'asse Z punta in direzione del vostro punto di vista (è un sistema di coordinate destrorso).

Cominciamo

E' comunemente considerata una buona pratica schizzare dapprima il vostro modello 3D sulla carta millimetrata, per avere un'idea delle sue dimensioni e della sua forma. Se non lo avete fatto, almeno impostate una griglia nel programma: Questo vi consentirà di disegnare facilmente gli oggetti nella posizione corretta e con adeguate dimensioni, e di allineare gli oggetti ortogonalmente. Potete cambiare i parametri della griglia in qualsiasi momento, per adattarli alle vostre esigenze ottenendo una griglia più stretta o più larga. Cominciamo a disegnare. Disegnate per prima cosa un parallelepipedo per la tavoletta in legno superiore e inferiore che fanno parte della clessidra: Notate che potete disegnare qualsiasi oggetto sia nella vista top, sia left sia front. Poichè potete disegnare al massimo due dimensioni per volta, dovrete impostare in seguito la terza dimensione. Potete usare gli strumenti scale e move per cambiare la dimensione e la posizione del parallelepipedo. Ma se avete un'idea precisa di quali debbano essere le dimensioni, è più veloce usare la finestra di dialogo Object Layout. Il primo parallelepipedo costituisce la base del nostro modello. La parte superiore è del tutto identica, quindi createla con una copia. Ora abbiamo due parallelepipedi, simmetrici attorno all'origine. Notate che entrambi i parallelepipedi sonno chiamati Cube1. Potete cambiarne il nome selezionando dal menu l'opzione Object->Rename Object. Nomi adatti potrebbero essere "Sopra" e "Base". In tal modo è più facile individuarli quando li si seleziona dalla lista. Usando le tecniche citate sopra possiamo anche creare i quattro sostegni tra le tavolette superiore e inferiore. Usate lo strumento 'create cylinder' per creare un cilindro con le seguenti proporzioni: Create ora tre ulteriori cilindri negli altri angoli della clessidra.
Istruzioni: Ora abbiamo il sostegno della clessidra. Usiamo ora lo strumento 'move viewpoint' e quello 'rotate viewpoint' per cambiare la vista a destra in basso (camera1). Potrete ora vedere il modello da qualunque angolazione. Il risultato dovrebbe essere qualcosa del genere:

Un oggetto complesso

La forma più complessa della scena è il bulbo in vetro. Dobbiamo crearlo usando lo strumento Lathe (tornio). Un oggetto lathe viene creato grazie alla rotazione di una curva spline attorno ad un asse, che determina il contorno dell'oggetto. Per creare la curva di contorno useremo lo strumento create approximated curve. Per rendere più preciso il lavoro del mouse, create dapprima una griglia più fitta: spacing 0.2 con 2 subdivisions. Selezionate quindi Scene->One View dal menu. Impostate il fattore di zoom al 200 per cento. Create la curva spline aggiungendo i punti da 1 a 9, come mostrato nell'immagine qui sotto (nello stesso ordine). Fate doppio click sul punto 9 per terminare la curva. Assicuratevi che il primo e l'ultimo punto siano pressocchè allineati sull'asse Y e tangenti alla tavoletta superiore e inferiore. La curva approssimata non è molto intuitiva, ma consente di determinare la direzione della curva in modo più esatto di quanto non sia possibile con la curva interpolata. La direzione della curva all'inizio e alla fine viene determinata solo dai punti adiacenti. La curva è verticale nel punto 5 perchè i punti 4 e 6 sono equidistanti verticalmente da tale punto. In generale, in ogni punto la curva viene determinata dal punto immediatamente precedente e dai due punti di definizione successivi (la curva è una spline quadratica, detta anche spline di terzo ordine). Come asse centrale del bulbo in vetro, useremo la linea che passa per le due estremità della curva. Nel nostro disegno, questa è costituita dall'asse Y, ma usando la linea anzidetta realizzeremo un oggetto solido. Per creare l'oggetto lathe, selezionate dapprima la curva e scegliete dal menu Tool->Lathe. Nella relativa finestra di dialogo, selezionate, come asse per l'operazione di tornitura, Line though endpoints. (Vedi figura in basso). La forma viene automaticamente centrata a 0,0,0. E' esattamente quel che volevamo, quindi lasciate le cose come stanno (naturalmente non è una coincidenza, tutto era stato accuratamente pianificato!). La curva spline creata per prima è ora ridondante. Potete cancellarla, ma non è strettamente necessario visto che non comparirà nel rendering finale. Per cancellare un oggetto, selezionatelo (dallo schermo o dalla lista degli oggetti) e premete il tasto Canc della tastiera. Potete anche usare la voce di menu Edit->Clear.

Layout della scena

Abbiamo finito con la modellazione. Possiamo provare ad effettuare il rendering della scena con le forme accurate e con le luci. Prima del rendering, però, dovremmo determinare il layout degli elementi chiave della scena, la telecamera e la luce. Per prima cosa, determiniamo la posizione e l'orientamento della telecamera. Può essere fatto facilmente usando l'anteprima della telecamera, nel quadrante in basso a destra. Traslate e ruotate la vista usando lo strumento e Move view e Rotate view. Tenete premuto il tasto CTRL mentre muovete la vista nelle diverse direzioni. Potete ruotare la vista tenendo premuto il tasto CTRL e usando lo strumento Rotate View. Potete anche posizionare la telecamera usando lo strumento move object e rotate object o con l'opzione del menu Layout object. La telecamera è un oggetto come qualsiasi altro. Una buona posizione potrebbe essere quella in cui vedete l'oggetto dall'alto e dagli altri lati. Ora dobbiamo illuminare la scena. Come potete vedere c'è già una sorgente luminosa nella scena fin dall'inizio della sessione, Light 1. La sorgente luminosa dovrebbe essere posizionata in modo da illuminare il lato dell'oggetto che stiamo guardando. Data la posizione della telecamera, Light 1 probabilmente non è posizionata correttamente. Poichè inoltre la luce è troppo lontana, la cancelleremo e ne creeremo una nuova. AoI supporta tre tipi di luce: point lights, directional lights e spot lights. Useremo la più semplice di esse, point light. Seguite i passi successivi per illuminare correttamente la scena: Ora via con il rendering. Selezionate dal menu Scene->Render Scene. Non perdete tempo con le impostazioni, premete OK nella finestra di dialogo del render. Il risultato dovrebbe assomigliare a qualcosa del genere.

Un po' noioso, non è vero? Tutto è bianco opaco. Vogliamo legno e vetro, quindi è arrivato il momento di aggiungere le textures.

Textures e materiali

Legno

Creiamo una texture che riproduca il legno. Selezionate dal menu Scene->Textures e premete New nella finestra di dialogo relativa. Nella finestra di dialogo che appare successivamente, chiamate la texture Wood e selezionate il tipo procedural 3D (vedi figura). Le texture procedurali 3D determinano colore, scabrezza, riflessione e altre proprietà della superficie come una funzione delle coordinate 3D. Per ciascuna posizione dello spazio, la texture definisce come deve apparire la superficie, come se avessimo ricavato la forma ritagliandola da un blocco solido di tale "materiale". Tuttavia, per gli oggetti in cui possiamo realmente vedere all'interno, cioè oggetti trasparenti, dovremmo usare un materiale per definirne l'interno, non una texture. Le texture determinano solo come deve apparire la superficie di un oggetto. Una funzione che mappi le coordinate tridimensionali grazie ai valori delle proprietà della texture viene creata connettendo graficamente i componenti della funzione. Esistono sei categorie di componenti: Quando create una nuova texture, vi viene presentato una finestra di dialogo dove specificare la texture. C'è una grande area vuota, nella quale potete aggiungere i componenti della funzione. A destra trovate dei riquadri con nomi come diffuse, specular, tansparent, etc. Sono proprietà della texture da connettere ai componenti aggiunti nell'area vuota. I seguenti componenti devono essere aggiunti alla procedura per realizzare una texture del legno: L'anteprima ora appare come questa: La texture non sembra in verità molto realistica, ma per ora ci basterà. Per creare texture più complesse, leggete la sezione delle texture nel manuale di Art-of-Illusion. Questa texture verrà assegnata alle tavolette superiore e inferiore e alle bacchette tra essi, che abbiamo precedentemente creato. Selezionate tutti gli oggetti a cui dobbiamo assegnare la texture legnosa. Quindi selezionate dal menu Object->Set Texture. Ora selezionate la texture Wood e premete O.K. Selezionate ora solo gli oggetti Sopra e Base. Richiamate nuovamente la finestra di dialogo delle texture. Cliccate ora sul pulsante indicato con Edit Mapping. In questa finestra di dialogo, potete ridimensionare, traslare e ruotare la texture perchè si adatti all'oggetto. La ruoteremo soltanto, per ottenere questo risultato.

Ora pensiamo alle bacchette. Selezionatele tutte e modificate la mappatura. Create una mappatura come questa:


Ora vediamo il risultato. L'immagine dopo il rendering dovrebbe somigliare a questa:

Vetro

Il bulbo di vetro deve avere le proprietà del vetro. Cioè deve essere trasparente alla luce e deve anche riflettere la luce sulla sua superficie. La luce che passa attraverso un vetro viene rifratta e attenuata (cioè diminuisce di intensità e cambia colore). La riflessione e la trasparenza sono proprietà della texture. La rifrazione e l'attenuazione sono proprietà del materiale dell'oggetto. I materiali possono essere assegnati solo agli oggetti solidi. Questo ha senso perchè l'entità della attenuazione e la direzione della luce dopo la rifrazione dipendono dal punto in cui entra un raggio luminoso e dal punto attraverso il quale esce dall'oggetto. Fortunatamente, il nostro bulbo è un oggetto solido. Tutte le forme lathe, ottenute grazie alla rotazione attorno all'asse rappresentato dalla linea che congiunge le estremità del profilo della curva, sono solidi. Dapprima dovremo creare la texture per il vetro, e dopo il materiale relativo. Nella finestra di dialogo per le texture, create una nuova uniform texture chiamandola Glass. Questa texture rende la superficie trasparente, in modo che il materiale all'interno sia visibile, e determina l'ammontare della riflessione speculare. l'immagine sottostante mostra quali impostazioni devono essere usate per la texture. La trasparenza è controllata sia da Transparent Color sia dal valore di Transparency. La frazione rossa, verde e blu del colore trasparente determinano quanto rimane di ciascuna componente del colore quando la luce passa attraverso al superficie. E' un filtro di colore. Il colore di default, bianco, significa che passa attraverso la superficie la luce di qualsiasi colore. Nero significa che non passa nessun colore. Il valore della trasparenza determina la frazione totale della luce che vi passa attraverso. Un valore di 0.7 significa che passa attraverso la superficie il 70 per cento della luce incidente. Significa anche che il componete trasparente determina il colore della superficie per il 70 per cento. Il restante 30 per cento del colore sarà determinato al 100% dalla riflessione, quindi il valore di Specular dovrà essere impostato a 1.0. La componente del colore diffuso della superficie non influenza il colore risultante, date queste impostazioni. Useremo un materiale per colorare il vetro. Per creare un nuovo materiale, selezionate dal menu Scene->Materials e cliccate sul pulsante New. Il nuovo materiale può essere anch'esso chiamato Glass. Deve essere un materiale uniforme (uniform material). Potete vedere l'impostazione dei parametri nell'immagine sottostante. Il colore di un materiale è influenzato da due parametri: Material color e Transparent Color. Entrambi i parametri del colore attenuano il colore della luce che passa attraverso il materiale. Il colore del materiale influenza solo il colore della luce che colpisce la telecamera direttamente, è il colore che l'oggetto sembra avere. Transparent Color influenza tutta la luce che passa attraverso l'oggetto, e colore anche le ombre proiettate dall'oggetto. Il primo parametro di colore è facile da usare perchè specifica di quale colore deve apparire l'oggetto. Tuttavia, Transparent Color specifica la frazione di rosso, verde e blu che vi passa attraverso. Il resto della luce viene riflessa e determina il colore dell'oggetto. L'entità dell'attenuazione è determinata dal valore di Density. Un valore di zero significa che non c'è attenuazione. Per il vetro specificheremo un colore verde che apparirà solo su oggetti molto massicci. .

Il rendering finale

Il vetro appena creato non può essere renderizzato con un rendering raster usato precedentemente. Aprite la finestra di dialogo del render (Scene->Render Scene) e selezionate il renderer Raytracer. Con la tecnica del raytracing, vengono proiettati "raggi di luce" dalla telecamera e viene rilevato dove questi intercettano gli oggetti. In questo punto dell'oggetto, i raggi vengono proiettati verso la sorgente luminosa per calcolare l'illuminazione e le ombre. Dagli oggetti con una componente di riflessione speculare o di trasparenza, vengono proiettati nuovi raggi per calcolare come si vede l'oggetto stesso in virtù della riflessione o del materiale trasparente. Lo sfondo nero di default rende il materiale vetro poco credibile. Per migliorare l'aspetto del vetro, abbiamo utilizzato uno sfondo chiaro. Nella versione 0.8, c'è un errore per cui usando un colore solido come sfondo si va incontro ad un errore del rendering, quindi useremo una texture come sfondo. Selezionate Scene->Environment dal menu. In questa finestra di dialogo, selezionate come sfondo texture-diffuse. Potete creare una nuova texture con un diverso colore o forse un'immagine procedurale (le nuvole sono un buon esercizio) ma useremo per ora la texture di default. Infine, per migliorare la qualità dell'immagine, spuntate l'opzione antialiasing nella finestra di dialogo del render. E se la vostra sorgente di luce (non-direzionale) si trova vicino all'oggetto, spuntando soft shadows otterrete un'immagine più realistica. Entrambi le opzioni impongono al raytracer di proiettare più raggi per calcolare ciascun pixel. I risultati vengono mediati per creare un'immagine meno netta. Il numero massimo e minimo di raggi per pixel (rays per pixel) impostati a valori alti forniscono una qualità dell'immagine superiore ma rallentano il rendering. Per un'immagine da realizzare velocemente, non usate queste opzioni. Si può ottenere una buona qualità impostando minimo e massimo a 4 e 16 raggi rispettivamente. Sono necessari più raggi se sono presenti ampie aree con ombre sfumate. Le impostazioni del raytracer e l'immagine risultante sono mostrate sotto.

Immaginate

Qui finisce il tutorial, ma Art of Illusion ha molte più capacità di quelle mostrate qui. Dagli altri tutorial e manuali (nel momento di scrivere ancora in fase di compilazione) potrete saperne di più. Molte delle caratteristiche più intriganti sono abbastanza intuitive, e potete semplicemente fare delle prove per valutarne l'effetto. Usando i concetti fondamentali trattati in questo tutorial potete iniziare a modellare le parole della vostra immaginazione. Gradualmente, non appena imparerete a padroneggiare tutte le opzioni del programma, farete sempre di meglio. Buona fortuna.