ANIMATION 1 : ANIMATION...Plan du cours Cours 1: Armatures (squelettes) et attachement a la surface...

Preview:

Citation preview

ANIMATION 1 : ANIMATION

D’ACTEURS VIRTUELS PAR

ARMATURES ET SKINNING

Rémi Ronfard, Animation, M2R IICAO

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

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)

PRINCIPES DE L’ANIMATION~1930, Studios Disney

The Illusion of Life

5

1 Squash & Stretch

Déformations

Pseudo physique

- <<motion blur>>

- Conservation du volume

6

2 Anticipation

Guide l’attention,

annonce l’action…

…prépare un gag

mouvement C2…

7

3 Staging

[Mise en scène]

Atmosphère, éclairage, …

« Present the idea so that it is unmistakably clear »

8

4 Rigging & pose to pose animation

Préparation des personnages

Skelettes, articulations, etc. etc.

9

5 Follow-through et Overlapping

Enchaînement des actions

10

6 Slow in & Slow out

Fluidité des mouvements

(Continuité C2 des déplacements)

11

7 Secondary actions

Donner de la richesse

Hiérarchie/articulations

En retard

12

8 Arcs

Courbes naturelles

Non-synchronicité des mouvements

13

9 Timing

Masse

Taille

14

10 Exaggeration

11 Solid drawing

The principle of solid

drawing means taking

into account forms in

three-dimensional

space, giving them

volume and weight

12 Appeal

Appeal in a cartoon

character corresponds

to what would be called

charisma in an actor

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.

Animation et interpolation

Animation par

keyframes

Comment interpoler les

mouvements entre

deux positions « clés »

Mouvements articulés

Mouvements articulés

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

Mouvements articulés : translation,

rotation et changement d’échelle

Mouvements rigides : rotations

Convention de Denavit-Hartenberg

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

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

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

Quelques exemples

Deformation de cages

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

déforme la peau

Roland Hess, Animating with Blender,

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

Recommended