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.
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.
Dato che la testa dell'alieno è esattamente posizionata sull'origine del sistema di coordinate, il giunto della testa può rimanere nella posizione nulla.
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.
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.
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.
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.
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.
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.
La connessione della gerarchia di giunti con il poligono mesh è creata con il comando Collega nel menu Character>Comandi.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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!
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.
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.
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.
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.
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.
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.
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.
Chiamiamo questo nuovo Null Oggetto coerentemente Radice e lo sottoponiamo all'intera gerarchia congiunturale tramite il Gestore Oggetti.
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.
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.