Appresi i concetti iniziali di ossatura e armatura, la fase di rigging procede con la creazione di catene di controllo per la gamba del personaggio.
Aperto il nostro consueto file, quando passiamo in Pose Mode compare un'altra scheda nella finestra Properties, mostrata in verde nella Figura 1. Si tratta di un pannello dedicato ai Bone Constraints. Questi modificatori operano sulle ossa grazie a degli automatismi che ci aiutano durante l'animazione, ad esempio facendo muovere l'intera gamba spostando un unico osso. La funzione che assolve a questo scopo si chiama Inverse Kinematics Constraint, abbreviata molto spesso con IK.
Prima di parlare di cinematica inversa, questa la traduzione italiana, bisogna parlare di Forward Kinematics, ovvero di cinematica diretta. Prendiamo ad esempio il movimento del braccio umano. Per eseguire una stretta di mano dobbiamo partire dal gruppo di ossa e muscoli di gerarchia superiore, l'avambraccio, al quale sono collegati il braccio e la mano. Prima ruotiamo l'avambraccio, poi ruotiamo il braccio e infine posizioniamo la mano in modo che possa stringere quella dell'interlocutore. Questo tipo di movimento rappresenta la Cinematica Diretta (FK).
Per muovere un sistema complesso come un braccio o una gamba, potremmo incappare in errori che ci costringono a ruotare da capo l'intera gerarchia. Basta infatti aggiustare la posizione dell'avambraccio per veder modificata anche la mano. In realtà, quando eseguiamo questo gesto utilizziamo un riferimento - la mano o il piede - che guida il resto della gerarchia nella posizione giusta. Sfruttiamo quindi la Cinematica Inversa (IK).
Si tratta comunque di un concetto tutt'altro che assoluto: sistemi di rig più complessi mettono a disposizione dell'animatore uno switch per passare semplicemente da una all'altra cinematica, a seconda delle necessità.
Per aggiungere un constraint IK, passiamo innanzitutto in Pose Mode. Selezioniamo l'ultimo osso della catena che vogliamo far muovere, in questo caso leg2.L (il piede è preferibile che rimanda indipendente). Poi, dalla scheda Bone Constraints scegliamo Add Constraint e, infine Inverse Kinematics.
Per funzionare, il constraint IK necessita di due ossa che non siano imparentate, altrimenti verrà generato un errore di Dependency Cycle: l'uso di un constraint, ovvero un vincolo, è una sorta di comando parent. Vi sarebbe quindi un conflitto, dove i ruoli di genitore e figlio si invertono.
Assegniamo il primo Target: siccome si tratta di un osso dell'oggetto Armature, selezioniamolo dalla prima casella. Ne comparirà quindi una seconda, in cui selezioneremo ik_foot.L. Questo è il controllo che farà piegare o distendere la gamba. Ora ci serve un comando per regolare la posizione del ginocchio, quindi come Pole Target scegliamo prima Armature e poi l'osso knee.L, come in Figura 2. Infine, non dimentichiamoci di assegnare al parametro Chain Lenght il valore 2, perché le ossa della catena sono appunto due.
Potrebbe verificarsi un fatto insolito: il piede viene ruotato rispetto alla sua posizione. Bisogna perciò regolare il parametro Pole Angle al corretto orientamento. Solitamente l'errore è di circa 90°, lo si può verificare disattivando momentaneamente il constraint e cliccando sull'icona a forma di occhio, per scoprire l'orientamento del piede a riposo.
Provando a muovere l'osso ik_foot.L, il ginocchio si piegherà. Muovendo l'osso knee.L, lo orienteremo. In Pose Mode possiamo facilmente annullare il posizionamento delle ossa premendo la combinazione ALT+G
, mentre per la rotazione useremo ALT+R
e per il ridimensionamento ALT+S
. In questo modo possiamo sperimentare senza però modificare realmente la posizione delle ossa, quest'ultima possibile solo in Edit Mode.
Come ultimo accorgimento, entriamo in Edit Mode e creiamo un legame di parentela tra l'osso knee.L e ik_foot.L. Per rendere ik_foot.L genitore, selezioniamo prima knee.L, poi selezioniamo ik_foot.L tenendo premuto il tasto maiuscola, quindi premiamo la combinazione CTRL+P
e scegliamo dalle opzioni Keep Offset per mantenerli in posizione.
Così facendo, in Pose Mode l'osso knee.L seguirà i movimenti di ik_foot.L.
Mirror e Flip Names
Finito il rig della gamba sinistra, vediamo come copiarla e con pochi click realizzare quello della gamba destra. Andiamo in Edit Mode, assicuriamoci che il cursore sia ancora sul centro dell'oggetto Armatura, come in Figura 6. Ora andremo a modificare il tipo di Pivot, ovvero di perno, dal menù Pivot Point sulla barra della 3D View. Selezioniamo quindi 3D Cursor. In questo modo il Pivot di selezione, prima su Median Point, si troverà solo sul cursore al centro dell'armatura.
Selezioniamo tutte le ossa e duplichiamole premendo SHIFT+D
. Senza spostarle dalla posizione di copia, premiamo la combinazione CTRL+M per un comando Mirror, quindi premiamo il tasto X affinché avvenga sull'asse delle x. Si avrà così una copia delle ossa create, compresi controlli e constraint.
Con le ossa della gamba destra ancora selezionate, premiamo il tasto W
e dal menù scegliamo Flip Names. Ora le ossa saranno rinominate tutte con la finale .R (right, destra) invece che quella .L (left, sinistra).
Verifichiamo, infine, il funzionamento in Pose Mode.
Dalle prossime lezioni, legheremo l'armatura realizzata al personaggio.