Rapport
Projet du Module Animation


Florent COHEN & Béatrice PERRENOT

Master Recherche IVR 2003/2004



  1. Contexte

Dans le cadre du cours d'Animation de Laurence Boissieux et Jean-Dominique Gascuel du Master Recherche Image Vision Robotique, nous avons réalisé un projet d'animation ayant pour but d'animer dans un scénario issu de notre imagination, un petit robot nommé Hugo.


Pour cela, nous devions travailler avec le logiciel 3dsmax de début janvier au 9 mars 2004 durant nos temps libres. Tous deux n'avions jamais encore utilisé ce logiciel.


La première étape de notre travail a consisté à trouver un scénario à la fois amusant et nous permettant de réaliser de courtes animations. Nous avons alors choisi de réaliser une bande annonce cinéma dans laquelle Hugo se retrouve être la star de célèbres grands films à effets spéciaux. (Hulk, Les dents de la Mer, Matrix).

Ce choix nous est apparu intéressant pour différentes raisons:


Une fois ce thème trouvé, nous avons réfléchi ensemble au synopsis de notre film, et au storyboard qui en découle.

Notre storyboard, qui de prime abord paraissait court, s'est en fait avéré beaucoup plus long que prévu ... d'où la durée de 2mn40s du film, qui peut être vu comme 3 séquences de 40 secondes, mais chacune comportant ses spécificités techniques et artistiques. C'est pourquoi nous n'avons pas pu trouver une séquence de 40 secondes qui reflète notre travail global – en espérant que vous ne trouverez pas ça trop long durant le visionnage ... de plus, nous voulions respecter notre storyboard.

Toutefois il reste à noter que beaucoup des « longueurs » sont dues à des éléments d'ambiance qu'il nous est apparu important de conserver; certes, ils n'apportent rien à l'animation en tant que telle, mais améliorent le visionnage.


  1. Note technique

Le film a été compressé en utilisant le Divx V4.12 (lisible normalement par le codec version 5.11) en 768x512, et avec une piste audio non compressé au format Windows PCM 44khz 16 bits stéréo.

  1. Synopsis

Hulk


Hugo est dans une bibliothèque en train de lire, et est dérangé par de la fumée de cigarette: il s'énerve, se transforme en Hulk et s'en prend à une voiture.



Les Dents de la Mer (Jaws)


Hugo est en train de surfer sans se rendre compte qu'il est suivi par un requin. Il se fait dévorer et se retrouve dans l'estomac de la bête.


Matrix


Hugo est dans sa chambre. Il reçoit un mystérieux coup de fil et se précipite par la fenêtre pour accomplir sa mission.


Le spectateur est ensuite invité à voir le prochain film d' Hugo.


  1. Répartition des tâches

Globalement, Béatrice s'est principalement consacrée à Hulk, Florent aux Dents de la Mer, et nous nous sommes rejoints sur Matrix. Toutefois la modélisation du bipède de Hulk et le morphing 2D ont été réalisés en commun.

Concernant la modélisation, chacun de nous a soit recherché des modèles sur internet en les adaptant au besoin, soit les a construit lui-même, le tout de manière équitable.

Les animations du bipède, en mode cinématique inverse, ont été réalisées par Béatrice; Florent s'est occupé de la cinématique directe.

Dans Matrix, l'introduction a été réalisé par Florent, la scène de danse par Béatrice, et la suite en commun.

Le montage (choix des musiques et bruitages) a été réalisé de manière commune.

Les différents logiciels utilisés lors de notre projet sont:


  1. Storyboard

Nous joignons la version initiale de notre storyboard tel que nous envisagions de le faire.


Ici, nous présentons en parallèle le storyboard et le résultat final, sous forme de vignettes commentées.



  1. Introduction






  1. Hulk

Intérieur de la bibliothèque

Concernant la lumière, nous avons utilisé des spots lumineux pour les lampes de bureau, et choisi une lumière ambiante tamisée et de couleur chaude pour caractériser l'ambiance de la bibliothèque.

Le mouvement de la caméra est une simple translation obtenue par interpolation de Bézier de positions choisies de sorte que la caméra suive l'avancée de la fumée vers Hugo.

Les ombres ont été calculées en utilisant les Shadow Map.

Nous avons souvent triplé les clefs d'interpolation afin de « casser » les tangentes, car il n'était pas toujours possible d'éditer les tangentes des trajectoires (notamment avec les éléments du bipède).








Commentaires techniques

