Vajont VR devBlog

Articoli recenti


  • Vajont è disponibile su Oculus Store
  • Vajont al Venice VR Expanded, tutte le modalità di fruizione
  • Manca poco al Venice VR Expanded: a che punto siamo?
  • Graphic User Interface per esperienze in Realtà Virtuale
  • Lighting per VR

Mostra tutti gli articoli


  • Character creation 6
  • Environment development 4
  • Extras 6
  • Interaction design 1
  • Sound / Music design 1
  • Italiano
  • English

Copyright © Artheria srls 2018-2020

All rights reserved - artheria.it

Vajont VR devBlog

Articoli Correlati

Filtra per Categoria

  • Extras(6)
  • Character creation(6)
  • Environment development(4)
  • Sound / Music design(1)
  • Interaction design(1)

Filtra per Autore

  • Alessio Di Lorito (2)
  • Iolanda Di Bonaventura (2)
  • Irene Zappon (6)
  • Massimiliano Borghesi (2)
  • Saverio Trapasso (12)
  • Thomas Iuliano (6)
  • Yuri Giordani (6)
RItorna agli Ultimi Articoli
Character creation

Il Rigging dei character per la Realtà Virtuale

Possiamo considerare il rig dei characters come l’anello che congiunge la fase di modellazione con quella dell’animazione. Il rig, difatti, è la costruzione di una...

Pubblicato on 6th Luglio 2020 da Saverio Trapasso

Environment development

La modellazione dell’environment – Scenografia e props

Per la realizzazione della scenografia di Vajont ho dovuto tenere a mente tre fondamentali richieste: la dimensione della stanza, e la conseguente disposizione degli oggetti...

Pubblicato on 26th Giugno 2020 da Yuri Giordani

Character creation

Texturing dei characters – Abiti ed accessori

Come abbiamo già visto nell’articolo dedicato al texturing della pelle e dei dettagli del viso, il texturing consente di raccontare parte della storia senza scomodare gli...

Pubblicato on 22nd Giugno 2020 da Irene Zappon

Character creation

La modellazione dei vestiti

La maggior parte delle fasi di produzione di un progetto 3D implica un momento di ricerca e studio delle references: i character artists ricercano immagini che utilizzeranno...

Pubblicato on 17th Giugno 2020 da Yuri Giordani

Character creation

Texturing dei characters – Pelle e dettagli del viso

Quanta storia può raccontare un dettaglio? Credo che il mio lavoro possa essere riassunto in quest’unica domanda. Il texturing non è solamente l’applicazione di colore ad un...

Pubblicato on 12th Giugno 2020 da Irene Zappon

Character creation

La creazione dei capelli in VR

Quanto sono importanti i capelli per definire l’età di un personaggio, la cultura e l’epoca d’appartenenza? C’è una sola risposta a queste domande: tantissimo.  Probabilmente, se...

Pubblicato on 4th Giugno 2020 da Saverio Trapasso

Environment development

Concept art – La progettazione visiva degli interni

Posso asserire che i concept di Vajont sono cresciuti di pari passo con la maturazione dell’idea generale dell’opera stessa. Poiché i character del pezzo sono ispirati a...

Pubblicato on 1st Giugno 2020 da Thomas Iuliano

Extras

Come si realizza un’esperienza interattiva in Realtà Virtuale

Probabilmente molti di voi già conosceranno qual è la pipe-line di produzione di un’esperienza VR – o un videogioco in sé – ma riteniamo comunque importante mettere...

Pubblicato on 2nd Maggio 2020 da Saverio Trapasso

Character creation

La modellazione dei volti

Il focus della nostra esperienza VR è decisamente la relazione umana.  Il tempo, in Vajont, trascorre in presenza di personaggi che, per tutta la durata del pezzo, tentano di...

Pubblicato on 16th Aprile 2020 da Yuri Giordani

Extras

Qualche parola sulla nascita di questo progetto (e di questo blog)

Ad oggi è trascorso circa un anno e mezzo dalla data in cui Artheria è stata fondata.  Ho sempre trovato un pizzico di difficoltà nello spiegare all’esterno di cosa ci occupiamo;...

Pubblicato on 15th Aprile 2020 da Saverio Trapasso

Visualizza gli Ultimi Articoli
Character creation

Il Rigging dei character per la Realtà Virtuale


Saverio Trapasso
CEO & Co-founder of Artheria
Il Rigging dei character per la Realtà...
Pubblicato on 6th Luglio 2020 da Saverio Trapasso

Possiamo considerare il rig dei characters come l’anello che congiunge la fase di modellazione con quella dell’animazione. Il rig, difatti, è la costruzione di una specifica ‘ossatura’ – bones – all’interno della mesh dell’oggetto 3d, che consente di gestirne le deformazioni.

