Académique Documents
Professionnel Documents
Culture Documents
Alexandre Meyer
M2pro
1 M2R 2
M2R 3 M2R 4
M2R 5 M2R 6
1
Squelette = arbre Squelette : parcours de l’arbre
1 nœud de l’arbre = 1 joint
une matrice relative au père
Méthode simple:
void draw(node) {
Souvent Matrice = rotation + translation
Rotation = orientation de l’os
glPushMatrix();
Translation longueur de l’os glTranslate(…,…,…);
La matrice est contrainte selon le type de joint glRotate(…,…,…, …);
Ex. coude simple = 1-DOF (degre of freedom) drawGeometry(node);
Os de longueur fixe translation constante durant anim for (i=0; i<numChildren; i++)
draw(children[i]);
glPopMatrix();
}
M2R 7 M2R 8
M2R 9 M2R 10
M2R 11 M2R 12
2
Introduction “Mesh Skinning” Introduction “Mesh Skinning”
Supposons qu’un artiste nous produit un modèle correspondant au squelette
Ou inversement il produit un squelette correspondant à un maillage donné
Problème : comment animer le maillage en fonction du squelette
Déformer le maillage en fonction des
Une réponse possible : skinning mouvement du squelette
Vu comme la peau qui se déforme au
dessus du squelette
M2R 13 M2R 14
Skinning Skinning
Maillage 3D + squelette Sommet(vertex) du maillage associé à un os
Chaque sommet est attaché à un ou Déplacement de l’os le maillage suit
transformation des sommets
plusieurs os
M2R 15 M2R 16
y v y v
v'
J1
J0
x x
© J. Gregory,
M2R 2003
17 © J. Gregory,
M2R 2003
18
3
Comment ça marche (3) Comment ça marche (4)
On transforme le sommet v : Passage du sommet v du repère du
De l’espace du modèle (ou Monde) modèle (monde) dans l’espace lié à l’os
Dans l’espace lié à l’os (local) (local)
Le sommet est fixe par rapport à l’os
v
Donc on peut bouger le squelette y
x
M2R 19 © J. Gregory,
M2R 2003
20
y v y v
v'
J1
J0
x x
© J. Gregory,
M2R 2003
21 © J. Gregory,
M2R 2003
22
y v y v
v'
X1
X0
x x
© J. Gregory,
M2R 2003
23 © J. Gregory,
M2R 2003
24
4
Avec des maths (2) Avec des maths (3)
Qi rotation de l’os i par rapport à l’os Position au repos de l’os Ji
père i-1 Produit matriciel des translations et rotations
depuis la racine :
j
repos
y v B j = ∏ X i Q i = Matrice Monde< − Local
i =0
x
© J. Gregory,
M2R 2003
25 M2R 26
y y
v' R0 v'
J0
T0
J1 T1 R1
x x
© J. Gregory,
M2R 2003
27 © J. Gregory,
M2R 2003
28
i =0
M2R 29 M2R 30
5
Avec des maths (8) Avec des maths (9)
Ce qui nous donne, si v est influencé par Calculs effectués pour chaque sommet du
l’os j modèle
Tracé des sommets obtenus
v′ = P j B −j 1 v Interpolation des positions pour les
sommets qui dépendent de plusieurs os
= Matrice animation Monde<− Local ×
Inverse( Matrice repos Monde< − Local ) × v
M2R 31 M2R 32
Vi
Vj Sommet V =
Os i
moyenne pondérée
des sommets Vi et Vj
Os j
M2R 33 M2R 34
6
Skinning Skinning: limitations
Le skinning que nous venons de voir est le
Problème : étant donné un maillage Smooth skinning.
Comment trouver un squelette appropriée
Pour chaque point du maillage, comment
trouver le ou les os associés? + poids?
Différentes pistes
Artiste à la main
Squelette : avec une triangulation de Delaunay
Poids
Distance à l’os (cf. TP1 Blender)
Diffusion de la chaleur [cf. SIGGRAPH2007]
M2R 37 M2R 38
Skinning++
Puisque problème avec smooth skinning
Skinning++ Autres réponses
Skinning + FFD
Skinning classique avec dual quaternion
« Simulation » de la déformation de la peau
[Larboulette05]: cherche à conserver une surface
de peau constante
en utilisant des muscles: réaliste mais lourd en
calcul (cf. transparents suivants)
etc.
M2R 41 M2R 42
7
Skinning : dual quaternion “Dynamic Wrinkles” [Larboulette05]
Quasiment identique au smooth skinning
Conservation de l’aire de la surface durant la pliure
Les rotations et translation sont regroupés
Par un système de masse-ressort peu dense donc
dans des quaternions++ = dual quaternions
peu couteux à résoudre
dont l’interpolation se passe mieux
Skinning classique
Dynamic
Wrinkles
M2R 47 M2R 48
8
Skin: Simple Anatomical Models Skin: Detailed Anatomical Models
Skin can be attached to the muscles with One can also do detailed simulations that
springs/dampers and physically simulated accurately model bone & muscle
with collisions against bone & muscle geometry, as well as physical properties
This is becoming an increasing popular
approach, but requires extensive set up
M2R 49 M2R 50
VIDEO
M2R 51