La fumée de cigarette a été créée avec un système de particules, de type faces carrées toujours tournées face à la caméra, la texture étant légèrement translucide pour donner un effet de volume. Nous avons placé quatre ventilateurs et un générateur de gravité afin d'assurer la bonne trajectoire et la synchronisation des particules jusqu'au nez d' Hugo. Le choix de cette technique nous est apparu opportun car elle fournit un mouvement réaliste et contrôlé.

Remarques

Pour animer la fumée, nous nous sommes heurtés aux limites numériques du logiciel (trois décimales après la virgule pour les paramètres du vent!).








Commentaires techniques

Le texte, qui devait initialement flotter sur la fumée, est finalement incrusté au montage à cause de la complexité et de la dynamique de la scène.










Commentaires techniques

Le clignotement des yeux d' Hugo a été réalisé de manière aléatoire, en utilisant MAXScript, appris pour l'occasion. On aurait pu placer les clefs à la main, mais cette méthode nous est apparu plus réaliste et surtout plus simple car le mouvement était parfaitement contrôlé.









Commentaires techniques

L'animation de l'antenne et des yeux est basée sur des clefs d'interpolation, tout comme le rougeoiement de la tête et de la pupille (les clefs étant alors des valeurs des paramètres des textures).

Le tremblement de la tête a été aussi réalisé par un MAXScript : c'est une rotation dont les paramètres sont une fonction trigonométrique basée sur le temps (des valeurs aléatoires ne permettaient pas un contrôle rigoureux du mouvement de la tête, celle-ci ayant tendance à partir dans une direction aléatoire). Initialement, nous voulions animer la tête du bipède pour obtenir ce résultat: cependant nous ne savons toujours pas comment lier un contrôleur à un élément du bipède!

Remarques

La résolution de la Shadow Map n'est pas assez bonne (512*512): cela explique les mouvements de l'ombre de la fumée sur le journal. Une des solutions seraient d'augmenter cette taille est de faire un nouveau rendu, ce que nous avons exclu étant donné le temps de celui-ci.

Nous avons choisi de rigidifier l'antenne d' Hugo à partir de cette scène: c'est un choix scénaristique pour symboliser sa colère!









Commentaires techniques

La fumée est là encore basée sur un système de particules:c'est un réseau de particules avec pour base chacune de deux oreilles et dirigé vers l'extérieur; elle devait paraître plus dense et plus « chaude » que la fumée de cigarette.

La mâchoire subit une déformation de type ondulatoire : l'ondulation est une interpolation entre les valeurs de phase de départ et de fin.

Pour la pose du journal, nous avons lié celui-ci à la main droite d' Hugo, et animé cette main par cinématique indirecte.

Remarques

Il a été délicat de gérer la vitesse d'émission du réseau de particules afin de bien donner à celles ci un aspect vaporeux.









Commentaires techniques

Cette scène est le résultat de la fusion de 3 scènes différentes: une texture s' opacifie à la fin de la scène dans la bibliothèque, et nous utilisons après celle-ci comme texture environnementale.

La mouvement de la caméra a été obtenue en affectant un contrôleur « expression position » à la position de la caméra : nous lui faisons décrire une spirale, de centre Hugo, en donnant la formule mathématique de celle-ci directement dans le contrôleur.

Le morphing a été réalisé en utilisant un logiciel tiers : à partir de l'image finale et de l'image initiale, nous avons extrait des contours significatifs, qui ont été discrétisés puis interpolés.

Remarques

Le morphing devait initialement être un morphing 3D. Cependant, les maillages de Hulk et de Hugo n'étaient pas topologiquement compatibles, ni ne contenaient le même nombre de sommets: nous aurions dû alors retraiter le modèle de Hulk, ce qui aplatissait ses muscles saillants, ce à quoi Béatrice était farouchement opposée :)

Le matériau de la peau de Hulk a une forte caractéristique spéculaire afin de donner un aspect métallique à son corps.







Extérieur de la bibliothèque






Commentaires techniques

La marche du bipède a été entièrement réalisé avec un mode pas. Hugo a un flou de mouvement moins important que celui du paysage, afin qu'il capte le regard du spectateur (il est plus net).

La lumière extérieure est un mélange de lumière ambiante et de la lumière issue d'un spot représentant le soleil.

Remarques

Là aussi, la résolution de la shadow map était trop faible: nous avons pu ici augmenter sa résolution par 82 sans trop dégrader le temps de calcul. Même l'ombre des objets éloignés de la source semble parfaite!

