28
ANIMATION 3 : CINEMATIQUE INVERSE Rémi Ronfard, Animation, M2R IICAO

ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

  • Upload
    vuthu

  • View
    221

  • Download
    1

Embed Size (px)

Citation preview

Page 1: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

ANIMATION 3 :

CINEMATIQUE INVERSE

Rémi Ronfard, Animation, M2R IICAO

Page 2: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Plan du cours

Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning).

TP : programmation d’un rig dans Blender

Cours 2: Animation par keyframes + techniques d’interpolation

TP : animation par keyframes dans Blender

Cours 3: Cinématique inverse

TP : animation d’une marche dans Blender

Cours 4: Animation physique

TP: animation d’un ragdoll dans Blender

Page 3: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Cinématique inverse dans Blender

Cinématique directe dans Blender

Armatures

Actions

Cinématique inverse dans Blender

Contraintes, cibles (targets)

Controleurs

Page 4: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Structures de données

Page 5: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Calculs récursifs

Page 6: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Cinématique directe

Page 7: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Cinématique directe (suite)

Page 8: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Cinématique inverse

Page 9: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Cinématique inverse (suite)

Page 10: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Problématiques en cinématique inverse

Page 11: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Linéarisation des équations

Page 12: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Contraintes

Page 13: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Jacobiens

Page 14: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Relations et orientations

Page 15: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Transformations 3D

Page 16: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Exemples

Page 17: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Exemples (suite)

Page 18: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Méthode de la pseudo inverse

Page 19: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Objectifs secondaires

Page 20: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Application : cycles de marches

Page 21: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Application : cycles de marches (2)

Page 22: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Application : cycles de marches (3)

Page 23: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Application to motion capture (MOCAP)

With markers : each marker a 3D target Markers are reconstructed from multiple images

Correspondence and visibility problems

Solve for actor pose with IK under linear constraints

Without markers : use image features Point feature correspondences (3D)

Line feature correspondences (2D)

Solve for actor pose with IK under projective constraints

Page 24: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Application : cycles de marches (4)

Page 25: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Image targets and mocap from movies

3D Kinematics

2D Kinematics : Scaled Prismatic Models

Morris & Rehg: Singularity Analysis for

Articulated Object Tracking, CVPR 1998.

Page 26: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Résumé du cours

Page 27: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Pour aller plus loin…Learning to Move Autonomously in a Hostile World, Leslie Ikemoto, University of California at Berkeley.

http://www.animate-me.com/~leslie/papers/moveAutonomous.pdf

Quick Transitions with Cached Multi-way Blends, Leslie Ikemoto, University of California at Berkeley. http://www.animate-me.com/~leslie/papers/i3d2007.pdf

Ken Perlin’s Experiments on Procedural Animation, http://www.mrl.nyu.edu/~perlin/

Inverse Kinematics by Hugo Elias, http://freespace.virgin.net/hugo.elias/models/m_ik.htm

Inverse Kinematics – Improved Meathods by Hugo Elias, http://freespace.virgin.net/hugo.elias/models/m_ik2.htm

The Matrix and Quaternion FAQ, http://web.archive.org/web/20041029003853/http:/www.j3d.org/matrix_faq/matrfaq_latest.html#Q47

Physics Based Animation by Erleben, Sporring, Henriksen, Dohlmann.

Inverse Kinematics Using Jacobians, http://diegopark.googlepages.com/computergraphics

Motion Graphs by Lucas Kovar, University of Wisconsin Maddison. http://www.cs.wisc.edu/graphics/Papers/Gleicher/Mocap/mograph.pdf

Page 28: ANIMATION 3 : CINEMATIQUE INVERSE · PDF filePlan du cours Cours 1: Armatures (squelettes) et attachement a la surface du corps (skinning). TP : programmation d’un rig dans Blender

Ressources et références

Inverse Kinematics for Humanoid Skeleton Tutorial by Jonathan Kreuzer.

http://www.3dkingdoms.com/ik.htm#ikappen

Planting Spores of Procedural Animation? by Dave Mark.

http://aigamedev.com/discussion/planting-the-spores-of-procedural-animation

The Crysis of Integrating Next-Gen Animations and AI, by Alex J. Champandard.

http://aigamedev.com/reviews/crysis-animation-integration

9 Tips for Creating Rich Behaviors on a Low Animation Budget, by Alex J. Champandard.

http://aigamedev.com/animation/budget-rich-behaviors

The Backbone of AI Behaviors: Movement and Animation, by Alex J. Champandard.

http://aigamedev.com/tutorials/backbone-behaviors-movement-animation

Behavior Trees for Next-Gen AI, by Alex J. Champandard (3 parts). http://aigamedev.com/videos/behavior-trees-part1

http://guerrillacg.org/home/3d-rigging/the-rotation-problem

http://www.guerrillacg.org/home/3d-rigging/euler-rotations-explained