32
ANIMATION 1 : ANIMATION D’ACTEURS VIRTUELS PAR ARMATURES ET SKINNING Rémi Ronfard, Animation, M2R IICAO

ANIMATION 1 : ANIMATION...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

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ANIMATION 1 : ANIMATION...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

ANIMATION 1 : ANIMATION

D’ACTEURS VIRTUELS PAR

ARMATURES ET SKINNING

Rémi Ronfard, Animation, M2R IICAO

Page 2: ANIMATION 1 : ANIMATION...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

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 procédurale dans Blender

Cours 3: Cinématique inverse

TP : animation d’une marche dans Blender

Cours 4: Animation physique

TP: animation faciale dans Blender

Page 3: ANIMATION 1 : ANIMATION...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

Motivation : virtual movie making

Movie example : A few good men

Machinima example : a few good g-men

Other motivating examples : The wizard of Oz

Blender movies :

The beast by Roland Hess (Animating with Blender)

Sintel by Colin Levy (Blender Foundation)

Page 4: ANIMATION 1 : ANIMATION...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

PRINCIPES DE L’ANIMATION~1930, Studios Disney

The Illusion of Life

Page 5: ANIMATION 1 : ANIMATION...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

5

1 Squash & Stretch

Déformations

Pseudo physique

- <<motion blur>>

- Conservation du volume

Page 6: ANIMATION 1 : ANIMATION...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

6

2 Anticipation

Guide l’attention,

annonce l’action…

…prépare un gag

mouvement C2…

Page 7: ANIMATION 1 : ANIMATION...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

7

3 Staging

[Mise en scène]

Atmosphère, éclairage, …

« Present the idea so that it is unmistakably clear »

Page 8: ANIMATION 1 : ANIMATION...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

8

4 Rigging & pose to pose animation

Préparation des personnages

Skelettes, articulations, etc. etc.

Page 9: ANIMATION 1 : ANIMATION...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

9

5 Follow-through et Overlapping

Enchaînement des actions

Page 10: ANIMATION 1 : ANIMATION...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

10

6 Slow in & Slow out

Fluidité des mouvements

(Continuité C2 des déplacements)

Page 11: ANIMATION 1 : ANIMATION...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

11

7 Secondary actions

Donner de la richesse

Hiérarchie/articulations

En retard

Page 12: ANIMATION 1 : ANIMATION...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

12

8 Arcs

Courbes naturelles

Non-synchronicité des mouvements

Page 13: ANIMATION 1 : ANIMATION...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

13

9 Timing

Masse

Taille

Page 14: ANIMATION 1 : ANIMATION...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

14

10 Exaggeration

Page 15: ANIMATION 1 : ANIMATION...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

11 Solid drawing

The principle of solid

drawing means taking

into account forms in

three-dimensional

space, giving them

volume and weight

Page 16: ANIMATION 1 : ANIMATION...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

12 Appeal

Appeal in a cartoon

character corresponds

to what would be called

charisma in an actor

Page 17: ANIMATION 1 : ANIMATION...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

Cours 1: Rigging et skinning

Introduction : techniques génériques qui s’appliquent à l’animation de tous les « acteurs », humains ou non

Squelette et cinématique

Chair et peau : skinning, smooth skinning, muscles, graisses, plis

Vêtements : maillages, éléments finis,

Référence : Marie-Paule Cani, Caroline Larboulette, Nadia Magnenat-Thalma, Pascal Volino : les techniques d’habillage : peau, vêtements et chevelures, chapitre 8 du traité de réalité virtuelle, tome 5 : les humains virtuels.

Page 18: ANIMATION 1 : ANIMATION...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

Animation et interpolation

Animation par

keyframes

Comment interpoler les

mouvements entre

deux positions « clés »

Page 19: ANIMATION 1 : ANIMATION...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

Mouvements articulés

Page 20: ANIMATION 1 : ANIMATION...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

Mouvements articulés

Page 21: ANIMATION 1 : ANIMATION...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

Mouvements rigides et articulés

Le mouvement de chaque articulation est rigide

Dans le repère d’axes de son père

Dans le repère d’axe du monde

Un mouvement rigide est une matrice 3 X 4

Page 22: ANIMATION 1 : ANIMATION...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

Mouvements articulés : translation,

rotation et changement d’échelle

Page 23: ANIMATION 1 : ANIMATION...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

Mouvements rigides : rotations

Page 24: ANIMATION 1 : ANIMATION...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

Convention de Denavit-Hartenberg

Page 25: ANIMATION 1 : ANIMATION...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

Skinning

Nous avons un squelette articulé, qui définit des transformations de l’espace

Le problème – comment associer la « peau » des personnages avec leur « squelette » ?

Skinning rigide: chaque sommet de la « peau » bouge avec un seul « os »

P(vi)= Tf P0(vi) où Tf est la transformation du bone

Page 26: ANIMATION 1 : ANIMATION...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

Smooth skinning

Aussi appelé « Skeleton Subspace Deformation »

Chaque sommet de la peau bouge avec tous les « os » voisins

P(vi)= (sum_f wif Tf )P0(vi) où les poids wif sont normalisés (sum_f wif = 1)

Calcul automatique des poids de chaque sommet

Par exemple wif = 1/dif2

Ou dessin des poids de chaque sommet

Page 27: ANIMATION 1 : ANIMATION...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

Interpolation non linéaire

Matrice de transformation homogène Tf = [SR|t] contient 12 paramètres non indépendants

3 translations, 3 rotations, 3 changements d’échelle

Controler séparément les 12 composante de la transformation Tf

Calcul automatique des poids

Wang et Philips, Multi-weight enveloping: least-squares approximation techniques for skin animation, SCA 2002

Page 29: ANIMATION 1 : ANIMATION...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

Quelques exemples

Page 31: ANIMATION 1 : ANIMATION...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

Deformation de cages

L’armature déforme une « cage » (lattice) qui

déforme la peau

Roland Hess, Animating with Blender,

Page 32: ANIMATION 1 : ANIMATION...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

A suivre

Demain : TP programmation d’un rig en python 3.0

dans Blender 2.55

La semaine prochaine : Animation par keyframes +

techniques d’interpolation