Informatica Grafica per le arti e punti Pivot Il Rigging Dopo aver prodotto un modello tridimensionale, occorre aggiungervi alcuni speciali controlli per semplificarne l'animazione. Questa fase prende il nome di Rigging. Marco Gribaudo marcog@di.unito.it Il Rigging Il Rigging si divide a sua volta in altre sottofasi: impostazione delle gerarchie e delle ossature, aggancio e pesatura delle pelli, creazione di controlli, studio dei vincoli e delle dipendenze tra oggetti. In questo corso prenderemo in consederazione solamente la fase di impostazione delle gerarchie ed introdurremo quella di aggancio e pesatura delle pelli. Affinche' un oggetto sia facilmente animabile, e' necessario che sia costituito da un numero ristretto di elementi distinti. Se un oggetto e' costituito da piu' componenti, queste devono essere legate insieme. I gruppi visti in precedenza non consentono di animare indipendentemente le parti che li compongono senza essere "aperti". Ogni trasformazione effettuata su un gruppo di oggetti si riflette su tutte le sue componenti. Negli oggetti reali, sono invece spesso presenti perni, rotaie ed altre forme di vincoli, che legano tra loro oggetti, lasciando la possibilita' di effettuare alcuni movimenti ben definiti (es: il cambio ed il volante in una vettura). Oltre ai gruppi, i programmi di grafica 3D mettono a disposizione i collegamenti. Un collegamento e' un legame asimmetrico tra due o piu' oggetti. Un oggetto "figlio" puo' essere collegato ad un oggetto "padre".
Ogni modifica effettuata sull'oggetto padre si riflette automaticamente su tutti gli oggetti figli...... ma le modifiche apporate agli oggetti figli non incidono sull'oggetto padre. Crea collegamento I collegamenti si effettuano indicando per ogni oggetto "figlio" quale sia il loro oggetto padre attraverso gli appositi pulsanti (facendo click sull'oggetto figlio e trascinando il mouse sull'oggetto padre). Rimuovi collegamento In questo modo si possono creare intere gerarchie di oggetti. Ad esempio si puo' definire il busto di un robot come "padre" delle braccia, delle gambe e della testa... Busto Braccio... le braccia possono poi essere a loro volta "padri" delle mani... e cosi' via! Busto Braccio Avanbraccio Mano
E' possibile visualizzare una gerarchia attraverso l'apposita finestra (Schematic View), selezionando la visuale in gerarchia. La differenza fondamentale tra gruppi e collegamenti e' che i primi definiscono un singolo oggetto come composto da piu' componenti...... ed i secondi stabiliscono dei "vincoli" di movimento tra oggetti distinti. Putroppo, per problemi di implementazione, nelle versioni versioni di 3D Studio MAX precedenti alla 5.1, non e' possibile inserire gruppi all'interno di gerarchie. Quando un oggetto fa parte di una gerarchia, e' opportuno che le trasforamzioni di spostamento, rotazione e variaizone di scala siano riferite ad un centro "consistente" con la gerarchia stessa. Un punto pivot rappresenta il centro attorno al quale avvengono le trasformazioni di traslazione, rotazione e cambiamento di scala. Ad esempio, un braccio deve ruotare avendo come perno la spalla. Il punto pivot si sposta assieme all'oggetto padre. Puo' essere impostato scegliendone posizione ed orientamento. Si preme il pulsante "Affect Pivot Only" (Solo Perno) nella sezione Pivot (Perno) della pagina della gerarchia...
Quindi lo si posiziona ed orienta attraverso i normali comandi di spostamento e rotazione. I modelli tridimensionali possono essere animati con tecniche differenti. Due tra le piu' importanti sono: La cinematica La dinamica 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. 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. Essi dispongono di un simulatore, capace di prendere in considerazione le principali leggi fisiche. Vi sono due tipi di cinematica: I due tipi di cinematica si differenziano nel modo in cui l'animatore agisce su di un oggetto snodato, per fargli assumere una particolare posa. Nella cinematica diretta, il modellatore posiziona gli oggetti applicando loro sequenze di rotazioni.
Ad esempio il modellatore definisce la posa di un braccio (costituito da una gerarchia formata da braccio, avambraccio e mano)...... ruotando prima il braccio, poi l'avambraccio, ed infine la mano: gli oggetti figli ereditano gli spostamenti imposti all'oggetto padre. In caso di articolazioni soggette a vincoli di movimento (es. giunti meccanici), e' possibile impedirne la rotazione e lo spostamento lungo alcuni assi. In 3D Studio, questo si esegue nella sezione Info coll. della pagina gerarchia. 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. 3D Studio Max e' in grado di applicare la cinematica inversa a qualunque gerarchia, utilizzando i controlli contenuti nella sezione IK della pagina gerarchia.
Innanzi tutto si seleziona il giunto terminale della catena (il primo giunto non influenzato dalla cinematica inversa), e si imposta la voce Nodo di terminazione. Premendo quindi il pulsante IK Interattiva (Applica IK) e spostando un oggetto, 3D Studio muove tutti quelli collegati, in modo da raggiungere la posizione voluta. Se vi sono dei vincoli, affinche' questi siano presenti anche nei calcoli della cinematica inversa, essi devono essere impostati nella pagina IK, (e non solamente in quella di Info coll). 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 dalla posizione del gomito. 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 restrizioni che impongono limiti sui movimenti che ci possono essere tra due oggetti collegati. Queste restrizioni si impostano nella stessa sezione in cui si specificano i vincoli sugli assi di rotazione. In questo corso non approfondiremo l'uso dei vincoli.