Nonostante quest’introduzione faccia apparire il rigging come qualcosa di semplice e meccanico, beh, non lo è: un rigger richiede di conoscere molta tecnica per gestire tutte le possibili deformazioni a cui un asset 3D può essere sottoposto, oltre a necessitare di un occhio artistico per rendere quanto più fluide e naturali le deformazioni stesse.

Un esempio di deformazione

Lasciatemi essere più chiaro con un esempio: la maggior parte di noi è dotato di un arto composto da mano, avambraccio, braccio e spalla. La semplice azione di ‘piegare il braccio’ è consentita dalla presenza di una cerniera – nel nostro caso, il gomito – e da muscoli agonisti ed antagonisti, che si contraggono e si rilasciano. In altre parole, si deformano.

Ed è qui che interviene l’occhio artistico del rigger: comprendere la modalità e le deformazioni a cui sono sottoposti gli elementi in scena è il primo passo verso il realismo.

Rigging per VR

Come avrete già avuto modo di leggere qui e là in questo blog, esiste una differenza sostanziale tra quanto viene prodotto – in termini di modellazione, texturing e, di conseguenza, anche rigging – per i motori di render off-line e quanto viene prodotto per i motori di render online.

Ho già affrontato le differenze sostanziali di queste due tipologie di motori di render nell’articolo dedicato alla creazione dei capelli per un progetto VR, ma per maggiore chiarezza le accennerò di seguito.

I motori di render off-line (quelli utilizzati per il cinema e per i cartoni animati, per intenderci) renderizzano ogni frame in un tempo che può variare da una manciata di minuti a, verosimilmente, ore. I frame ottenuti vengono soltanto successivamente montati in sequenze di 25 fps.
Trattandosi di una tipologia di destinazione d’uso che privilegia la qualità alla performance, oltre ad avere in scena degli oggetti 3D composti da geometrie molto dense e complesse, hanno a disposizione molti strumenti di deformazione specifica per la gestione dei vari movimenti: lattice, cluster, tension, wrap, twist, jiggle sono tutti deformatori.

I motori di render online – utilizzati prevalentemente per videogames e Realtà Virtuale – funzionano sostanzialmente in modo opposto: come è intuibile dal nome, renderizzano ogni frame in tempo reale, privilegiando la performance rispetto alla qualità visiva.
Ne consegue la necessità di ottimizzare il flusso dati per evitare un dropdown del framerate: geometrie e textures molto leggere procedono di pari passo ad un rig semplificato, sprovvisto di strumenti di deformazione specifica.

E qui viene il bello. Come fare ad ottenere un rig di buona qualità – come richiesto da un progetto come Vajont – pur dovendo ricorrere ad un sistema semplificato?

Il workflow del rigging

1 – Costruire l’ossatura

Poiché la deformazione della mesh avviene seguendo quella che è la topologia del modello 3D – ovvero l’organizzazione e la distribuzione dei poligoni che compongono l’oggetto – il primo passaggio in assoluto è assicurarsi che tutto sia corretto ed ottimizzato. 

Successivamente, si passa al posizionamento delle ossa all’interno della mesh. Ogni osso virtuale – bone – dispone di un joint, una sorta di pivot  che indica le diverse direzioni in cui l’osso stesso può essere ruotato.

joints bones maya rigging

Joints e bones. Immagine tratta dal sito di Autodesk Maya a solo scopo didattico.

I joint vengono posizionati sulle giunture del corpo: alcuni esempi sono il polso, il gomito, la spalla, il collo, il ginocchio ecc. La rotazione dei joint può essere limitata solamente ad alcuni assi e per un certo numero di gradi: ad esempio, la rotazione della testa avviene unicamente sugli assi destra-sinistra, alto-basso con degli angoli di rotazione che difficilmente superano i 180°.

posizionamento dei joint interni a corpo umano rigging 3d

A tal proposito, è importante che ogni joint sia correttamente orientato, per avere un processo che sia quanto più possibile standardizzato.

rigging 3d orientamento dei joint corpo umano

Facciamo un piccolo passo indietro. Piegate il vostro gomito fino a disegnare un angolo di circa 90 gradi tra braccio ed avambraccio. Ci siete? Bene. Cominciate a ruotare il polso, guardando bene quello che accade alla pelle del vostro avambraccio. Cosa potete notare?

Vi do un piccolo indizio: la parte di avambraccio più vicina al polso ruota di un’ampiezza maggiore rispetto a quella più vicina al gomito. Questo movimento è il risultato dello slittamento di radio ed ulna, le due ossa dell’avambraccio.

Come è stato possibile trasferire questo effetto sul nostro modello 3D?
In realtà, il processo è più semplice di quello che appare.

rigging 3d movimento mano rotazione polso e braccio realtà virtuale

Tra gomito e polso ho inserito tre diversi joint, applicando ad essi funzioni matematiche tali da ricalcare la rotazione che avviene nella realtà. Questo piccolo trucco mi ha consentito di ricreare una rotazione che avvenisse in modo fluido e graduale.

