Character Rigging - Set-up del Foot-Roll in Maya
KoolRider



head



head



Character Rigging - Set-up del "Foot-Roll" in Maya

Uno dei punti critici che si incontrano nel creare un buon rigging di un bipede risiede nel set-up delle articolazioni del piede.
Ci sono decine di modi per risolvere questo problema in modo appropriato, ognuno ha i suoi vantaggi e svantaggi.
Uno dei metodi più semplici ed efficaci è descritto in questo tutorial (originariamente redatto da Brian J. Immel - http://www.jawa9000.com ).

In pratica l'articolazione del piede può essere schematizzata secondo il seguente ordine gerarchico:

caviglia > tallone > avampiede > punta

Durante un walk cycle di solito l'ordine della rotazione segue di conseguenza tale gerarchia.

Per strutturare quindi un set-up del piede efficiente bisogna quindi costruire una catena di joint che, adeguatamente parametrizzata, permetta all'animatore di agire su pochi basilari controlli visuali (in questo caso 2, piede destro e sinistro), mantenendo comunque un'adeguato grado di intervento su tutta al struttura della gamba.
In pratica l'animatore agirà sull'attributo roll del controllo del piede per animare la rotazione graduale.

Note: questo tutorial è puramente indirizzato al set-up del foot-roll, non vengono quindi coperti aspetti quali l'orientamento degli assi ed altri particolari.

Di seguito la procedura:

1 - Costruire una struttura scheletrica seguendo lo schema in figura 1 con lo strumento joint joint tool (lasciare inalterati i settaggi standard)

fig 1

figura 1 - costruzione della gamba

2 - Rinominare i joints creati nel seguente modo: L_hip_joint, L_knee_joint, L_ankle_joint, L_heel_joint, L_ball_joint, L_toe_joint.
Per comodità e per convenzione usiamo denominazioni in inglese (la L_ sta per left, comunque in italiano l'rdine è bacino, ginocchio, caviglia, tallone, avampiede, punta). Lo schema dei joints è visibile in figura 2.

fig 2
figura 2 - nominare i joints

3 - Creare una maniglia IK con lo strumento IK handleik tool dal bacino alla caviglia (L_hip_joint > L_ankle_joint). Nominare questa maniglia L_Ankle_IK.

4 - Creare un'altra maniglia dalla caviglia all'avampiede (L_ankle_joint > L_ball_joint). Nominarla L_Ball_IK.

5 - Creare un'ulteriore maniglia dall'avampiede alla punta (L_toe_joint > L_ball_joint). Nominarla L_Toe_IK.
A questo punto dovrebbe esserci una struttura simile alla figura 3

fig 3
figura 3 - struttura dell' IK

6 - Selezionare L_Ankle_IK e raggrupparla con se stessa (ctrl + g). Ora bisogna spostare il pivot del gruppo snappandolo al L_ball_joint (premere il tasto insert per agire sul pivot e v per il point-snap. Premendo v l'idicatore del pivot cambia forma e si aggancia al pivot del joint). Rinominare questo gruppo in L_ankle_pivot. Il pivot deve essere posizionato come in figura 4.
La ragione per cui abbiamo raggruppato la maniglia su sè stessa è proprio per il fatto di poter spostare il pivot in maniera indipendente e poter agire eventualmente sull'altro pivot in altri modi. Useremo questo metodo per altri elementi.

Immagine inserita
figura 4 - posizione del pivot di L_Ankle_pivot

7 - Selezionare la maniglia L_Toe_IK, raggrupparla su sè stessa e snappare il pivot su L_ball_joint. Rinominare il gruppo in L_Toe_pivot.

8 - Nell'Hypergraph la gerarchia dovrebbe essere come in figura 5

fig 5
figura 5 - gerarchia della struttura

9 - Selezionare (nell'Hypergraph o nell'Outliner) nell'ordine: L_Ball_IK, L_ankle_pivot e L_toe_pivot. Raggrupparli e nominare il gruppo L_heel_pivot. Snappare il pivot di L_heel_pivot a L_heel_joint. Raggruppare L_heel_pivot su sè stesso e snappare il pivot al L_toe_joint. Nominare questo ultimo gruppo in L_Toe_Goup. Raggruppare ancora una volta L_Toe_Goup. Snappare il pivot a L_ball_joint. Nominare questo ultimo gruppo in L_Foot_Goup. La gerarchia nell'Hypergraph risulterà come in figura 6:

fig 6
figura 6 - gerarchia della struttura

10 - Ora bisogna creare un layer e inserirvi tutto ciò che è stato creato all'interno (joints e maniglie IK). Rendere invisibile il layer in modo da non selezionare accidentalmente gli elementi nei prossimi passaggi.

11 - Il prossimo step consiste nel creare il controllo visuale che l'animatore utilizzerà per animare la gamba ed il piede. Creare un cerchio NURBS (Create NURBS > Circle > option box, degrees su linear - ciò permette di avere l'interpolazione della curva a spigolo sui punti - e cliccare su Create)

12 - Usando lo snap alla griglia (shortcut x) muovere gli edit point (tasto RMB sul cerchio, hot-box > control vertex) per formare la freccia come da figura 7. Nominare la freccia in L_Foot_Control.

fig 7
figura 7 - Il controllo visuale del piede

13 - Rendere visibile il layer precedentemente creato e snappare il pivot del L_Foot_Control a L_ball_joint dopo aver scalato la freccia per adattarla alle dimensioni del piede.

14 - Congelare la freccia (modify > freeze transformations) in modo da restituirle coordinate neutrali e cancellare la history (edit > delete by type > history). Selezionare L_Foot_Group e collegarlo alla freccia (parent). Ora la freccia (L_Foot_Control) controlla il movimento di tutta la gamba.

15 - Selezionare tutte le maniglie IK e renderle invisibili (dispaly > hide > kinematiks > IK handles). Per animare non dovremo selezionarle, quindi è bene ridurre gli elementi visibili nella viewport.

16 - Con le IK handles ancora selezionate aprire il Channel Control (Window > General Editors > Channel Control) e disabilitare gli attibuti che non ci servono per l'aniamzione: muovere tutti i parametri (x, y e z) di translate, rotation, scale e visibility nella finestra non-keyable attributes come in figura 8

fig 8
figura 8 - Channel Control

17 - Selezionare L_Foot_Control e aprire il Channel Control. Rendere non-keyable gli attributi scale e visibility, dato che non dobbiamo animarli.

18 - Ora bisogna aggiungere al L_Foot_Control un attributo che ci peremetterà di manipolare correttamente la rotazione dei joins del nostro piede. Dal menu modify > add attribute.

19 - Nominare il nuovo attributo roll e settarne i valori: minimo -5; massimo 10; default 0, come da figura 9.

fig 9
figura 9 - Add Attribute

20 - Ora bisogna impostare la rotazione dei joints tramite driven key. Aprire la finestra Set Driven Key (Animate > Set Driven Key > Set > option box).

21 - Selezionare L_Foot_Control e caricarlo come driver. Selezionare l'attributo roll. L'attributo roll sarà il driver per la gerarchia di joints che determina la rotazione graduale del piede. Assicurarsi che il valore roll sia 0 nel channel box.

22 - Dall'Hypergraph (o dall'Outliner) selezionare L_Toe_Group, L_heel_pivot e L_ankle_pivot. Caricare questa selezione come driven nella finestra Set Driven Key. L'attributo roll guiderà questi attributi.

23 - Bisogna assicurarsi che gli assi degli elementi selezionati siano tutti orientati correttamente. Provare a ruotare in x dalla perspective viewport. Deve ruotare tutto sull'asse x. Annullare l'operazione (ctrl + z).

24 - Ora che siamo sicuri che i gruppi e i pivot hanno tutti l'asse x orientato correttamente possiamo impostare i driven keys.
Nella finestra Set Driven Key selezionare l'attributo rotate x di L_Toe_Group, L_heel_pivot e L_ankle_pivot e l'attributo roll del driver e impostare un key (tasto key). La finestra dovrebbe essere come in figura 10:

fig 10
figura 10 - Set Driven Key

25 - Selezionare L_Foot_Control e settare il valore di roll a -5 dal channel box.

26 - Selezionare L_heel_pivot e ruotare l'asse x di -30. Impostare un altro driven key (tasto key dalla finestra SDK). In tal modo possiamo ruotare il piede all'indietro (valore negativo di roll) e di conseguenza fare perno sul tallone come in figura 11.

fig 11
figura 11 - Rotazione dei joints

27 - Cambiare l'attributo roll in 5.

28 - Selezionare L_ankle_pivot e ruotarlo in x di 20. Impostare di nuovo un driven key (tasto key dalla finestra SDK). A questo punto della rotazione del piede (attributo roll), il piede si sta alzando, ma la punta (L_toe) non si è ancora staccata da terra. Più o meno come risulta in figura 12.

fig 12
figura 12 - Rotazione dei joints

29 - Impostare roll a 10.

30 - Selezionare L_Toe_Group e L_ankle_pivot e ruotare in x di circa 35 (come in figura 13). Di nuovo tasto key dalla finestra SDK. Ora si può notare che L_Toe_Rroup si alza prima che in precedenza. Impostare roll a 5. L_Toe_Group dovrebbe assumere un valore di circa 12/17 per la rotazione in x. Impostare tale attributo a 0 e impostare un altro driven key (tasto key dalla finestra SDK).

fig 13
figura 13 - Rotazione dei joints

La ragione per la quale si è usato questo insieme di driven keys è perchè in tal modo, in fase di animazione, abbiamo pochissimi oggetti da selezionare per animare piede e gamba con tutti gli attributi di controllo raggruppati in essi.

31 - Ora bisogna creare il controllo per la direzione del ginocchio (pole vector constraint alla maniglia IK dell'anca), in modo da poter controllare il corretto orientamento della gamba in direzione del piede.
Creare una curva NURBS dalla side viewport, conformandola in un triangolo come in figura 14. Nominarla L_Knee_Direction.

fig 14
figura 14 - Controllo per il Pole Vector Constrain

32 - Centrare il pivot del triangolo e snapparlo al joint del ginocchio. Successivamente spostarlo in avanti come in figura 15.

fig 15
figura 15 - Posizione del controllo

33 - Usando l'Outliner selezionare L_Knee_Direction e L_ankle_IK (la maniglia IK della caviglia che risulta nascosta). La selezione dell'Outliiner risulterà come in figura 16. Dal menu Animation, Constrain > Pole Vector.
Collegare (parent) L_Knee_Direction a L_Foot_Control.
Ora, ruotando il piend in dentro o in fuori, l'articolazione del ginocchio si orienta di conseguenza.

fig 16
figura 16 - Gerarchia selezionata nell'Outliner

34 - In aggiunta si possono limitare gli attributi di rotazione del piede (L_Foot_Control) per evitare che ruoti in maniera innaturale durante l'animazione tramite keyframes (attribute editor > limit information > Rotate) come in figura 17.

fig 17
figura 17 - Attribute Editor: limit information

Ora la gamba è pronta per essere animata:) Vengono usati pochi oggetti di controllo che agiscono su tutta la struttura.

Si può scaricare il file per Maya 5 da qui. Il file contiene il set up della gamba sinistra. L'ideale sarebbe completare questo tutorial strutturando i controlli anche per la gamba destra.

Ovviamente per il set-up complesso del piede questa non è l'unica strada (forse neanche la migliore). Ma sembra molto pratica e priva delle ridondanze che si possono trovare in altri sistemi (come l'inverse foot lock). Personalmente l'ho trovata flessibile e veloce da animare. Inoltre offre un ottimo controllo.
Ultimato il set up del piede bisogna procedere con il resto del corpo. Bisogna collegare il controllo del pole vector al resto del rig, creare il character etc. etc.
Come specificato all'inizio del tutorial non è stato curato l'orientamento degli assi dei joints, buona regola serbbe, prima di procedere al set-up dell'IK, orientare correttamente i local rotation axes (skeleton > orient joint > option box) in modo da evitare elementi di confusione durante il resto del set up dello scheletro completo.

Buona animazione a tutti!

Per commenti o altre info: tridimensionale@tin.it

:: KoolRider ::

---
Questo articolo è stato importato automaticamente dal forum il 31/lug/2014
Per vedere il post originale e/o i commenti sul forum prima di quella data clicca qui