Exemple d'introduction à l'usage des shape keys et des drivers pour le rig dans Blender
Ce rapide tutoriel présente comment obtenir dans Blender un rig permettant l'effet suivant :
Cet exemple permet notamment de voir les shape keys et les drivers, deux outils extrêmement pratiques et puissants pour le rig.
Le résultat final peut être téléchargé ici : eyerig_final.blend
Créer un cercle, l'extruder sur place (E, puis clic droit), réduire la taille de l'extrusion (S), combler l'ouverture (F).
Tout sélectionner (A, deux fois), déplier (U, Unwrap). Le petit cercle intérieur doit être uniquement noir, et le grand cercle extérieur doit inclure tout l’œil.
Ne pas hésiter à passer en affichage de texture, dans la vue 3D :
On doit obtenir quelque chose comme ceci :
En changeant la taille du cercle intérieur, on obtient déjà l'effet escompté. On va donc associer cette déformation à la position d'un objet de contrôle.
Créer deux shape keys de l’œil, une ouverte et l'autre fermée.
Passer en object mode, dans l'onglet Object Data (maillage), et cliquer sur le symbole Plus dans la liste de Shape Keys. Cliquer une deuxième fois pour créer une seconde clef.
Dès lors, passer en edit mode permet de modifier la shape key sélectionnée. En éditer une des deux pour y dilater la pupille :
Modifier le paramètre Value de la clef de forme dilatée permet donc maintenant d'alterner entre les versions normales et dilatées de l’œil. On peut ensuite lier ce paramètre à la position d'un objet de contrôle.
Pour créer ce lien, on utilise les drivers. Faire un clic droit sur le champ à contrôler, le champ Value de la clef de forme, puis Add Driver > Manually Create Later (Single).
Créer ensuite un objet, par exemple un cube, qui va servir de contrôle. On ouvre ensuite une fenêtre de courbes, en mode Drivers (en non F-Curve). Sélectionner l'objet de l'oeil, cliquer sur le canal correspondant à la valeur de la clef de forme à laquelle on vient d'ajouter un driver (ici Value (Pupille Dilatée). Plusieurs onglets sont alors disponibles dans le panneau de droite (N). Aller dans l'onglet Drivers.
Il est possible qu'un message d'erreur s'affiche, comme sur l'image ci-dessus, indiquant ERROR: Python auto-execution disabled. Pour régler ce problème, aller dans les préférences (Ctrl+Alt+U), onglet File.
Retourner ensuite dans la fenêtre de courbe, toujours avec l’œil sélectionné. Configurer la variable var pour pointer vers la position X de l'objet de contrôle (ici Cube). Spécifier ensuite que la valeur de la clef de forme doit être var.
Remarque En choisissant juste var
comme expression, la position du contrôle est utilisée telle quelle, et donc ce contrôle doit être entre 0.0 et 1.0 selon l'axe X. Pour que la transition se fasse entre d'autres valeurs, par exemple 5 et 10, la formule serait (var - 5) / (10 - 5)
.
À ce stade, le déplacement du cube doit déjà influer l’œil comme escompté. Afin de nettoyer la scène, commencer par nommer correctement les objets, puis ajouter des contraintes sur le contrôleur :
De cette façon, tout déplacement (avec G) de l'objet se fera selon l'axe X et limité entre 0.0 et 1.0.
Il est aussi possible de forcer l'affichage du contrôleur à être en fil de fer :
Et même de lui ajouter un cadre, que l'on peut rendre non-sélectionnable :
Et voilà ! Les outils vus pour ce petit exemple sont bien sûr réutilisables dans plein d'autres contextes ! Pour rappel, le fichier résultat est disponible en téléchargement ici : eyerig_final.blend