Transfert d'animation: animer des personnages virtuels par le jeu et le mime

De Ensiwiki
Aller à : navigation, rechercher

Contexte :

L'animation fait partie intégrante du processus de création d'objets 3D. De très nombreux logiciels d'animation existent, chacun vantant une approche différente qui le distingue des autres. Cependant, aucun des logiciels couramment utilisés n'est réellement intuitif, et il est très difficile, voire impossible pour un novice de créer des animations convaincantes. Même pour des professionnels, les temps de création de personnage et d'animation de celui-ci sont énormes, même sans compter les nombreux aller/retours nécessaires pour peaufinner les détails du personnage lors de son animation.

Des travaux récents sur l'animation [1] ont montré comment animer de façon rigide des objets virtuels en manipulant leurs prototypes physiques devant une caméra Kinect. On retrouve entre autre des techniques de "layered acting" [3], où l'animateur va raffiner son animation par niveau de détails, toujours en partant de manipulations ou de mouvements dans le monde physique. D'autres techniques utilisent des "lines of action" [2] pour dessiner en quelques traits une animation complexe, qui pourra également être raffinée par la suite. Enfin, de nombreuses techniques existent pour ajouter de l'expressivité sur le visage du personnage 3D, et greffer cela de façon cohérente au reste du corps [4] [5] [6].

Figurines2015.png

Objectifs :

Le but de ce projet est d'animer une figurine 3D existante depuis des données issues d'enregistrement en situation réelles : L'animateur manipule des figurines équipées de différents capteurs (Gyroscope, accéléromètre, caméras...), et les mouvements qu'il effectue sont répercutés dans la scène 3D. Le but est ici d'étendre les travaux de [1] en combinant plusieurs types d'informations :

- Le déplacement rigide des figurines capturé par les caméras et les capteurs gyroscopiques,

- Les expressions faciales du narrateur, qui va mimer les intentions des personnages (rire, dégout, neutralité, colère, ...).

Il s'agit d'un cas particulier de l'article "layered acting" [3], où l'animation du personnage virtuel peut être créé depuis différentes sources. Dans notre cas, de nouvelles méthodes devront être proposées, implémentées et testées pour mélanger les différents mouvements en une seule animation, convaincante et esthétique : Par exemple, il faudra créer un mouvement issu du mélange des mouvements de la figurines et de ceux des mains de l'utilisateur, en y associant les règles physiques du monde imaginaire. A cela pourra ensuite se greffer l'animation faciale du personnage, adaptée pour être cohérente entre la morphologie du narrateur et de celle du personnage animé.

Pour ce stage, nous nous intéresserons plus particulièrement au problème de « faire parler les figurines ». A partir d’un enregistrement des expressions faciales du marionnettiste pendant qu’il manipule ses figurines, l’objectif sera de reproduire ce dialogue imaginaire entre les deux personnages sous forme d’une animation 3D.


Ce travail pourra être décomposé en quatre tâches:

1. Calculer un espace de blend-shapes [6] de dimension réduite pour représenter les expressions faciales des figurines.

2. Découper l'histoire en phrases et deviner sur quel personnage doit être reporté chaque phrase.

3. Coordonner les regards et mouvements de tête des personnages avec ceux du narrateur.

4. Calculer les animations des différents personnages en les adaptant aux morphologies des figurines, à l'aide  des blend-shapes calculées dans l’étape (1).


Les modèles 3D des figurines et les enregistrements de leurs mouvements seront fournis aux étudiants, ainsi que les enregistrements de la voix et des expressions faciales du marionnettiste. Les étudiants disposeront également de scripts python permettant de décoder et manipuler ces données dans l’environnement d’animation open source BLENDER 3D.

Le résultat attendu du projet sera la présentation d’un court dialogue joué dans BLENDER 3D par les figurines animées et synchronisé avec la voix du marionnettiste. Cette animation sera créée à l’aide de scripts python développés par les étudiants sous la direction d’Adéla Barbulescu.

Bibliographie:

1. Robert Held, Ankit Gupta, Brian Curless, and Maneesh Agrawala. 2012. 3D puppetry: a kinect-based interface for 3D animation. In Proceedings of the 25th annual ACM symposium on User interface software and technology (UIST '12).

2. Martin Guay : The Line of Action: an Intuitive Interface for Expressive Character Posing. ACM Trans. Graph. 2013. Article 205.

3. Mira Dontcheva, Gary Yngve, and Zoran Popović. 2003. Layered acting for character animation. ACM Trans. Graph. 22, 3 (July 2003), 409-416.

4. R. Heck, L. Kovar, and M. Gleicher. Splicing Upper-Body Actions with Locomotion. Eurographics’06.

5. Jun-yong Noh and Ulrich Neumann. 2001. Expression cloning. In Proceedings of the 28th annual conference on Computer graphics and interactive techniques (SIGGRAPH '01).

6. J. P. Lewis and Ken-ichi Anjyo. 2010. Direct Manipulation Blendshapes. IEEE Comput. Graph. Appl.30, 4 (July 2010), 42-50.