Quelques mots sur l’animation Marc Neveu
Les rôles de la simulation graphique et de l'animation par ordinateur Importance du temps dans l'évolution des phénomènes: ~ mouvement de systèmes électromécaniques (robots) ~ réactions chimiques ~mouvements de fluides, de gaz (nuages) ~ conduction de la chaleur Expérimentation souvent coûteuse, voire impossible (collision de véhicules, explosions) simulations graphiques des phénomènes repose sur les techniques d'animation. animation = modification de scène au cours du temps Scène tridimensionnelle composée de 3 types d'entités évoluant au cours du temps: ~ Objets ~ caméras ~ lumières
Les précurseurs Le phénaskistiscope Joseph Plateau, 1833 zootrope W. G. Horner, 1834praxinoscope Émile Reynaud 1877
Le numérique- les débuts Le secret de la pyramide - Barry Levinson (1985) La Faim - Peter Foldes (1974) Luxo. Pixar.(1986)
Le numérique The adventures of André and Wally B.- John Lasseter (1984) Jurassic Park – Steven Spielberg (1993) Geri's game - Jan Pinkava (1997) Shrek - Dreamworks (2001)
Capture de Mouvement Optique : capteurs réflectifs (marqueurs) attachés au corps de la vraie personne. positions des marqueurs positions correspondantes pour le modèle animé. Ex : petits capteurs aux articulations d’une personne et on enregistre la position de ces capteurs selon plusieurs directions. d’où la reconstruction des positions 3D de chaque point-clé à chaque instant. Avantages : liberté de mouvement, pas de câblage. Inconvénients : occlusions, difficulté de distinguer 2 marqueurs proches Solutions : plus de caméras, mais le coût devient prohibitif. La plupart des systèmes opèrent avec 4-6 caméras. Exemple de systèmes optiques: Elite, MultiTrax.
Magnétique : une personne porte un ensemble de capteurs magnétiques (capables de mesurer leur relation spatiale par rapport à un transmetteur magnétique centralisé). La position et l’orientation de chaque capteur sont utilisées ensuite pour faire mouvoir l’acteur digital. => synchronisation des récepteurs. Ex : pour le mouvement du corps humain, 11 capteurs sont nécessaires: · un sur la tête · un sur chaque bras · un sur chaque main · un autre au centre de la poitrine · un sur le bas du dos · un à chaque cheville · un sur chaque pied On utilise la cinématique inverse pour calculer le reste de l’information nécessaire. Les systèmes les plus populaires sont: Polhemus Fastrack et Ascension Flock of Birds Capture de Mouvement
exemples
Caméra 1Caméra 2 Caméra C Point 1 Point 2 Point N Mise en correspondance N points P j repérés dans C repères 2D R i (x j i,y j i ) N points 3D (x j,y j,z j ) i=1..C, j=1..N
Animation par images-clés Principe En entrée :une série d'images à des temps donnés En sortie : les images intermédiaires par interpolation. Ex : transformer une forme géométrique en une autre lors d'une animation. A 1/2 B 1/2 D 1/2 C 1/2 A 1 D 1 C 1 B 1 A 0 B 0 C 0 D 0 T = 0 ¼ ½ ¾ 1
Animation par images-clés Soient N1 et N2 les nombres de sommets des 2 lignes polygonales. Si N1 > N2 alors RT:=(N1-1) div (N2-1) RS:=(N1-1) mod (N2-1) on ajoute RT points aux RS premiers segments et RT-1 aux autres. N1 = 15 N2 = 7N’2 = 15 RT=2,RS=2 T=0½1
Animation par images-clés -La méthode de prétraitement vue pour les segments peut être étendue aux facettes d’objets 3D -mais plus complexe car il faut assurer une correspondance entre facettes et sommets. Il faut donc ajouter des facettes et des sommets pour que les 2 images clés en aient le même nombre (= morphing 3D). morphing 2D : extension de la méthode des images-clés à une interpolation selon les pixels plutôt que les sommets de figures.
Animation par images-clés Problème : si on interpole des positions =>Interpolation paramètrique (paramètres de position et de forme, lumière, caméra, etc…)
Animation procédurale Algorithme décrivant le mouvement créer OBJET (...); TEMPS = 0; tantque Y > 0 Y = INITIALE – ½*G*TEMPS^2 deplacer (OBJET, X,Y,Z); dessiner OBJET; enregistrer l'image effacer OBJET TEMPS:=TEMPS+1/25; Ex : chute libre d’un objet créer HORLOGE (...); pour IMAGE:=1 a NB_IMAGES TEMPS:=TEMPS+1/25; ANGLE:=A*SIN (OMEGA*TEMPS+PHI); MODIFIER (HORLOGE, ANGLE); dessiner HORLOGE; enregistrer l'image effacer HORLOGE Ex : pendule simulation
Squelette + habillage
Cinématique : directe/inverse A B directe inverse
Interpolations Linéaire : (1-t) A +t B Exemples : A et B sont 2 points 3D dans les clés successives (points de l’objet, positions de caméra) A et B sont 2 angles (articulation d’un squelette) A et B sont deux intensités (variation de lumière)
Interpolations : linéaire discontinuités au niveau de la dérivée, donc de la vitesse => animation saccadée. t0258 exemple: articulation d'un bras de robot caractérisée par un angle (t). supposons : t’(2-1/25)/2=49/502(2+1/25-2)/3=1/75… 1*10/50+49*20/50= *20/75+1*45/75=20.33… ’≈ a/ t 0.2*25=50.33*25≈8.25
Interpolations : splines PiPi P i-1 P i+1 P i+2 TiITiI TiOTiO
Interpolations : splines Splines de Hermite
Continuité PiPi P i-1 P i+1 P i+2 TiITiI TiOTiO PiPi P i-1 P i+1 P i+2 TiITiI TiOTiO PiPi P i-1 P i+1 P i+2 TiITiI TiOTiO G 0 ou C 0 continuité G 1 continuité C 1 continuité = = k ≠
Choix des vecteurs tangents 1) On choisit t i = i On a la C 1 continuité : splines de Catmull Rom
Choix des vecteurs tangents =1 =-1 contrôle « comment » la courbe se tend au point Pi. (courbe tendue, lâche).
Choix des vecteurs tangents =-1 Ni C 1, ni G 1 contrôle la continuité au point Pi en direction et vitesse. Ex : balle rebondissant sur un mur => discontinuité du mouvement au point d’impact, la balle ne freine pas avant de rencontrer le mur.
Choix des vecteurs tangents =1 =-1 contrôle la direction de la trajectoire au point Pi. Ceci permet à l’animateur d’anticiper ou de retarder une position ou un événement
Combinaison des 3 = Splines de Kochanek-Bartels
Abscisse curviligne Soit un arc paramétré C 1 donné par f(t)=(x(t),y(t)) pour t dans [a,b]. déplacement infinitésimal Notons sa norme ds = longueur infinitésimale parcourue pendant l'intervalle de temps dt. Alors la longueur de l'arc est obtenue en sommant ces longueurs élémentaires On résume cette formule en exprimant la longueur infinitésimale sous la forme ds 2 = dx 2 + dy 2
Lissage de la progression : accélération (ease-in) et décélération (ease-out) Contrôle de la vitesse