Dopo aver creato il personaggio e prima di passare all'animazione vera e propria, è necessario analizzare il rigging. Il termine "rig" normalmente si utilizza per definire il sistema di movimenti e di controllo delle marionette: lo stesso si farà con il nostro personaggio, ne costruiremo uno scheletro che muoveremo come una marionetta per il posizionamento di braccia e gambe.
Per capirne il funzionamento, è sufficiente analizzate il rig della gamba. Al termine delle lezioni su questo tema, sarà comunque possibile scaricare il file completo.
Armature e Bones
Recuperiamo il file del personaggio realizzato nelle precedenti lezioni. Assicuriamoci che sia al centro degli assi nella nostra scena: se non lo fosse, selezioniamolo e premiamo ALT+G
per azzerare la sua posizione. Premiamo quindi Shift+S
e posizioniamo il cursore sull'origine del modello 3D, selezionando Cursor to Selected dal menu a tendina.
Aggiungiamo un oggetto Armature: per farlo premiamo Shift+A
, navighiamo nel menu omonimo e poi scegliamo Single Bone.
L'oggetto Armature è simile a un qualsiasi oggetto Blender in Object Mode, possiede però anche una Pose Mode oltre alla classica Edit Mode. Torniamo in Edit Mode dove possiamo aggiungere, togliere e modificare le Bones, cioè quegli oggetti - detti ottaedri - caratterizzati da una sfera alle estremità.
Le Bones si manipolano come gli oggetti, ma è possibile selezionarne le sfere per eseguire rotazioni o determinate posizioni. Tali sfere si possono solo spostare, al momento è sufficiente selezionare quella del femore della gamba, ruotandola come in Figura 4.
Nella finestra delle Properties sono apparse due nuove schede che contengono opzioni e impostazioni per gli oggetti Armature. Possiamo ad esempio attivare la modalità X-Ray, che permette di vedere le Bones - le ossa della nostra marionetta - attraverso le mesh: il tutto dalla finestra Properties e nella scheda Object Data, con l'icona a omino stilizzato. Scorriamo le varie sezioni e, in quella Display, scegliamo X-Ray come mostrato in Figura 5. Poi posizioniamo e ruotiamo il femore in modo che parta dall'anca e arrivi al ginocchio. Per facilitare il posizionamento possiamo usare le due sfere alle estremità, definite Joint, ovvero le giunture intorno alle quali le ossa ruotano.
Selezioniamo il giunto inferiore che si trova sul ginocchio, premiamo il tasto E
per estrudere un nuovo osso, posizioniamolo quindi come in Figura 6.
Facciamo lo stesso anche con le ossa del piede, senza dimenticare l'articolazione che permette di piegare le dita, perché molto importante durante l'animazione. Dovremmo ottenere un sistema simile a quello in Figura 7.
Rinominiamo ogni Bones usando l'apposita casella Items nel menu Properties, sulla sinistra della 3D View. Possiamo momentaneamente lasciare il nome Armature all'oggetto che contiene il sottosistema delle ossa, sebbene possa essere modificato in qualsiasi momento. Per convenzione, scriviamo ".L" per indicare che stiamo rinominando alla sinistra del personaggio: più avanti questo accorgimento ci sarà molto comodo. Possiamo usare i nomi della Figura 8, i più comuni per questo rig. Usare delle convenzioni permette un interscambio dei file senza creare confusione tra animatori e collaboratori.
In Front View notiamo come la gamba sia ancora al centro, selezioniamola e spostiamola sull'asse X come in Figura 9.
Parent e Connected
Ogni volta che estrudiamo un osso da un altro, l'ultimo Bone creato sarà automaticamente collegato (Connected) al precedente e imparentato (Parent) con esso. Cosa significa?
Quando un osso è in Parent con un altro, quello di gerarchia inferiore - detto osso figlio - potrà muoversi liberamente, ma la sua posizione dipenderà da quello di gerarchia superiore, il genitore. Quindi quando l'osso genitore si muove, sposterà anche il figlio. Quando due Bones sono in Parent tra di loro è possibile siano anche connesse, ovvero condividano uno dei due giunti: si tratta di un legame automatico che avviene con il comando Extrude. Se due Bones non sono imparentate, ovviamente, non possono essere connesse.
Gli effetti del principio poc'anzi spiegato sono visibili solo in Pose Mode, perché in Edit Mode le parentele non vengono riconosciute, così da rendere più semplice il posizionamento delle ossa.
Torniamo al Rig e questa volta aggiungiamo due Bones che serviranno per il controllo. Selezioniamo il giunto sul ginocchio ed estrudiamo un osso. Togliamo la parentela, perché ci serve un osso indipendente. Dalla finestra Properties scegliamo la scheda Bone, raffigurata da un'icona a forma di osso, quindi nella sezione Relations, premiamo la "X" come mostrato in Figura 10, cancellando a parentela leg1.L
.
Spostiamo l'osso appena creato come in Figura 11. Questo servirà per il controllo del ginocchio, quindi chiamiamolo knee.L
, inoltre disattiviamo l'opzione Deform come mostrato dal riquadro blu. Essendo un osso di controllo, non dovrà modificare la mesh del personaggio ma solo la posizione delle altre Bones.
Estrudiamo infine il tallone: si chiama ik_foot.L
e servirà a controllare l'intera gamba. Come per il precedente controllo del ginocchio, togliamo il Parent e l'opzione Deform, come mostrato in Figura 12. Nella prossima lezione, invece, analizzeremo l'Inverse Kinematics Constraint.