Implementazione del nuovo workflow
7. Animazione della lingua
12.2 Risultati ottenuti
12.2.3 Retargeting dei dati dell’animazione facciale
Relativamente alla corrispondenza tra l’animazione catturata con i sistemi di motion capture markerless e quella trasferita sul personaggio, ne abbiamo già discusso nella sottosezione12.2.2 e verrà approfondita nella sottosezione12.2.4. Di seguito ci limiteremo a descrivere la fase di retargeting evidenziando le principali differenze tra il “vecchio” metodo e il nuovo workflow che prevede l’utilizzo dell’add-on ReveRig.
Le motivazioni che hanno portato alla nascita dell’Add-On ReveRig sono ampiamente de-scritte nel capitolo11. Tuttavia, è bene ricordare che una delle principali funzionalità introdotte grazie a ReveRig è proprio la possibilità di effettuare il retargeting dell’animazione facciale in modo semplice e veloce. Come descritto dettagliatamente nel capitolo11.4l’operazione, grazie all’add-on, è completamente automatizzata e il suo completamento può richiedere da qualche secondo fino a un paio di minuti in base al numero di keyframe da trasferire e all’hardware utilizzato. Inoltre, all’interno del processo di lavoro, è stata introdotta la possibilità di gestire anche l’animazione della lingua, offrendo così all’animatore maggiore spazio di manovra.
ReveRig, grazie alla creazione del rig facciale, ha introdotto la possibilità di trasferire i dati dell’animazione sul rig e non direttamente sulle blendshape del personaggio. Questo, come discusso nel capitolo11, consente da un lato di trasferire l’animazione sul proprio personaggio anche laddove quest’ultimo sia stato inserito nella scena tramite Link (condizione fondamentale per la produzione di Reverie Dawnfall); dall’altro lato offre anche la possibilità di utilizzare un’interfaccia intuitiva per gestire e controllare il risultato finale dell’animazione. Ricordiamo che l’introduzione del rig facciale è nata principalmente dall’esigenza da parte di Robin Studio di poter applicare l’animazione facciale anche a personaggi inseriti nella scena tramite Link.
Un’altra funzionalità, aggiunta dopo aver iniziato a distribuire online l’add-on (vedi capitolo 11.6), riguarda la possibilità di tradurre in modo automatico e istantaneo i nomi delle blendshape del modello creato con Face Cap sul rig del nostro personaggio. Prima di questa funzionalità, come vedremo meglio in seguito, era necessario rinominare manualmente tutti i nomi delle 52 blendshape presenti nel modello di Face Cap. Tale operazione doveva essere ripetuta per ogni take catturata, rendendo l’intero processo lungo e macchinoso.
Test ed analisi dei dati
Il confronto con il “vecchio” metodo adottato non può essere diretto in quanto per la rea-lizzazione del trailer, non essendo le animazioni facciali preponderanti, i colleghi non hanno sviluppato un vero e proprio workflow, inoltre per risolvere il limite dettato dall’utilizzo di una gestione dei file basata sul linking, avevano trovato un sistema rudimentale per trasferire l’ani-mazione senza però poterla modificare. Pertanto, il confronto avverrà maggiormente basandosi su quello che è il processo di lavoro “standard” per l’animazione facciale in Blender. Ovvero, per il processo di confronto si ipotizza di non utilizzare un organizzazione basata sull’utilizzo dei link, quindi l’animazione può essere automaticamente trasferita sulle blendshape del personaggio.
In questo modo è possibile confrontare le tempistiche richieste dai diversi processi analizzati, riferendosi unicamente alla fase di retargeting e a quelle strettamente collegate ad essa. Inoltre, siccome la possibilità di animare lingua e pupille è stata introdotta con ReveRig e non era prevista precedentemente, i test effettuati si baseranno unicamente sulle 52 blednshape definite da ARKit, non tenendo quindi in considerazione tutto ciò che riguarda l’animazione di lingua e pupille.
Di seguito si riportano le informazioni principali che caratterizzano i test effettuati:
12.2 – Risultati ottenuti
• Utilizzo di un personaggio 3D dotato di una mesh per il volto (denti, lingua, ciglia e sopracciglia incluse) e di una mesh per gli occhi. La prima dotata delle 52 shape key definite da ARKit, la seconda dotata delle sole 8 shape key definite da ARKit utili al movimento degli occhi (vedi appendiceC);
• Utilizzo di una take di mocap facciale catturata con l’applicazione Face Cap di durata 18 secondi, con un totale di 434 frame per ciascuna delle 52 blendshape (22568 keyframe totali). Su Blender si è utilizzata una timeline di lavoro a 24 fps;
• Tutti i test sono stati effettuati sul medesimo PC, in questo modo si è cercato di eliminare dalle variabili, per quanto possibile, la qualità dell’hardware utilizzato;
• Per tutti e tre i processi di lavoro descritti di seguito, sono stati effettuati almeno cinque test separati per ciascuna delle fasi previste e cinque test consecutivi per l’intero processo. I dati presentati in tabella12.1riportano la media approssimata delle tempistiche registrate.
Per confrontare i dati sono stati presi in considerazione tre processi di lavoro differenti. Due processi di lavoro utilizzati come base per il confronto; il primo ipotizzando l’utilizzo dei dati catturati con l’applicazione Face Cap e il secondo ipotizzando l’utilizzo di dati catturati con l’applicazione Face Capture di Rokoko. Infine, il processo di lavoro relativo all’utilizzo dell’add-on ReveRig, introdotto grazie a questo lavoro di tesi. Di seguito se ne descrive brevemente la struttura.
1. Processo di lavoro, basato sull’applicazione Face Cap di Bannaflak, utilizzato come con-fronto:
• Fase 1: ridenominazione delle blendshape presenti nel modello generato da Face Cap.
Le blendshape sono in totale 52 ma solo 36 di esse necessitano di essere rinominate.
(es. con Face Cap si ha: eyeLookIn_L e deve essere rinominato in: eyeLookInLeft);
• Fase 2: nel caso in cui le blendshape del nostro personaggio fossero prive di keyframe, è necessario inserirne almeno uno per ciascuna shape key manualmente.
• Fase 3: trasferimento dell’animazione dal modello catturato con l’applicazione Face Cap sulle blendshape del nostro personaggio (operazione copia/incolla).
2. Il processo di lavoro, basato sull’applicazione Face Capture di Rokoko, utilizzato come confronto è composto unicamente dalla Fase 2 e dalle Fase 3 del processo sopra descritto, in quanto il modello generato presenta già le blendshape nominate secondo quanto previsto da ARKit.
3. Processo di lavoro basato sull’utilizzo dell’add-on ReveRig. Per i test si è utilizzata l’ultima versione dell’Add-On, quindi dotata della funzionalità per rinominare automaticamente le blendshape create dall’applicazione Face Cap direttamente all’interno della fase di retargeting:
• Fase 1: selezione dell’oggetto (mesh) da utilizzare come sorgente e dell’oggetto (arma-tura) da utilizzare come target;
• Fase 2: avvio della fase di retargeting cliccando sull’apposito bottone offerto dall’in-terfaccia del pannello Animation Retargeting di ReveRig.
Tabella 12.1: Tempistiche medie relative ad una sola operazione di retargeting, ottenute per ciascun processo.
Fase Processo 1 (Face Cap) Processo 2 (Face Capture) Processo 3 (ReveRig)
Fase 1 ∼1’ 48” / ∼4”
Fase 2 ∼38” ∼38” ∼18”
Fase 3 ∼14” ∼14” /
Totale ∼2’ 40” ∼52” ∼22”
Dai dati riportati in tabella12.1, risulta subito evidente l’impatto che la fase di ridenominazione di tutte le blendshape ha sull’intero processo di retargeting basato sull’applicazione Face Cap.
Infatti, il processo che prevede l’utilizzo di Face Cap richiede molto più tempo rispetto a quanto previsto dall’utilizzo di ReveRig e dal processo basato sull’applicazione Face Capture di Rokoko.
Inoltre, si può notare come l’operazione di trasferimento dei dati relativi all’animazione facciale richieda tempi differenti tra i vecchi processi (Fase 3) e quello basato su ReveRig (Fase 2). In particolare, per la take di mocap utilizzata come base per i test, si può notare che ReveRig impiega più secondi per portare a termine l’operazione (18 secondi totali con 4 secondi di differenza con gli altri due processi testati). Da questi dati emerge che l’algoritmo implementato all’interno di ReveRig, sebbene offra ottime prestazioni, potrebbe non essere quello ottimale. Pertanto questo campo potrebbe essere oggetto di future ricerche e di possibili sviluppi, in modo da ridurre maggiormente il tempo richiesto per l’operazione di retargeting.
Detto questo, dai dati relativi ad un unico trasferimento dell’animazione diventa difficile comprendere la portata più ad ampio raggio. Bisogna precisare che da ora in poi verranno fatte ipotesi, assunzioni e approssimazioni che potrebbero influire in modo incisivo sui dati conclusivi. Sebbene tutte le ipotesi proposte siano dettate da basi motivate e da studi approfonditi, potrebbero comunque essere soggette ad errore. Pertanto si sconsiglia al lettore di interpretare i dati proposti come definitivi ed immutabili. Lo scopo perseguito, invece, è quello di fornire un’indicazione generale dei risultati ottenibili, per la sola fase di retargeting, con l’utilizzo di ReveRig all’interno dalla produzione della serie animata Reveire Dawnfall.
Analizzando la sceneggiatura dell’episodio pilota della serie animata (S01 E00), possono essere estratti i seguenti dati:
• Durata prevista: 20 minuti
• Numero di scene: 12
• Numero di personaggi principali: 8
• Numero di personaggi secondari o comparse: almeno 6
• Numero totale di personaggi per i quali si prevede l’applicazione del nuovo processo di animazione facciale proposto: 14 (o più)
• Numero stimato totale di take di dati acquisiti con sistemi di motion capture: 165
• Numero di volte per la quale è previsto inserire almeno un keyframe iniziale per ogni shape key delle mesh del personaggio: 48
Utilizzando i dati presentati in tabella12.1come tempistiche per una singola take di dati si ottiene quanto riportato in tabella12.2. Dai dati emerge che il rapporto tra il tempo necessario per terminare le operazioni di retargeting con l’ausilio di ReveRig e quello necessario utilizzando un approccio standard basato sull’utilizzo dell’applicazione Face Cap è di circa 1:6 in favore di ReveRig. Inoltre, è possibile notare che i dati ottenuti dai test effettuati con il processo basato
12.2 – Risultati ottenuti
sull’utilizzo dell’applicazione Face Capture sono molto simili a quelli ottenuti con ReveRig, pertanto, nel proseguimento faremo unicamente riferimento ai dati relativi al processo 1 (Face Cap) e al processo 3 (ReveRig).
Tabella 12.2: Tempistiche, relative alle operazioni di retargeting, richieste per la produzione dell’episodio pilota di Reverie Dawnfall
Fase Processo 1 (Face Cap) Processo 2 (Face Capture) Processo 3 (ReveRig)
Fase 1 4h 57’ / 11’
Fase 2 30’ 24” 30’ 24” 49’ 30”
Fase 3 38’ 30” 38’ 30” /
Totale 6h 5’ 54” 1h 8’ 54” 1h 0’ 30”
I dati riportati nella tabella12.2fanno riferimento al tempo stimato per la fase di retargeting per il solo episodio pilota della serie animata. Tuttavia, è possibile spingerci oltre e tentare di dare una stima di quanto si potrebbe risparmiare con l’utilizzo di ReveRig in confronto con un processo “standard” basato sull’utilizzo di Face Cap. Come prima, anche in questo caso le ipotesi e le approssimazioni effettuate sono molte e decisamente influenti sul risultato finale, tuttavia si ritiene siano utili per poter fornire una prospettiva generale sull’intera realizzazione della serie animata. Si è comunque consapevoli che le ipotesi effettuate potrebbero rivelarsi imprecise e che le condizioni di partenza potrebbero essere soggette a modifiche nel futuro.
Ipotizzando che i dati raccolti dall’analisi della sceneggiatura dell’episodio pilota della serie, siano applicabili anche a tutti i successivi episodi, allora è possibile fare delle assunzioni su quanto l’utilizzo dell’operazione di retargeting offerta da ReveRig potrebbe avere ripercussioni sull’intera produzione di Reverie Dawnfall.
I dati mostrati nella tabella12.3sono ottenuti partendo dalle seguenti ipotesi e condizioni di partenza:
• La serie animata Reverie Dawnfall è composta da 3 stagioni da 10 episodi ciascuna (30 episodi totali);
• Ogni episodio ha la durata di 20 minuti circa (10 ore di prodotto totali);
• Si ipotizza di poter applicare a ciascuno dei 30 episodi della serie le informazioni estratte dall’episodio pilota (vedi pagina172).
• Come confronto per il processo che prevede l’utilizzo di ReveRig, si ipotizza che tutte le take di animazione facciale siano catturate con l’applicazione Face Cap (l’opzione che in tabella12.2ha comportato la tempistica più alta).
• Si ipotizza che al processo di animazione facciale ci lavori un unico animatore con 8 ore lavorative giornaliere, 5 giorni a settimana.
Tabella 12.3: Tempistiche, relative alle operazioni di retargeting, previste per l’intera produzione di Reverie Dawnfall Unità di misura Processo 1(Face Cap) Processo 3 (ReveRig)
Ore totali 182h 57’ 30h 15’
Giorni lavorativi 22d 6h 57’ 3d 6h 15’
Settimane lavorative ∼4sett 3d ∼4d
Con tutti i limiti sopra specificati, il risultato ottenuto e presentato in tabella12.3, mostra che grazie a ReveRig, per l’intera produzione della serie animata Reverie Dawnfall, sia possibile
risparmiare una significativa quantità di lavoro, circa un mese di lavoro svolto da un singolo animatore; riducendo in modo evidente il lavoro ripetitivo richiesto dalle operazioni di retargeting in favore del più semplice utilizzo dell’interfaccia di ReveRig.
Per contestualizzare meglio il dato ottenuto, è bene notare che i calcoli sono stati effettuati basandosi sull’intera produzione della serie animata; ovvero 3 stagioni da 10 episodi di 20 minuti ciascuno, per un totale di circa dieci ore di prodotto. Da queste informazioni è comprensibile ipotizzare che l’intero processo di produzione possa richiedere almeno un anno di lavoro per stagione. All’interno di questo contesto, una differenza di circa un mese di lavoro, unicamente per portare a termine tutte le operazioni di retargeting, rimane comunque un dato che incide in modo significativo sulle risorse impiegate per la produzione della serie animata.
Nel caso, invece, all’interno della produzione si facesse unicamente utilizzo del sistema di mocap facciale di Rokoko, allora il vantaggio in termini di tempistiche offerto da ReveRig per le operazioni di retargeting, potrebbe considerarsi non significativo (circa un giorno di differenza).
Tuttavia ReveRig, a parità di tempo impiegato, consente di ridurre significativamente le azioni richieste all’animatore, delegando la maggior parte dei compiti all’add-on; eliminando quasi del tutto quelle operazioni ripetitive che possono causare frustrazione all’utente.