TD2 : Modèles hiérarchiques et skinning
Contenu du TD
Squelette animé
Construisez un modèle de bras articulé à trois morceaux. Les paramètres, pour chaque morceau du bras, est l'angle de rotation theta i. Au repos, les trois morceaux du bras sont alignés.Le squelette de programme fourni contient toute la partie interface utilisateur. Il vous reste à écrire la fonction drawObject, qui utilise les paramètres, et qui affiche le squelette du bras.
Modèle contrôlé par le squelette
Une fois que vous avez construit et animé le bras, mettez lui de la chair en utilisant les algorithmes de skinning vus en cours. Testez les différents algorithmes, et observez leur comportement :
- Skinning sans points intermédiaires,
- Skinning avec points intermédiaires,
- Skinning avec points intermédiaires et influence sur les extrémités du morceau voisin.
Pour le skinning, vous avez besoin des coordonnées explicites des extrémités du bras ou des muscles. Il n'est donc pas recommandé d'utiliser les transformations OpenGL, mais plutot de calculer directement ces coordonnées (à l'aide des sinus et cosinus des angles de rotation).
Le corrige est en ligne. Vous pouvez regarder les effets du skinning. L'interface utilisateur a été écrite pour un clavier AZERTY, n'hésitez pas à la modifier si vous avez un QWERTY.
A-Z-E : choix du morceau de bras qui bouge Q-S-D-F-G : choix de la méthode de tracé (que les os, avec la peau, skinning...) C : avec ou sans les traits de construction Fleches gauche-droite : modifier tmin Fleches haut-bas : faire bouger le bras.
Si vous avez fini avant les autres
- Étendez ce programme à un modèle de bras 3D. Construisez simplement un cylindre qui a le squelette pour axe, et animez-le.
- Faites varier la largeur des morceaux du bras, pour plus de réalisme.
- Construisez un modèle plus complexe articulé autour de ce squelette, par exemple un biceps (gonflé au milieu du bras). Essayez de faire en sorte que le biceps se gonfle si le bras se plie.