Nel nostro esempio, le antenne o i sensori del personaggio alieno devono muoversi in modo dinamico ed elastico con ogni movimento della testa. Naturalmente il nostro esempio può essere applicato anche a ciocche di capelli, code di dinosauri e molto altro.

Nel file di lavoro "PSD_C4D_R12_IK_Dyn_Start.c4d" troverete la testa aliena modellata e texturizzata per lavorarci insieme.

Nuovo nel rilascio 12 - Cinematica inversa dinamica

Costruzione della struttura portante a giunti

La testa dell'alieno è composta da geometria poligonale per la testa e due oggetti sferici per gli occhi. Successivamente, collegheremo tutti gli oggetti in modo gerarchico o tramite vincoli ai giunti, in modo che l'intera testa, insieme ai sensori, possa essere animata senza problemi.

Cominciamo la costruzione della struttura portante con un primo oggetto joint per la testa. Lo troviamo nel menu Character.

Nuovo nel rilascio 12 - Cinematica inversa dinamica

Dato che la testa dell'alieno è esattamente posizionata sull'origine del sistema di coordinate, il giunto della testa può rimanere nella posizione nulla.

Nuovo nel rilascio 12 - Cinematica inversa dinamica

Selezioniamo immediatamente il nuovo oggetto joint appena creato e attiviamo lo strumento joint nel menu Character. Nella finestra di dialogo delle impostazioni dello strumento joint disabilitiamo la creazione di un oggetto nullo radice. Lo creeremo in seguito per comprendere meglio la sua funzione all'interno di una struttura portante a giunti.

Per lavorare simmetricamente, apriamo l'opzione Symmetrie e utilizziamo l'opzione Disegna sul piano YZ del mondo. Su questo piano, disegneremo i giunti in questa vista.

Nuovo nel rilascio 12 - Cinematica Inversa Dinamica.

Cliccando con lo strumento joint attivato e premendo il tasto Ctrl o Cmd, verranno creati automaticamente e simmetricamente sotto la giunzione della testa i giunti inferiore. Scegliamo uno dei due sensori e posizioniamo il primo giunto sull'inizio del sensore vicino alla testa. Grazie alla simmetria attivata, CINEMA 4D posizionerà automaticamente il giunto per l'altro sensore.

Nuovo nel rilascio 12 - Cinematica inversa dinamica

Creiamo catene di giunti rispettivamente facendo clic tenendo premuto il tasto Ctrl o Cmd alle posizioni mostrate nell'immagine. Quando diventa più dettagliato, i giunti dovrebbero essere più vicini l'uno all'altro. Non risparmiamo sui giunti, poiché solo in questi punti si può verificare una deformazione o una curvatura della geometria.

Nuovo nel rilascio 12 - Cinematica Inversa Dinamica

Dopo aver creato tutti i giunti, troveremo nel Gestore Oggetti la gerarchia di giunti mostrata nell'immagine. L'oggetto giunto testa ha in totale due catene di giunti come sottoggetti - una per ogni sensore o antenna.

Per regolare la posizione dei giunti anche nella vista laterale, selezioniamo una coppia di giunti nel Gestore Oggetti e spostiamo i giunti lungo il loro asse z nella geometria.

Nuovo nel rilascio 12 - Cinematica inversa dinamica

La struttura portante per animare i sensori o le antenne sarebbe quindi già completa. Tuttavia, non ha ancora alcun collegamento con la nostra testa aliena che ci permetterebbe di animare la testa.

Nuova in Release 12 - Cinematica Inversa Dinamica

Questo sarà possibile solo dopo aver collegato la gerarchia di giunti con la geometria. Per fare ciò, selezioniamo prima tutti gli oggetti giunto e l'oggetto poligono della geometria dell'alieno tramite il Gestore Oggetti.

Nuovo nel rilascio 12 - Cinematica inversa dinamica.

La connessione della gerarchia di giunti con il poligono mesh è creata con il comando Collega nel menu Character>Comandi.

Nuovo in Release 12 - Cinematica inversa dinamica

Cosa ha fatto il comando Collega? Ora l'oggetto poligono della geometria aliena ha un tag pesi, nel cui dialogo delle impostazioni sono raccolti tutti gli oggetti giunto che possono influenzare la geometria della testa dell'alieno. Questo peso automatico dipende dalla posizione dei giunti rispetto alla geometria ed è un buon punto di partenza.

