Coordinate
Questo valore rappresenta la posizione dell’oggetto in relazione al sistema coordinate globale o al sistema coordinate genitore se l’oggetto si trova all’interno di una gerarchia (vedere anche Gestione Coordinate).
Questo valore rappresenta la scala dell’oggetto in relazione al sistema di coordinate globale o al sistema coordinate genitore se l’oggetto si trova all’interno di una gerarchia (vedere anche Gestione Coordinate).
Modificare la scala dell’oggetto utilizzando questo valore equivale a scalare l’oggetto in modalità Usa Assi Oggetto, cioè si modificherà il sistema asse dell’oggetto (vedere anche Differenze tra le modalità Usa Strumento Oggetto e Usa Strumento Modellazione).
Questo valore rappresenta l’angolo dell’oggetto in relazione al sistema di coordinate globale, o al sistema coordinate genitore se l’oggetto si trova all’interno di una gerarchia (vedere anche Gestione Coordinate).
Questo menu di selezione è rilevante solo per coloro che creano animazioni. Le opzioni in questo menu possono ridurre al minimo le possibilità di ottenere il temuto "Blocco Gimbal”.
Osservate il seguente esempio:
Abbiamo configurato un personaggio con gerarchie complesse per l’animazione. Supponiamo di voler animare la joint della spalla destra in una vista frontale creando una semplice rotazione verso il basso. Dobbiamo quindi creare dei keyframe per le punte delle dita per poterle posizionare sia verso l’alto, sia verso il basso. Se avviamo ora l’animazione possiamo notare che, oltre a muoversi verso il basso come ci si aspettava, il braccio ha anche una leggera deviazione (immagine sopra, in alto a destra). Questo è un classico esempio di "blocco gimbal". Qui l’effetto è relativamente debole, ma in alcuni casi può comportare effetti decisamente anormali, come un movimento "a cavatappi”.
Ecco come un ordine di rotazione corretto può contribuire a ridurre questo effetto: tutto ciò che dovete fare è osservare gli assi delle Joints PRIMA dell’animazione, in modo da determinare quali assi ruoteranno meno durante l’animazione. Nel nostro esempio si tratta dell’asse X. Selezionate ora una delle opzioni Ordine in cui l’asse X si trova in secondo piano. Avviene ancora una leggera deviazione, ma il risutato è di gran lunga migliore rispetto a quello precedente.
Un’altra opzione che aiuta a determinare il corretto ordine di rotazione è l’opzione Rotazione Cardano. Attivate questa opzione e lo strumento Ruota:
Utilizzando le bande di rotazione potete vedere direttamente (PRIMA di animare) se l’animazione lavorerà o meno in una determinata direzione. A sinistra nell’immagine qui sopra potete vedere delle bande di rotazione rosse, verde e blu posizionate in un determinato modo per farvi vedere che la rotazione (freccia rossa) è impossibile (nessuna delle fasce è posizionata nel piano di rotazione). Questa animazione avrà sicuramente dei problemi di Blocco Gimbal.
Sfogliate semplicemente le varie opzioni Ordine finché una delle bande non si posiziona sul piano di rotazione (nell’immagine sopra: la fascia blu). Se create ora l’animazione i problemi con il Blocco Gimbal saranno minimi.
E’ sempre un rischio impostare il secondo valore intorno ai 90° (o 270°) in correlazione con l’ordine di rotazione:
La cosa migliore è impostare sempre il valore corrispondente allo 0°.
Tradizionalmente, questo problema può essere eluso animando un Oggetto Genitore Nullo.
Anche le selezioni congelate, che si trovano in basso nella finestra di dialogo, possono essere d’aiuto.
Quaternion
Sicuramente avrete sentito parlare del temuto Blocco Gimbal in combinazione, per esempio, con l’animazione dei personaggi, o magari l’avete sperimentato personalmente!
Il Blocco Gimbal avviene quando il valore di rotazione P si aggira sui 90°, a questo punto l’heading H e il banking B hanno lo stesso effetto. Il risultato è che una di queste dimensioni viene persa completamente e avvengono ampi salti rotatori anche con la più piccola rotazione.
La funzione Quaternion, che funziona solo per l’animazione di rotazioni, può esservi d’aiuto.
Di default, Cinema 4D usa la Rotazione Eulero per interpolare le rotazioni degli oggetti (Eulero: sistema a giroscopio per le rotazioni separate (HPB), interpolazioni nello spazio 3D Euclideo (ad angolo retto)).
Le componenti individuali di una rotazione Eulero sono interpolate singolarmente, il che significa che il valore medio tra l’HPB (0, 0, 0) e l’HPB (60, 60, 60) sarebbe, per esempio, HPB (30, 30, 30). Il fatto che un’oscillazione da 0, 0, 0 fino 30, 30, 30 a 60, 60, 60 non sia necessariamente il percorso più breve può essere testato nella Viewport.
Ciò che serve è un’interpolazione che impieghi il percorso più breve da A a B, cioè la stessa cosa che farebbe l’utente se dovesse animare il percorso manualmente.
Questo è esattamente quello che fanno i Quaternion. Un Quaternion porterà il percorso da 0, 0, 0 a 60, 60, 60 attraverso 35.104 °, 22.83 °, 35.104 °.
Il Quanternion eveita di creare movimenti inutili e quindi evita il Blocco Gimbal.
Potreste chiedervi perché non viene applicata un’animazione Quaternion fin dall’inizio a tutti gli oggetti. Il motivo è che l’interpolazione Quaternion ha anche degli svantaggi. Il Quaternion funziona bene finché il cambio di rotazione è inferiore ai 180°. Oltre questo limite, possono presentarsi dei problemi visto che il Quaternion cercherà sempre il percorso più breve.
Date un’occhiata al seguente esempio:
Attivando l’opzione Rotazione Quanternion si attiva l’animazione Quaternion per quell’oggetto (i valori di keyframe saranno identici ai valori Eulero e solo l’interpolazione tra i valori cambierà di conseguenza). Se questa opzione è disattivata, verrà usato il metodo per l’animazione Eulero.
Notate che l’interpolazione Quaternion funziona solo su percorsi di rotazione locali e non su coordinate congelate (vedi Blocca Tutto).
E’ disponibile un’opzione Interpolazione Quaternion separata nelle proprietà dei keyframe che può essere usata per influire temporaneamente sull’interpolazione.
Risulteranno le seguenti differenze nelle animazioni Eulero:
Quando si dovrebbero usare le animazioni Quaternion e quando invece no?
Le animazioni Quaternion andrebbero usate se:
Le animazioni Quaternion non andrebbero usate se:
Blocca Trasformazione
Questa scena contiene due oggetti: Arm 2 ha le coordinate locali rappresentate nell’immagine sopra ed è un oggetto Figlio di Arm 1. Le coordinate mostrate nella Gestione Attributi sono sempre coordinate locali (esse riflettono il sistema di coordinate dell’oggetto Genitore nella gerarchia). Fin qui tutto bene.
Ora vogliamo animare Arm 2 in modo che ruoti di 45° attorno al suo asse X. Normalmente, ruoteremo l’oggetto utilizzando le bande di rotazione ed impostando due keyframe:
Il risultato può essere visto al centro dell’immagine sopra. Anche se la rotazione è avvenuta su un singolo asse, tutti e tre gli assi sono stati modificati. Ciò è dovuto al fatto che il sistema di coordinate dell’oggetto Genitore (Arm 1) ha un orientamento diverso rispetto alle coordinate locali. Spesso, questo comportamento non può essere evitato. E nella Timeline, le tre F-Curve, che potrebbero essere modificate, non rendono le cose più semplici. Inoltre, il nostro esempio ha anche un blocco Gimbal Rotazione Quaternion), che dà come risultato una rotazione successiva del braccio.
Tutti questi aspetti negativi possono essere evitati se si congela la trasformazione PRIMA di effettuare l’animazione. In questo modo si copieranno i valori Posizione, Rotazione e Scala ai valori subordinati del nome stesso ed impostare i valori iniziali nuovamente a 0 e a 1.
Questo comporta i seguenti vantaggi:
Il comando Congela Tutto congelerà tutte le coordinate (Posizione, Scala, Rotazione),e tutte le coordinate primitive saranno impostate a 0.
Le coordinate principali saranno controbilanciate con le coordinate bloccate. In seguito tutte le coordinate bloccate saranno resettate a 0.
Esse sono coordinate congelate prese dalla gerarchia genitore.
Questi pulsanti possono essere utilizzati per bloccare le tre coordinate primarie: