Flux de travail et exemples

Voici quelques exemples de pilotes et de flux de travail.

Flux de travail

pilote de transformation

Cet exemple vous montre la manière d’installer un pilote de transformation. D’abord, assurez-vous que vous êtes dans la vue Front Ortho. Pavnum5, Pavnum1.

  1. En Mode objet, sélectionnez puis dupliquez le Cube par défaut. Maj-D. Déplacez « Cube.001 » à une nouvelle position.
  2. Avec « Cube.001 » sélectionné, ajoutez un seul pilote à la propriété Rotation Y.
  3. Ouvrez l”Éditeur Graph, mettez le Mode à Drivers.
  4. Show Only Selected est utile en étant désactivé pour les pilotes, marqué en vert dans l’image.
  5. Dans la région des canaux, sélectionnez la propriété Y Euler Rotation.
  6. Pressez N pour ouvrir la région des propriétés, déroulez le panneau Drivers.
  7. Modifiez le Type en Averaged Value, ceci va retourner la valeur moyenne des variables de pilote.
  8. Modifiez les réglages de variable du pilote :
    • Type – Transform Channel
    • Ob/Bone – Cube
    • Transform Type – X Location
    • Transform Space – World Space
../../_images/animation_drivers_workflow-examples_transform-driver-1.png
../../_images/animation_drivers_workflow-examples_transform-driver-2.png

Une fois terminé, « Cube.001 » devrait tourner sur l’axe Y pendant le déplacement de « Cube » de gauche à droite.

Exemples

Driver Expression

Voici quelques exemples utilisant l’expression scriptée Expr pour fixer la Driver Value.

../../_images/animation_drivers_workflow-examples_object-rotation.png

Exemple de rotation d’objet.

Orbiter autour d’un point

Voici les deux pilotes ajoutés au Cube : Position X et Position Y.

Les expressions scriptées sont utilisées pour fixer la position de l’objet.

X Location Expr
0 + (sin(frame / 8) * 4)
(frame/8) : est la trame courante de l’animation, divisée par 8 pour ralentir l’orbite. (sin( )*4) : ceci retourne le sinus de (frame/8), puis multiplie par 4 pour un cercle plus grand. 0 + : est utilisé pour contrôler le décalage de la position X de l’orbite.
Y Location Expr
0 + (cos(frame / 8) * 4)
(frame/8) : est la frame courante de l’animation, divisée par 8 pour ralentir l’orbite. (cos( )*4) : ceci retourne le cosinus de (frame/8), puis multiplie par 4 pour un cercle plus grand. 0 + : est utilisé pour contrôler le décalage de la position Y de l’orbite.

frame est le même que bpy.context.scene.frame_current.

Espace de nom du pilote

Il y a une liste de fonctions et de propriétés de pilote intégrées. Celles-ci peuvent être affichées via la Console Python

>>> bpy.app.driver_namespace['
                              __builtins__']
                              __doc__']
                              __loader__']
                              __name__']
                              __package__']
                              acos']
                              acosh']
                              asin']
                              asinh']
                              atan']
                              atan2']
                              atanh']
                              bpy']
                              ceil']
                              copysign']
                              cos']
                              cosh']
                              ..

Ce script va ajouter une fonction à l’espace de nom du pilote, qui peut alors être utilisé dans l’expression driver_func(frame)

import bpy

def driver_func(val):
    return val * val    # return val squared

# add function to driver_namespace
bpy.app.driver_namespace['driver_func'] = driver_func

Shape Key Driver

Cet exemple montre un pilote de forme clé. Le pilote a été ajouté à la valeur de la forme clé.

../../_images/animation_drivers_workflow-examples_shape-key.png

Exemple de pilote de forme clé.

Cet exemple utilise la Rotation Z de l’os « b » de l’armature pour contrôler la valeur d’une forme clé. Le mode de rotation de l’os est mis à XYZ Euler.

The Driver F-Curve is mapped like so:

  • Bone Z Rotation 0.0 (0.0): Shape Key value 0.0
  • Bone Z Rotation -2.09 (-120.0): Shape Key value 1.0

Ce type de pilote peut aussi être installé avec le type de variable Rotational Difference.

Voir Formes clés pour plus d’informations.

Pilotes et plusieurs clés de forme associées

Les captures d’écran suivantes illustrent la combinaison de formes clés, d’os, et de pilotes pour construire des formes clés chaînées partageant une simple racine. Bien que cela n’ait pas l’avantage du Evaluation Time d’une forme clé absolue, cela vous permet d’avoir des relations plus complexes entre vos formes clés.

../../_images/animation_drivers_workflow-examples_for-multiple-shape-keys-shape-base.png

Forme clé Basis.

../../_images/animation_drivers_workflow-examples_for-multiple-shape-keys-shape-1.png

Forme clé Key1.

../../_images/animation_drivers_workflow-examples_for-multiple-shape-keys-shape-2a.png

Forme clé Key2A.

../../_images/animation_drivers_workflow-examples_for-multiple-shape-keys-shape-2b.png

Forme clé Key2B.

La clé de forme Basis a les piles complètement tassées. Key1 a la base complètement étendue. Key2A a la pile gauche complètement étendue. Key2B a la pile droite complètement étendue. Key2A et Key2B sont tous deux en rapport avec Key1 (comme vous pouvez voir dans le champ en bas à droite du panneau Shape Keys).

../../_images/animation_drivers_workflow-examples_for-multiple-shape-keys-key1.png

Key1 doit gérer les valeurs conflictuelles des deux os.

../../_images/animation_drivers_workflow-examples_for-multiple-shape-keys-key2a.png

Key2A a des coefficients de générateur différents de sorte qu’il est activé dans une plage différente de la position de l’os.

../../_images/animation_drivers_workflow-examples_for-multiple-shape-keys-key2b.png

Key2B est le même que Key2A, mais contrôlé par le second os.

La valeur de Key1 est liée à la position des os par un pilote avec deux variables. Chaque variable utilise la coordonnée Z du monde d’un os et utilise la valeur maximale pour déterminer la manière avec laquelle la base sera étendue. Le générateur polynomial est conçu de telle manière que le haut de la pile dominante devrait s’aligner avec l’os pour cette pile.

La valeur de Key2A est liée à la position de « Bone.L ». Ses paramètres de générateur sont élaborées de sorte que quand la valeur de Key1 atteint 1, la valeur de Key2A commence à augmenter au dessus de zéro. De cette manière, le haut de la pile gauche va se déplacer avec bone.L (essentiellement).

La valeur de Key2B est liée à la position de « Bone.R ». Ses paramètres de générateur sont semblables à ceux de Key2A de sorte que le haut de la pile droite va se déplacer avec bone.R (essentiellement).

../../_images/animation_drivers_workflow-examples_for-multiple-shape-keys-retracted.png

When both bones are low, Key2B and Key2A are deactivated and Key1 is at low influence.

../../_images/animation_drivers_workflow-examples_for-multiple-shape-keys-extended.png

Étendu.

Bien que ce soit plutôt facile pour bone.L et bone.R d’être dans une position qui indique des valeurs en conflit pour Key1, il y aura des fois où les os ne s’alignent pas avec les hauts de leurs piles respectives. Si le pilote pour Key1 devait utiliser Average ou Minimum au lieu de Maximum pour déterminer la valeur de la forme clé alors les « conflits » entre bone.L et bone.R seraient résolus différemment. Vous allez choisir selon les besoins de votre animation.