Nuovo nel rilascio 12 - Cinematica inversa dinamica.

Pesatura dei giunti

Questo peso non è sempre perfetto, quindi un po' di lavoro di post-elaborazione è necessario nella maggior parte dei casi. Per avere un'idea delle pesature adiacenti, disattiviamo prima la funzione della gabbia HyperNURBS tramite il Gestore Oggetti. Lo strumento di pesatura mostra le pesature sulla geometria quando il mesh poligonale non è levigato. Per avere una visione d'insieme, selezioniamo tutti gli oggetti giunto con la geometria nel Gestore Oggetti.

Nuovo nel rilascio 12 - Cinematica inversa dinamica

Lo strumento di pesatura si trova nel menu Carattere. Dopo averlo attivato, la geometria della testa dell'alieno inizia a colorarsi. Ogni Joint ha il suo colore, che indica la sua influenza sulla geometria.

Nuovo nel rilascio 12 - Cinematica inversa dinamica

Per poter valutare singolarmente i Joints e la loro influenza sulla geometria, è sufficiente selezionare il Joint corrispondente nel Gestore Oggetti. Le aree della geometria non influenzate da tale Joint rimangono nere.

Nuovo nel rilascio 12 - Cinematica inversa dinamica

Si nota che all'estremità del naso non è presente il colore del Joint al 100%. Con lo strumento di pesatura possiamo prevenire eventuali errori nella deformazione, aumentando in modo mirato il peso del Joint con il Pennello di Pesatura.

Nuovo in Release 12 - Cinematica inversa dinamica

Anche alle transizioni verso le antenne c'è un'eccessiva influenza sulla geometria della testa. Per ridurre i pesi applicati, utilizziamo lo strumento di pesatura tenendo premuto il tasto Ctrl.

Nuovo nel rilascio 12 - Cinematica inversa dinamica

Per concludere il lavoro di pesatura, è consigliabile selezionare nuovamente tutti i Joints tramite il Gestore Oggetti, impostare la visualizzazione del colore dei pesi su Monocromatico e verificare che tutta la geometria sia pesata. Come mostrato nell'immagine, l'intera testa dell'alieno è colorata di bianco, indicando che tutte le parti della geometria sono pesate.

Nuovo nel rilascio 12 - Cinematica inversa dinamica

I corpi sferici degli occhi rimangono esclusi dalla pesatura. Per far sì che questi oggetti si muovano insieme alla rotazione o al movimento della testa, li assegniamo semplicemente al Joint della testa nel Gestore Oggetti. Quando il Joint della testa viene ad esempio ruotato, gli occhi seguiranno l'orientamento della testa grazie alla loro subordinazione al Joint.

Nuovo in Release 12 - Cinematica inversa dinamica

Ora è giunto il momento di verificare il modello di pesatura e i pesi inclusi nella pratica. Selezioniamo il Joint della testa e lo ruotiamo utilizzando lo strumento di Ruotare lungo l'asse y. L'intera testa dell'alieno dovrebbe seguire senza problemi i movimenti del Joint della testa.

Nuovo nel rilascio 12 - Cinematica inversa dinamica

Integrare la Cinematica Inversa con la Dinamica

Dopo che i Joints agiscono come desiderato sulle varie aree della testa dell'alieno, possiamo occuparci dell'animazione delle antenne attraverso la Cinematica Inversa (IK). Per fare ciò, dobbiamo definire i due segmenti di Joint per le antenne come una catena IK.

Selezioniamo queste due catene di Joint nel Gestore Oggetti - si prega di notare che il Joint della testa è escluso!

Nuovo nel rilascio 12 - Cinematica inversa dinamica

Anche in questo caso, CINEMA 4D offre un comando speciale chiamato Creare catena IK, che trasforma automaticamente le catene di Joint selezionate in catene IK. Lo troviamo nel menu Carattere>Comandi.

Nuovo nel rilascio 12 - Cinematica inversa dinamica.

Applichiamo il comando Creare catena IK e controlliamo cosa è cambiato nella nostra catena di Joint. I due Joints alla base della testa hanno ricevuto ciascuno un Tag IK. In questo tag vengono automaticamente definiti l'inizio e la fine della catena IK.

Troviamo inoltre due nuovi Null-object come oggetti obiettivo nel Gestore Oggetti. Questi due obiettivi sono nominati in analogia alle estremità della catena di Joint e ci consentono di animare l'intera catena IK tramite questi semplici obiettivi di controllo.