2 – Aggiungere i controlli

Non dobbiamo dimenticare che il rig è fatto per essere utilizzato da un animatore. Di conseguenza, non dobbiamo dimenticare l’importanza dell’usabilità! Non possiamo chiedere all’animatore di muovere ogni singolo osso per realizzare l’animazione, in quanto i tempi di realizzazione triplicherebbero, senza tra l’altro avere garanzia di un risultato godibile.

Bisogna quindi aggiungere i controlli.

rigging controlli rotazioni corpo umano 3d

Sostanzialmente, i controlli sono delle shape a cui vengono agganciati – tramite dei constrain – dei sistemi di ossa e joint. I controlli consentono comodamente di gestire rotazione e traslazione di ciascun gruppo di ossa a cui si riferiscono.

Per quei gruppi di ossa e joint troppo ravvicinati, in cui i controlli sul modello rischierebbero di sovrapporsi – come avviene per le falangi delle dita – vengono costruiti dei pannelli esterni, sempre nel rispetto dell’usabilità.

rigging 3d controlli per le mani

3 – Skin-binding e pesatura

È adesso il momento di collegare la mesh 3D alle ossa posizionate al suo interno. Questo processo prende il nome di skin-binding: una volta che viene agganciata la ‘pelle’ ai sistemi di ossa e joint, al movimento dell’osso coincide il movimento di una parte della geometria.

Si passa dunque alla fase di pesatura, che consente di definire con precisione quali sono le aree di influenza di ciascun joint, sulla mesh 3D.

pesatura rigging 3d per realtà virtuale su mesh

La pesatura viene proprio ‘dipinta’ sulla mesh attraverso un apposito pennello. Come potete vedere nell’immagine, le zone bianche definiscono le aree di influenza dei joint; più ci si allontana dal joint, più l’area di influenza sfuma. Per meglio aiutarci a visualizzare questo passaggio, possiamo pensare che muovere la spalla avrà comunque una minima influenza sul petto e sul braccio.

Avete mosso anche voi la spalla per capire come influenza il resto del corpo?
Bene, in questo modo vi sarà ancora più chiara l’importanza della pesatura.

4 – Blendshapes

Possiamo pensare ai blendshapes come differenti versioni di un unico modello: questa è una delle possibili tecniche utilizzate per il rig facciale.

Ciascun blendshape corrisponde ad una diversa espressione dello stesso viso: avremo dunque una mesh 3D differente per rabbia, gioia, tristezza…
Includendo la diversa posizione delle labbra e delle guance per la pronuncia di ogni singolo fonema, i personaggi di Vajont hanno 68 blendshape facciali l’uno, ricalcando l’espressività propria degli attori che hanno loro dato voce e motion-capture per avere un look finale ancora più realistico.

blendshapes 3d per volto umano in realtà virtuale

Un gruppo di blenshapes realizzato per il character del marito. È possibile vedere le diverse posizioni della bocca.

I blenshapes vengono dunque integrati nel rig. Nel nostro caso specifico, abbiamo scritto un sistema customizzato, talmente vasto da non rientrare all’interno di un unico screenshot!

Anche in questo caso, viene realizzato un pannello di controllo per consentire all’animatore un utilizzo più agevole del sistema.

5 – Export per Unity

Il personaggio così riggato viene dunque consegnato all’animatore. Quest’ultimo, attraverso un sistema di chiavi, registra la posizione di ogni controllo nel tempo. L’animazione viene quindi bakata – fissata, memorizzata – direttamente sulle ossa, consentendo di importare all’interno di Unity un file leggero ed ottimizzato, sprovvisto di controlli e di ogni ulteriore dato.

Per i personaggi la cui animazione non è realizzata dall’animatore, ma gestita dinamicamente dal sistema, il comando bake deformation to skin weight consente di trasferire le informazioni relative alla deformazione della mesh all’interno del file di pesatura. In questo modo, muovendo l’osso in Unity si muoverà la mesh.

Saverio Trapasso
CEO & Co-founder of Artheria

Pipeline:

  • Share Article:
  • Twitter
  • Facebook
  • Pinterest
  • LinkedIn
  • Reddit
Mostra Commenti (0)

Comments

Cancel Reply

Devi essere connesso per inviare un commento.

Articoli Correlati

Character creation

La creazione dei capelli in VR

Quanto sono importanti i capelli per definire l’età di un personaggio, la cultura e l’epoca d’appartenenza? C’è una sola risposta a queste domande: tantissimo.  Probabilmente, se...

Pubblicato il 4th Giugno 2020 da Saverio Trapasso
Character creation

La modellazione dei vestiti

La maggior parte delle fasi di produzione di un progetto 3D implica un momento di ricerca e studio delle references: i character artists ricercano immagini che utilizzeranno...

Pubblicato il 17th Giugno 2020 da Yuri Giordani