Rigging
Rigging con Mixamo
Dal momento che volevamo ottenere delle animazioni abbastanza realistiche per i personaggi e considerando che si tratta di movimenti molto diversi tra loro, da quelli più acrobatici della parte iniziale a quelli più coreografici della sfilata, ci siamo affidati alle animazioni di Mixamo.
Mixamo è una piattaforma online, di proprietà di Adobe, che mette gratuitamente a disposizione svariate animazioni create con l’utilizzo di motion capture e vari modelli di personaggi. Oltre a ciò, è possibile importare un personaggio creato dall’utente, riggarlo automaticamente e applicare ad esso le animazioni. Da quando Adobe è entrata a far parte del Blender Development Found è stato realizzato anche un add-on per Blender che facilità l’integrazione con Mixamo. Dopo aver creato la mesh della ladra, questa è stata importata e riggata in Mixamo e lo scheletro risultante è stato usato per esportare tutte le altre animazioni in formanto .FBX.
Mixamo permette di esportare anche la mesh, ma a noi serviva utilizzare la mesh preesistente in Blender, dotata di Shape-keys per il controllo delle sopracciglia e della faccia. Grazie all’add-on apposito è stato possibile creare automaticamente un Rig di controllo e tutti i vari Constraints che permettono un movimento controllato delle articolazioni.
In Mixamo non è possibile realizzare un Rig per i movimenti del viso, quindi abbiamo dovuto aggiungerlo. Ne abbiamo creati due - uno per le palpebre e uno per gli occhi (vedi sezione corrispondente nella stessa pagina). Questi sono poi stati collegati al Rig della testa, andando a completare così la fase di Rigging.
Le animazioni, scaricate per i movimenti della ladra e del poliziotto e per le pose dei manichini, sono state combinate tra di loro e modificate.
Ladra
Fast Run
Running Jump
Sad Walk
Catwalk Idle To Walk Forward
Catwalk Sequence 02
Catwalk Walk Forward
Catwalk Walk Stop
Female Start Walking
Poliziotto
Orc Walk
Start Walking
Stop Walking
Turn right
Quick Turn
Manichini
3x Female Standing Pose
Aggiustamenti
Le animazioni di Mixamo creano un keyframe con interpolazione lineare ad ogni frame, per ogni bone di controllo. Vengono inseriti keyframe anche per i bone che non subiscono variazioni, per questo le animazioni risultano relativamente pesanti una volta applicate al Rig.
Per semplificarle notevolmente senza perdere qualità, è possibile decimare il numero di keyframe. Dal Graph Editor, con Decimating (Ratio) abbiamo scelto la percentuale di influenza (50% sarà circa un keyframe ogni 2). In alcuni casi siamo riusciti a decimare fino all’80% senza subire nessun cambiamento nella qualità.
Ulteriori aggiustamenti alle animazioni sono stati necessari per caratterizzare le azioni dei personaggi - per esempio, da Sad Walk a Mani Dietro la schiena - oppure per stabilizzare vari punti critici come l’appoggio dei piedi o le transizioni tra diverse animazioni. Gli aggiustamenti sono stati realizzati ora a mano – modificando il numero, la posizione o i valori dei keyframe – ora con l’add-on Anim-aide. Questo add-on consente, per esempio, di riposizionare nello spazio un’intera animazione, spostando un arto del corpo.
Animazioni
NLA Editor
Per animare e combinare tra di loro le animazioni di Mixamo abbiamo scelto di lavorare con il Non-Linear Animation editor (NLA), che tramite le Azioni consente di concatenare e/o sovrapporre sequenze di movimenti con facilità. In questo modo abbiamo potuto controllare separatamente, per esempio, movimenti delle palpebre, movimenti degli occhi, movimenti del corpo o di singoli arti.
Parallelamente al NLA Editor, l’utilizzo di Shape keys ci ha consentito di correggere alcune deformazioni poco realistiche – come, per esempio, i glutei della ladra in corsa – sia per il corpo sia per gli indumenti parentati.
Nell’animare i personaggi e gli indumenti/oggetti ad esso parentati, abbiamo cercato di seguire, dove necessario, i 12 principi dell’animazione. In particolare, nell’avanzata del poliziotto attraverso la città, per le rotazioni del busto e i movimenti della torcia abbiamo preso in considerazione i principi di anticipation, arc e follow through. Quest’ultimo principio è stato applicato anche per rendere plausibili i movimenti dello zaino sulle spalle della ladra, in corsa e nel salto tra i due edifici.
Gestione dei File
Dal punto di vista organizzativo, per alleggerire i file e facilitare la modifica, si è deciso di tenere separati personaggi e ambienti. I file con i personaggi animati sono linkati all’interno dei file con gli ambienti.
Abiti non simulati
Gli indumenti “ladreschi” della ladra sono stati gestiti come elementi solidi e non sono stati simulati. Per fare in modo che si deformassero insieme al corpo in modo ottimale, sono stati testati diversi tipi di Parenting. Dopo una serie di tentativi fallimentari, si è scelto di parentare con Automatic Weights e fare gli aggiustamenti necessari – ad esempio per maniche, collo, vita e glutei - tramite Shape keys.
Per lo zaino, invece, abbiamo creato un osso aggiuntivo parallelo alla spina dorsale, che è stato animato per simulare i rimbalzi dello zaino durante le animazioni di corsa e salto. Gli spallacci erano stati inizialmente parentati al corpo, ma questo creava problemi sia in termini di deformazione sia in termini di contatto tra zaino e spallaccio, che non risultava costante. Perciò, abbiamo preferito parentarli allo stesso osso dello zaino e controllarne la deformazione tramite Shape keys.
Espressioni Facciali
Volendo raccontare una storia che ha come fulcro una figura umana, abbiamo capito che era necessario rendere evidenti le emozioni dei personaggi. Per questa ragione abbiamo lavorato sul movimento di occhi e palpebre e sulle espressioni facciali.
Espressioni Facciali
Ai fini di questo corto non avevamo bisogno di un’espressività troppo complessa, perciò, abbiamo lavorato con le Shape keys. In questo modo siamo riusciti a ottenere facilmente, tramite Proportional Editing, i principali movimenti facciali di sopracciglia, guance e bocca.
Le Shape keys realizzate con X-Mirror attivo sono poi state duplicate e divise in lato destro e sinistro grazie all’assegnazione di un Vertex Group.
Rig palpebre e occhi
Per animare le palpebre avevamo la possibilità di lavorare con delle Shape keys oppure con un’armatura. Abbiamo scelto l’armatura perché, grazie al movimento rotatorio delle ossa, permette alle palpebre di seguire perfettamente la curvatura degli occhi, a differenza delle Shape keys che consentono solo una deformazione di tipo lineare.
L’armatura di ogni occhio è caratterizzata da un osso principale al centro del bulbo da cui si diparte un fascio di ossa, una per ogni segmento della cavità oculare. Correggendo l’asse di rotazione ed eseguendo manualmente il Weight Paint, abbiamo definito il movimento ottimale.
Al gruppo-ossa di ogni palpebra è associato un controller esterno la cui posizione lungo Z guida la rotazione attorno a Z delle ossa. Per ottenere questo risultato abbiamo aggiunto dei Driver: una serie di Custom Properties associate al Driver consentono di differenziare l’influenza del controller sulla rotazione di ogni osso e ottenere così un movimento più realistico. Il risultato finale consente di muovere separatamente ogni palpebra e ha permesso di raggiungere un buon livello di espressività facciale.
Per gli occhi sono state aggiunte due ossa, una per ogni bulbo. Un controller esterno, collegato a entrambe le ossa, consente il movimento coordinato degli occhi.