La scène était au départ de par sa modélisation très chargée en polygones (près d' un million!): les arbres et la bibliothèque étaient beaucoup trop détaillés pour nos besoins. Nous avons dû optimiser leurs maillages.

Nous voulions intégrer beaucoup d'animations du décor (arbres qui bougent au vent, foule en fuite...), mais cela surchargeait visuellement la scène, et nous avons préféré nous concentrer sur notre personnage principal.

Nous voulions faire courir Hulk vers la voiture, mais le résultat obtenu n'a pas passé notre test qualité! Nous nous sommes rabattus sur une marche classique. Nous avons sauvé notre séquence de pas sous forme de clefs afin de pouvoir par la suite rajouter des clés à la fin de la séquence, ce qui n'est pas possible en mode pas.









Commentaires techniques

L'animation du bipède est une animation en cinématique inverse: la scène a été réalisée en 2 fichiers car la voiture est ici liée à la main droite du bipède pour plus de réalisme dans le contact, et sera ensuite libérée dans la scenette du lancer de voiture.

La voiture est plongée dans une boite FFD 4x4x4 et certaines de ses points de contrôles sont déplacés au cours de l'animation de sorte que l'on ait l'impression qu'elle se plie en deux.

Remarques

L'inconvénient d'utiliser la FFD ici est qu'elle donne un aspect élastique à du métal, car celui-ci ne se rompt pas sous l'effort.







  1. Jaws

Extérieur du requin




Commentaires techniques

Les paramètres du mouvement de la caméra sont ici contrôlées par des contrôleurs « expression rotation » et « expression position »: en effet, la caméra et sa cible devaient tanguer afin de donner l'impression d'un tournage en mer.

La mer est un plan sur lequel est projeté une texture procédurale à base de bruit fractal. Son animation est causée par l'interpolation des valeurs de phase des fractales. Deux phases proches donnent deux fractales similaires mais non identiques : la continuité de l'interpolation donne l'impression d'un mouvement de vague. La texture n'est pas opaque, ce qui permet de voir les objets dans l'eau. Un plan opaque a été placé sous l'eau afin de limiter sa profondeur et donner sa couleur à la mer.

Le texte est également une incrustation vidéo réalisé au montage.

Remarques

Il n'y a pas de dauphin, car il aurait été énormément masqué par le texte...









Commentaires techniques

Le bipède est lié à la planche, tous comme les particules simulant le sillon dans l'eau.

Le mouvement de la planche a 2 composantes:

  • une composante de translation, gérée par un contrôleur d' "expression position ».

  • une composante de rotation, gérée par un contrôleur bruit (afin de simuler le choc contre les vagues)

Les ondulations d' Hugo ont été obtenues par un MAXScript: c'est une cinématique directe appliquée aux mains, aux avant-bras, aux deux éléments de la colonne, à la tête et à l'antenne: c'est donc une animation hiérarchique.

Le sillon est le résultat de méta-particules agglomérantes: cela a l'avantage de donner une sorte de consistance au sillon.

La planche a été modélisée en utilisant des courbes NURBS et des fonctions d'extrusions.









Commentaires techniques

Le sillon du requin est animé de la même manière que précédemment.

La nage du requin est obtenue en déformant son maillage avec un modificateur courber, dont les paramètres varient en fonction du temps. Le maillage du requin a été amélioré, notamment en lui donnant une queue qui ressemble à une queue de requin!










Commentaires techniques

La mer a un flou de mouvement dont le calcul est basé sur la différence d'image: cela donne une impression de réfraction.










Commentaires techniques

L'animation du requin est le résultat d'une interpolation progressive entre deux requins (modificateur interpolation): un avec la mâchoire ouverte et un aileron un peu avancé, l'autre avec la mâchoire fermée et l'aileron en arrière.










Commentaires techniques

Le mouvement du titre est réalisé par incrustation au montage.

Des gouttelettes tombent du requin après sa sortie de l'eau: ce sont des particules de type gouttelettes.

Le regard d' Hugo suit un objet factice (contrainte observer) car c'était plus facile pour lui faire pointer une direction. Son mouvement est généré par cinématique indirecte (positionnement de clefs).

L'intérieur a été creusé en modifiant le maillage et en plaquant une texture d' oesophage réalisée par ordinateur trouvée sur internet!

La mâchoire est animée par clef d'interpolation, tout comme les mouvements du requin.

Remarques

C'est dangereux de creuser un requin!







Intérieur du requin




Commentaires techniques

Le regard d' Hugo suit un objet factice (contrainte observer) car c'était plus facile pour lui faire pointer une direction. Il en est de même pour le regard de l' « intrus ».

La langue est cachée sous la bouche par des objets noirs. Son mouvement est réalisé par interpolation de positions.

Remarques

Nous n'avons pas scrupuleusement respecté le storyboard, car il n'était pas crédible: l'allumette aurait été mouillée!








  1. Matrix

De manière général, dans ce dernier extrait, nous avons tenté de créer des mouvements de caméra semblables à ceux du film original, c'est à dire des mouvements amples et souvent rotatifs, en intégrant des effets de ralenti.




Commentaires techniques

Les mouvements de caractères ont été générés à partir d'un économiseur d'écran dont nous disposions des sources: une capture d'écran automatique nous a permis d'obtenir un film. Le titre est une incrustation réalisée au montage.









Commentaires techniques

Nous avons voulu réaliser un effet à la matrix: les personnages devaient se former par agglomération de caractères convergent vers leurs surfaces. Nous avons utilisé un projecteur de textures: toutefois celui-ci ne rend pas bien compte du relief de la scène. Une solution aurait été (peut-être) d'appliquer une texture unique à tous les objets, comportant le fameux mouvement de caractères.

Néo-Hugo bouge là aussi par interpolation de mouvements.

Remarques

Nous laissons croire aux spectateurs que les immeubles en arrière plan étaient « réels » laissant supposer que Néo-Hugo était sur le toit de l'un d' eux, rappelant une scène du film Matrix. Ce n' est que par la suite que nous dévoilons qu'il n' est que dans sa chambre!









Commentaires techniques

Nous avons créé une petite chorégraphie smurf sur un morceau de musique . Tout a été créé par cinématique inverse.

Nous aurions pu utilisé une pseudo motion capture en se référant à une publicité où des silhouettes de personnes dansent, en plaçant les points de contrôle du bipède alignés sur les formes pour chaque image, mais faute de temps, nous ne l'avons pas fait.

Remarques

Merci Mia Frye!









Commentaires techniques

Le regard de Neo-Hugo suit un objet factice (contrainte observer); il était en effet plus facile de lui faire pointer une direction.

La langue de Neo-Hugo est initialement cachée dans sa tête, sort et ondule sur un « Wazaaa!! » grâce à une interpolation de paramètres.

Après être fermé par Neo-Hugo, le téléphone portable est réduit à échelle nulle et disparaît ainsi de la scène.

Remarques

Un miroir est utilisé dans la chambre de Neo-Hugo, utilisant une texture réfléchissante.

La fenêtre a été réalisée en extrudant tout d'abord une partie du mur, puis en supprimant les éléments de la fenêtre qui cachaient la vue.

La prairie est un billboard.









Commentaires techniques

Neo-Hugo se dirige vers la fenêtre par le biais de mode pas: comme précédemment nous avons sauvegardé la séquence afin de pouvoir créer de nouvelles clés.

Il se prépare à sauter toujours via le mode saut: sous l'impact de la réception, le sol ondule. Pour cela, nous avions dans un premier temps utiliser une déformation « ride » appliquée sur le plancher centrée sur Neo-Hugo, mais le pic de l'amplitude était également centrée sur lui, alors que nous désirions l'effet opposé. Nous avons donc pour remédier à ce phénomène combiner deux mêmes rides en opposition de phases, l'une déclinant en fonction de la distance, l'autre d'amplitude constante; nous obtenons une amplitude nulle au centre, et croissante avec la distance. Nous avons également été contraints d'augmenter considérablement la densité du maillage du sol (initialement constitué de 4 sommets) pour obtenir des ondes lisses.

L'antenne est animée automatiquement via un modificateur élastique; ce qui a nécessité de la délier du bipède, et de la relier à la tête de Néo-Hugo à la place.

Remarques

Le problème rencontré avec la création de l'onde était d'une part que le sol sortait par la fenêtre, et d'autre part qu'elle passait en dessous des murs. Une solution a été, dans le premier cas, d'utiliser les opérateurs booléens: on réalise « A-B » avec A qui représente le plancher déformé par l'onde, et B une boite englobant la fenêtre, dans le second cas, de rallonger les murs.









Neo-Hugo s'envole dans la prairie par interpolation de positions, et se fond dans le décor et la matrice.







  1. Epilogue

Cet enchaînement d'images a pour but d'introduire la prochaine conférence d'EuroGraphics... Il a été réalisé avec CgInfinity d'Ulead.








  1. Conclusion


Avant ce projet, nous n'avions ni l'un ni l'autre manipulé 3DSMax, il nous a donc fallu un certain temps pour nous adapter au logiciel. Notre choix de scénario nous a permis de manipuler beaucoup de techniques d'animation, que nous semblons aujourd'hui maîtriser. Nous ne pouvons toutefois que regretter que le logiciel ne soit pas toujours très robuste...


Nous nous sommes beaucoup investis dans ce projet, nous apprécions aujourd'hui à sa juste valeur le travail d'un animateur au quotidien.


A la fin de ce travail, nous sommes agréablement surpris du résultat! Nous avons en tout cas énormément appris.