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. 

Volto umano in realtà virtuale

Probabilmente, se non avessimo deciso di intraprendere la produzione di un progetto VR ambientato negli anni Sessanta e con resa realistica, non avremmo preso coscienza del ruolo dei capelli nella percezione dell’esperienza. Non solo in termini di qualità visiva (una chioma non realistica può rovinare qualsiasi volto magistralmente realizzato), ma proprio in riferimento alla narrazione ed al contesto storico dell’intera esperienza. 

La parola ‘semplificare’ è stata bandita nel nostro ufficio per un paio di settimane. Cosa sarebbe accaduto, se i nostri personaggi avessero ‘indossato’ un taglio di capelli appartenente ad un’altra epoca, o non sufficientemente credibile, o relativo ad un ceto sociale differente?
Volevamo che tutto rispettasse un unico principio: la credibilità.

Capelli umani per esperienza in realtà virtuale

Il risultato finale, pronto ed ottimizzato per la Realtà Virtuale

La creazione dei capelli nei motori di render off-line

Paradossalmente, creare capigliature verosimili non è così complesso all’interno dei motori di render off-line.

Essi sfruttano tool specifici, come il famosissimo XGen, per la creazione di geometrie complesse. Ciascun ‘filo’ viene modellato singolarmente, con un livello di precisione altissimo. Qualità, precisione e dettaglio hanno un unico, grande svantaggio: la performance.
Immaginate il numero di poligoni necessario per rappresentare tutti i vari movimenti del capello – le radici più gonfie, le lunghezze ondulate, le punte ricurve verso l’esterno – e poi moltiplicatelo per il numero di capelli presenti su una testa: otterrete una cifra vertiginosa.

Generalmente, ogni frame viene renderizzato in un tempo che varia da una manciata di minuti ad ore di tempo; è soltanto in un secondo momento che essi vengono montati in sequenze di 25 fps. Ne consegue che i motori di render off-line sono in grado di contenere, in scena, un numero verosimilmente illimitato di poligoni

Capelli realizzati con XGen

Capigliatura realizzata con XGen – uno dei nostri primi studi

Tutto ciò, in VR, è impensabile.

Le difficoltà nei motori di render in tempo reale

In VR il meccanismo principale è essenzialmente l’opposto: le geometrie devono essere ridotte all’osso – ‘ottimizzate‘, come diremmo in gergo – affinché il render di ciascun frame avvenga in tempo reale.
Il frame-rate necessario ad evitare il comparire quella fastidiosa nausea –  che in termini tecnici prende il nome di sickness – deve mantenersi costante sui 90fps. 

I videogiochi – che utilizzano motori di render on-line, come il VR – non realizzano i capelli in fase di modellazione, ma di texturing. Le geometrie complesse delle varie capigliature vengono così sostituite da piani appositamente posizionati, con conta poligonale già ottimizzata: ed è proprio su questi piani che vengono dipinti i capelli. 

Ciocche di capelli realizzati mediante piani

Ciocche di capelli realizzati mediante piani – Il nostro primo tentativo non andato a buon fine

I singoli capelli vengono dunque definiti mediante un’apposito canale di Alpha, realizzato contestualmente durante il texturing . Per chi non avesse un background tecnico, l’Alpha è una mappa che, mediante bianchi e neri, stabilisce quale porzione di un elemento andrà renderizzata: il bianco corrisponde alle zone visibili, il nero alle zone non visibili – dunque, non renderizzate. 

Questa tecnica consente facilmente di trasformare le punte quadrangolari dei piani in vere e proprie ciocche sfumate.

Abbiamo quindi perseguito questa strada, che ben conoscevamo per il nostro background, certi di riuscire in tempi brevi ad arrivare ad una conclusione funzionale.

Ma non è stato così: ci siamo ritrovati ad utilizzare un numero considerevole di piani per creare un effetto finale sufficientemente ‘pieno’ e vaporoso da essere credibile. 

Lasciando da parte il risultato visivo comunque non soddisfacente, la mole di poligoni in scena – oltre a gravare sulle prestazioni – dava luogo a fastidiosi fenomeni di z-figthing a causa dell’elevatissimo numero di mappe Alpha.

Esempio di z-fighting

Lo z-fighting è un fenomeno che interessa due o più oggetti con coordinate simili sull’asse Z. Il motore di render ha difficoltà nel distinguere l’oggetto in primo piano (da renderizzare ‘davanti’), da quello in secondo piano (da renderizzare sullo sfondo), determinando una sovrapposizione o uno sfarfallio. Immagine presa da Wikipedia.

Avevamo provato un workflow universale e consolidato. Eppure, non aveva funzionato. 

In fondo, avremmo potuto prevederlo. I characters dei normali videogiochi vengono sempre inquadrati mantenendo una certa distanza dal punto di osservazione – distanza che consente di semplificare le forme e confondere molti difetti. Chiaramente, questi principi decadono, nel momento in cui si vuole conferire al partecipante la possibilità di guardare il modello da tutte le angolazioni, nonché di avvicinarsi ed allontanarsi quanto più desidera. 

La nostra soluzione per creare i capelli in Realtà Virtuale

Abbiamo quindi deciso di utilizzare un approccio differente: utilizzare un volume unico e solido, che costituisse la ‘massa di base’ dei capelli, su cui poi aggiungere dei piani da destinare unicamente alle ciocche più esterne, flottanti, ed al micro-dettaglio in genere – come le sopracciglia e le ciglia.

Il volume di base è stato texturizzato disegnando dei capelli che fossero credibili, così da creare un pattern di fondo che – visto attraverso le trasparenze dei piani soprastanti – sembrasse sfumato in maniera naturale.

Base color del volume principale

Base color del volume principale

Abbiamo quindi ultimato texturizzando anche i piani delle ciocche flottanti, seguendo il consueto workflow: e quello che segue è il nostro risultato VR, pronto per essere importato in engine.

Capelli umani per un progetto in realtà virtuale

Front – Side – Back del risultato finale

 

 

Articoli Correlati

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 il 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 il da Yuri Giordani