modèles hiérarchiques nicolas holzschuch cours doption majeure 2 [email protected]
TRANSCRIPT
![Page 2: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/2.jpg)
Modélisation procédurale•Comme le bonhomme de neige
•Problèmes :– Modèle de plus en plus complexe– Écrire le code sans erreurs– Modifier le modèle– Manipuler le modèle
![Page 3: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/3.jpg)
Modèle hiérarchique•Modèle divisé en morceaux•Relations entre les morceaux•Paramètres pour :
– Forme des morceaux (écrasement)– Position des morceaux (inclinaison)
•Hiérarchie du modèle :– Base se déplace : tout suit– Torse se déplace : tête et boutons suivent– Tête se déplace : yeux et nez suivent
![Page 4: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/4.jpg)
Hiérarchie de nœuds•Chaque nœud :
– Transformation en coordonnées locales– Modèle simple en coordonnées locales– Dessin des enfants (qui héritent des coordonnées
locales)
•Après le nœud :– Retour aux coordonnées locales précédentes– Couleur, matériau, style, etc. ?
• Pas fixé
![Page 5: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/5.jpg)
Bonhomme de neige
Base
Torse
Bouton3Bouton1 Bouton2 Tête
Œil2Œil1Nez
©R
. Barzel, 2002
![Page 6: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/6.jpg)
Personnage
© 1998, Darwin 3D
![Page 7: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/7.jpg)
Descente de l’arbre•Méthode simple:
void draw(node) {glPushMatrix();glTranslate(…,…,…);glRotate(…,…,…);drawGeometry(node);for (i=0; i<numChildren; i++) draw(children[i]);glPopMatrix();
}
•Convient bien aux langages à classe (Java, C++)– Méthode de base object.draw(),…
![Page 8: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/8.jpg)
Intérêts des arbres•Structure hiérarchique sur l’objet
•Boites englobantes :– Construites hiérarchiquement– Collision, contact– Affichage/LOD– Sélection à la souris
•Édition interactive du modèle
![Page 9: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/9.jpg)
Inconvénients des arbres•Trop limité :
– Morceaux bien distincts– Trous, pénétration, discontinuités– Besoin de suivre toute la hiérarchie
•Deux extensions : – Graphes de scène– Squelette
![Page 10: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/10.jpg)
Graphes de scène• Nœuds distincts :
• Caméra• Sources lumineuses• Transformations • Groupes• Surfaces • Matériaux
• Surfaces simples– Sphère, cône, cylindre, cube…– Paramètres donnés par transformation précédente
• Instanciation multiple– Graphe acyclique dirigé (DAG)
![Page 11: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/11.jpg)
Graphe de scène OpenInventor
![Page 12: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/12.jpg)
Graphe de scène Java3D
![Page 13: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/13.jpg)
Alias|Wavefront « SBD »
![Page 14: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/14.jpg)
Instanciation
![Page 15: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/15.jpg)
Squelette•Système contraint
•Pas de géométrie, que des « os »
©R
. Barzel, 2002
![Page 16: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/16.jpg)
Squelette•Manipulation directe
•Cinématique inverse
•Skinning pour construire le modèle
![Page 17: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/17.jpg)
Skinning
![Page 18: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/18.jpg)
Skinning•Un objet autour de chaque « os » :
© 1998, Darwin 3D
Gap
![Page 19: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/19.jpg)
Skinning• Joindre les objets :
Étirement
© 1998, Darwin 3D
![Page 20: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/20.jpg)
Skinning•Sommets intermédiaires
© 1998, Darwin 3D
• 50/50 pour chaque os• Pincement visible
![Page 21: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/21.jpg)
Skinning•Sommets intermédiaires
© 1998, Darwin 3D
Poids :
33/66, 50/50 et 66/33
![Page 22: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/22.jpg)
Skinning: les maths•Modèle 3D plus squelette
•Chaque sommet est attaché à un ou plusieurs os
– Somme des poids = 1
•Pose « au repos »– Modèle non déformé
•Pose « animée »– Position squelette donnée– trouver position des sommets
![Page 23: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/23.jpg)
Comment ça marche (1)
•Sommet v, attaché à l’os J1. Au repos :
J1
J0
y
x
v
© J. Gregory, 2003
![Page 24: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/24.jpg)
Comment ça marche (2)•Nouvelle position du squelette
– Trouver nouvelle position du sommet
y
x
v'
v
© J. Gregory, 2003
![Page 25: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/25.jpg)
Comment ça marche (3)•On transforme le sommet v :
– De l’espace du modèle– Dans l’espace lié à l’os
•Le sommet est fixe par rapport à l’os– Donc on peut bouger le squelette
•Re-transformation dans l’espace du modèle– Donne nouvelles coordonnées du sommet,v’
![Page 26: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/26.jpg)
Comment ça marche (4)•Sommet, dans l’espace lié à l’os :
© J. Gregory, 2003
J1
J0
y
x
v
![Page 27: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/27.jpg)
Comment ça marche (5)•Sommet toujours dans la même position, quelle que soit la position du squelette
© J. Gregory, 2003
y
x
v'
v
![Page 28: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/28.jpg)
Comment ça marche (6)•Retour à l’espace du modèle, position du sommet
y
x
v'
v
© J. Gregory, 2003
![Page 29: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/29.jpg)
Avec des maths
•Xi position de la base de l’os i (translation)
X0
y
x
X1
v
© J. Gregory, 2003
![Page 30: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/30.jpg)
Avec des maths (2)
•Qi rotation de l’os i
Q0
y
x
Q1
v
© J. Gregory, 2003
![Page 31: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/31.jpg)
Avec des maths (3)
•Position à l’équilibre de l’os Ji
– Produit matriciel des translations et rotations depuis la racine :
∏=
=j
iiij
0
QXB
![Page 32: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/32.jpg)
Avec des maths (4)•On déplace le squelette (animation) :
J1
J0
y
x
v'
© J. Gregory, 2003
![Page 33: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/33.jpg)
Avec des maths (5)
•Ti la translation pour l’os i, Ri sa rotation :
T0
y
x
T1
R0
R1
v'
© J. Gregory, 2003
![Page 34: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/34.jpg)
Avec des maths (6)•Pose actuelle décrite par matrice :
similaire à la matrice de la pose au repos :
∏=
=j
iiij
0
RTP
∏=
=j
iiij
0
QXB
![Page 35: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/35.jpg)
Avec des maths (7)
•Multiplication de v par Bj-1 pour se ramener
dans l’espace lié à l’os (au repos)– Une fois pour toutes
•Puis multiplication du résultat par Pj pour se ramener dans l’espace du modèle, dans la pose actuelle
![Page 36: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/36.jpg)
Avec des maths (8)•Ce qui nous donne :
vBBPPv
vBPv
vBPv
10
1110
01
0
1
00
−−
=
−
=
−
==
=′
⎟⎟⎠
⎞⎜⎜⎝
⎛⎟⎟⎠
⎞⎜⎜⎝
⎛=′
⎟⎟⎠
⎞⎜⎜⎝
⎛⎟⎟⎠
⎞⎜⎜⎝
⎛=′
∏∏
∏∏
jii
j
ii
j
ii
j
ii
![Page 37: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/37.jpg)
Avec des maths (9)•Calculs effectués pour chaque sommet du modèle
•Tracé des sommets obtenus
• Interpolation des positions pour les sommets qui dépendent de plusieurs os
![Page 38: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/38.jpg)
Avec des maths (10)
• Interpolation pour les sommets qui dépendent de plusieurs os :
1 where
1
00
1
00
=+
′+′=′
⎟⎟⎠
⎞⎜⎜⎝
⎛⎟⎟⎠
⎞⎜⎜⎝
⎛=′
⎟⎟⎠
⎞⎜⎜⎝
⎛⎟⎟⎠
⎞⎜⎜⎝
⎛=′
−
==
−
==
∏∏
∏∏
kj
kkjj
k
ii
k
iik
j
ii
j
iij
ww
ww vvv
vBPv
vBPv
![Page 39: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/39.jpg)
Pause DVD
![Page 40: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/40.jpg)
Principes de l’animation•Tiré de :
“Principles of Traditional AnimationApplied to 3D Computer Animation”
John Lasseter, ACM Computer Graphics, 21(4), 1987
•Qui lui-même… : “The Illusion of Life”
![Page 41: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/41.jpg)
Méthodes de base• Squash and stretch• Timing• Anticipation• Staging• Follow-through and overlapping action• Slow-in, slow-out• Arcs• Exaggeration• Secondary action• Appeal
![Page 42: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/42.jpg)
2 petits films•Pixar Animation Studios
•The adventures of André and Wally B.
•Luxo Jr.
![Page 43: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/43.jpg)
Squash and stretch•Montre le caractère souple de l’objet
– Degré de souplesse
•Volume constant
•Motion blur
© J. L
asseter, 1987
![Page 44: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/44.jpg)
Squash and stretch•Marche aussi avec solides assemblés
© J. L
asseter, 1987
![Page 45: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/45.jpg)
Squash and stretch: motion blur
© J. L
asseter, 1987
![Page 46: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/46.jpg)
Timing•Préparation de l’action
•Perception par le public
•Sensation de masse, inertie
•Émotions– gauche-droite/# inbetweens
![Page 47: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/47.jpg)
Anticipation•Préparation à l’action•Sens anatomique (reculer pour sauter)•Préparation du public
– L’objet va bouger– Quelque chose va apparaître (Luxo)– Action rapide (Wally B.)
•Objets/personnages très lourds
![Page 48: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/48.jpg)
Staging•Placement dans la scène
– Perception de ce qui se passe
•Position de la caméra
•Une idée à la fois– Un seul personnage qui bouge à la fois (Luxo)– Une seule action à la fois
•Contraste avec le reste de la scène– Immobile/mobile
![Page 49: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/49.jpg)
Follow-through and overlapping action
•Follow-through :– Déplacement « cartoon »– Continuer le mouvement– Notion de masse/inertie des objets (Wally B.)
•Overlapping action :– Deux actions qui se suivent– Recouvrement temporel (léger)
![Page 50: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/50.jpg)
Secondary action•Causée par une action principale
•Maintenir l’intérêt du spectateur
•Subordonnée à l’action principale– Cordon de Luxo Jr
![Page 51: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/51.jpg)
Autres méthodes•Slow-in et slow-out
•Arcs
•Exaggeration– cartoon– Faire passer l’émotion– Mais sans excès (rester réaliste)
•Appeal– Charme, agréable, charisme
![Page 52: Modèles hiérarchiques Nicolas Holzschuch Cours dOption Majeure 2 Nicolas.Holzschuch@imag.fr](https://reader035.vdocuments.site/reader035/viewer/2022062404/551d9db5497959293b8d971b/html5/thumbnails/52.jpg)
Contenu du cours•Modèle hiérarchique
– transformations
•Squelettes– Animation– skinning
•Techniques d’animation