Sandy utilizza una telecamera per la presentazione a schermo degli oggetti presenti nel mondo 3D. L'oggetto Camera3D costituisce praticamente il punto di vista dell'utente e, come ogni telecamera, può essere spostata e puntare in ogni direzione.
In questa lezione vedremo questo strumento; ho preparato un'applicazione interattiva in Flash che permette di controllare la maggior parte dei movimenti della telecamera, così che possiate provare direttamente e vedere in maniera immediata l'effetto che il movimento della camera ha sul filmato.
Teniamo comunque sempre presente che qualsiasi cosa si veda in Sandy è vista attraverso la camera, che ha una posizione all'interno del mondo stesso.
Un aspetto molto interessante è che la telecamera possa essere animata, il che consente di "camminare" all'interno del proprio mondo 3D.
Per maggiori informazioni rimando alla descrizione della camera fatta dall'autore di Sandy.
Per aggiungere una (o più) telecamere è necessario crearle (tramite l'oggetto Camera3D
) e poi inserirle utilizzando World3D.addCamera(cam:Camera3D)
.
Per prima cosa ovviamente bisogna creare il "mondo" Sandy:
Listato 14. Creazione del mondo
var world:World3D = World3D.getInstance();
// Creazione della ClipScreen come superficie su cui disegnare il mondo
screen = new ClipScreen( this.createEmptyMovieClip('screen_mc', 1), 480, 400 );
Una volta creato il mondo e la ClipScreen
, andiamo a creare la camera associandola poi alla variabile screen (che rappresenta appunto il ClipScreen creato); l'altro parametro della creazione della Camera3D è la distanza focale.
Listato 15. Creazione telecamera
camera = new Camera3D( 700, screen );
// Posizioniamo la telecamera a -500 pixel sull'asse Z
camera.setPosition(0,0,-500);
// Associamo la telecamera al mondo
world.addCamera( camera );
Come impostazione di default la telecamera è situata nell'origine degli assi e punta lungo l'asse Z in senso positivo. Per vedere gli oggetti posizionati all'origine degli assi dobbiamo quindi spostare la telecamera "indietro" sull'asse Z, infatti con il nostro codice abbiamo posizionato la camera alle coordinate 0,0,-500.
"© Petit Publications 2006" - diritti riservati