Informatica Grafica I Marco Gribaudo marcog@di.unito.it Animazioni 3D L'animazione 3D si basa sugli stessi principi dell'animazione tradizionale. Il filmato viene realizzato attraverso una sequenza di immagini chiamate fotogrammi (frames). I fotogrammi si susseguono ad una velocita' stabilita, misurata in fotogrammi al secondo (FPS). Se il numero di fotogrammi al secondo e' superiore o uguale a 24, l'utente ha l'impressione di un movimento continuo. In grafica 3D il procedimento e' complesso in quanto bisogna descrivere i cambiamenti che intercorrono nel mondo virtuale tra un fotogramma ed il successivo. E' lo stesso prinicipio alla base del cinema e della televisione. I programmi considerano uno ad uno i fotogrammi che compongono l'animzaione e per ciascuno di essi generano interi modelli tridimensionali. Nei modelli che costituiscono i vari fotogrammi, gli oggetti possono cambiare di posizione e di forma.
Inoltre possono anche spostarsi luci e cineprese. Anche i materiali che compongono gli oggetti possono cambiare. Una volta costruita la scena corrispondente ad ogni fotogramma, il programma ne esegue il rendering. L'insieme dei singoli fotogrammi generati viene poi assemblato per dare origine al filmato finale. La tecnica piu' semplice di animazione, prende il nome di Key-Frame Animation. Il modellatore comincia creando tutti modelli che verranno utilizzati nell'intero filmato. Posiziona quindi gli oggetti solamente in alcuni fotogrammi speciali, chiamati fotogrammi chiave. Il tempo e' rappresentato da una particolare area dello schermo chiamato Timeline (linea temporale) Il programma genera automaticamente le posizioni degli elementi in tutti i fotogrammi intermedi tra due fotogrammi chiave successivi.
Attraverso il cursore sovrastante, e' possibile selezionare il fotogramma in cui si vuole impostare la posizione chiave. E' possibile stabilire la lunghezza e la velocita' in FPS del filmato utilizzando l'apposita finestra. Velocita' Lunghezza Per "memorizzare" gli spostamenti, occorre premere il pulsante "chiave automatica". 3D studio ci evidenzia la modalita' utilizzando il colore rosso in alcuni sfondi. Si seleziona quindi l'oggetto che si vuole spostare...... e si cambia il fotogramma corrente in modo da selezionare il fotogramma a cui si vuole che l'oggetto raggiunga la nuova posizione. Si effettua quindi lo spostamento dell'oggetto.
Allo stesso modo si possono modificare anche altri parametri, come ad esempio le rotazioni e le variazioni di scala. Ogni memorizzazione di una variazione di un parametro ad un determinato fotogramma prende il nome di chiave. Nella modalita' "chiave automatica", 3D studio aggiunge automaticamente una nuova chiave per ogni variazione effettuata. Se tale modalita' non e' selezionata, le modifiche effettuate vengono interpretate come globali (i.e. l'intera durata del filmato) e non come parti dell'evoluzione di un'animazione. 3D studio ci indica l'avvenuto inserimento delle chiavi, inserendo dei piccoli rettangoli sulla linea temporale. Ogni rettangolo rappresenta una chiave. 3D studio visualizza sulla linea temporale solamente le chiavi relative agli oggetti selezionati. Se' essa e' vuota, indica che non vi sono oggetti selezionati, oppure che l'oggetto corrente e' statico. Nessun oggetto Oggetto selezionato selezionato Timeline vuota! 3D Studio mostra le sue chiavi E' possibile selezionare una chiave facendovi click sopra con il mouse. Si possono selezionare piu' chiavi utilizzando il pulsante CTRL o il rettangolo di selezione.
Le chiavi possono quindi essere spostate nel tempo trascinandole con il mouse. Avvicinare due chiavi, produce una Accelerazione nell'animazione. Accelera l'azione tra queste due chiavi Allontanare due chiavi, significa invece Rallentare l'azione. Le chiavi selezionate, possono essere eliminate con il tasto CANC. Rallenta l'azione tra queste due chiavi Oppure possono essere copiate, trascinandole con il mouse mentre si tiene premuto SHIFT sulla tastiera. Copiare le chiavi e' il modo piu' semplice con cui ripetere un'animazione. Seguire un tracciato Una altra tecnica di animazione e' quella dei tracciati. L'animatore disegna una curva che rappresenta una traiettoria. Quindi chiede a 3D Studio di far spostare un oggetto lungo tale tracciato.
Seguire un tracciato Il tracciato viene disegnato come una normale linea bidimensionale. Seguire un tracciato Si seleziona l'oggetto che si vuole animare, quindi nel menu' "traiettorie" della pagina movimenti, si impostano i fotogrammi iniziale e finale dell'animazione. Si definisce anche quanti fotogrammi chiave dovranno essere generati. Seguire un tracciato Si preme quindi "Converti da" e si seleziona la linea che disegna la traiettoria. Seguire un tracciato Se si vuole cambiare il percorso, occorre modificare la linea e ripetere il procedimento (i.e. l'aggiornamento del movimento non e' automatico). La tecnica della Key-Frame animation puo' essere utilizzata anche per animare altri parametri di un oggetto. I valori posizionali di luci e cineprese possono essere animati come tutti gli altri oggetti per creare movimenti di camera ed effetti di luce. Vediamo alcuni utilizzi particolari.
Anche gli altri parametri, come la potenza della luce o il campo visivo della cinepresa, possono essere animati per creare effetti di "accensione" o di zoom. In questo caso, il parametro animato viene circondato da piccoli angoli rossi. Si possono animare i parametri di un modificatore per ricreare effetti di deformazione. E' possibile animare i colori di un materiale per far variare la colorazione di un oggetto. La cinematica considera solamente la posizione e la velocita' dei punti di un oggetto sulla scena. La dinamica prende in considerazione anche tutte le leggi fisiche (le leggi di Newton, quelle Eulero...) che governano la cinematica degli oggetti presenti sulla scena. Per facilitare la creazione di animazioni realistiche, quasi tutti i programmi di grafica sono capaci di considerare la cinematica degli oggetti. I programmi piu' potenti, come 3D studio, sono in grado di considerare anche la dinamica, tenendo conto delle principali leggi fisiche che governano la cinematica degli oggetti.
Normalmente i programmi utilizzano una tecnica chiamata cinematica diretta. Il modellatore seleziona gli oggetti applicando loro sequenze di trasformazioni che portano il modello in uno stato differente. Ad esempio il modellatore definisce un braccio, costituendo una gerarchia formata da braccio, avambraccio e mano...... quindi sposta prima il braccio, poi l'avambraccio, ed infine la mano: gli oggetti figli ereditano gli spostamenti imposti all'oggetto padre. In alcuni casi puo' essere utile specificare la posizione finale di un oggetto in fondo alla gerarchia e chiedere al calcolatore di trovare le posizioni corrette degli oggetti intermedi. In questo caso si parla di cinematica inversa. Ad esempio, il modellatore sposta la mano ed il calcolatore determina automaticamente le posizioni del braccio e dell'avambraccio. Il problema principale della cinematica inversa e' che spesso le posizioni intermedie possibili non sono uniche. Se ad esempio spostiamo la mano in modo da toccarci l'orecchio, vi sono infinite posizioni del braccio determinate dalle infinite posizioni che il gomito puo' assumere.
Il calcolatore cerca quindi di determinare una delle possibili soluzioni per stabilire la posizione degli oggetti intermedi. Per rendere piu' realistico il risultato, si possono associare delle restrizioni che impongono limiti sui movimenti che ci possono essere tra due oggetti collegati.