Vogliamo regolare i movimenti delle antenne tramite proprietà dinamiche. Tuttavia, conservare questi due obiettivi di controllo è utile poiché in questo modo le antenne si allineano automaticamente a ogni movimento e deformazione ripristinando sempre l'allineamento ai obiettivi.

Nuovo nel rilascio 12 - Cinematica inversa dinamica

Esaminando il dialogo delle impostazioni dei Tag IK, vediamo come siano definite le fine o gli obiettivi della catena IK. Possiamo mantenere questi parametri nella sezione Tag; ora siamo più interessati alle impostazioni della Dinamica.

Nuovo nel rilascio 12 - Cinematica inversa dinamica

Per fare ciò, passiamo alla scheda Dinamica e attiviamo prima l'opzione di Dinamica. A questo punto, le antenne possono già reagire agli effetti come Gravità o Movimento.

Tuttavia, affinché le antenne non penda in modo flaccido, ma sembrino più elastiche e robuste, riduciamo la Forza di Dinamica al 40-45% e aumentiamo drasticamente l'Ammortizzazione al 70%. Per far sì che le antenne si sforzino di tornare allo stato iniziale, aumentiamo il parametro Conserva Angolo al 40-45%.

A questo punto, vi invito a continuare a sperimentare con i parametri. In questo modo si impara rapidamente come le diverse impostazioni influenzano l'intera catena di Cinematica Inversa - e naturalmente è anche divertente.

Nuovo in Release 12 - Cinematica inversa dinamica

Poiché i due oggetti obiettivo esterni non rilevano nulla dell'animazione dinamica delle antenne, dobbiamo insegnare all'IK che tali obiettivi devono essere mossi insieme. Altrimenti, le antenne si annoderebbero molto rapidamente durante una rapida rotazione.

La scheda Ulteriori nel tag IK ci offre una funzionalità molto elegante per questo. Attiviamo semplicemente l'opzione Movimento dell'obiettivo, e i due oggetti obiettivo si muoveranno automaticamente con ogni movimento.

Nuovo in rilascio 12 - Cinematica inversa dinamica

Anche la funzionalità della Cinematica Inversa delle antenne è ora sistemata. Diamo un po' di ordine al Gestore Oggetti rinominando adeguatamente gli oggetti obiettivo e le catene congiunturali.

Attualmente, l'articolazione della testa funge da manico per l'animazione della testa dell'alieno. Purtroppo, questa articolazione è piuttosto scomoda, poiché ruotata nello spazio a causa delle sue catene congiunturali subordinate.

Tuttavia, abbiamo bisogno di una posizione iniziale "pulita" in termini di angoli, in modo che la rotazione e il movimento della testa dell'alieno possano avvenire senza rotazioni indesiderate.

Ecco dove entra in gioco il Null Oggetto Radice, di cui abbiamo parlato brevemente all'inizio.

Nuovo nel rilascio 12 - Cinematica inversa dinamica

Ci mette a disposizione una nuova e immacolata base di coordinate. E affinché l'intera catena IK sia considerata, dobbiamo semplicemente sottoporla al Null Oggetto Radice.

Innanzitutto, creiamo il nuovo Null Oggetto tramite il menu Oggetti. Dal momento che l'articolazione della testa si trova nella posizione zero, non dobbiamo nemmeno riposizionare il nuovo Null Oggetto.

Nuovo nel rilascio 12 - Cinematica inversa dinamica

Chiamiamo questo nuovo Null Oggetto coerentemente Radice e lo sottoponiamo all'intera gerarchia congiunturale tramite il Gestore Oggetti.

Nuovo nel rilascio 12 - Cinematica inversa dinamica.

Adesso possiamo premere il pulsante di riproduzione e ruotare e animare l'alieno in tutte le direzioni mediante la rotazione del Null Oggetto Radice. Le antenne saranno controllate dinamicamente dalla gravità e dai nostri movimenti.

Nuovo nella versione 12 - Cinematica Inversa Dinamica.



Il Null Oggetto Radice è quindi un utile alleato nell'animazione di una gerarchia congiunturale. Nella creazione di un telaio congiunturale, almeno la giunzione principale (di solito il bacino) riceverà un tale Null Oggetto sovraordinato. Per fare in modo che ciò avvenga automaticamente, dobbiamo semplicemente attivare l'opzione Null Oggetto Radice nella finestra di dialogo delle impostazioni dello strumento di giunzione.