Flux de travail et exemples

Voici quelques exemples de contrôleurs et de flux de travail.

Flux de travail

Contrôleur transform

Cet exemple vous montre la manière d’installer un contrôleur transform. 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 contrôleur à 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 contrôleurs, 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 contrôleur.
  8. Modifiez les réglages de variable du contrôleur :
    • 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 contrôleurs 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 contrôleur

Il y a une liste de fonctions et de propriétés de contrôleur 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 contrôleur, 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 contrôleur de forme clé. Le contrôleur a été ajouté à la valeur de la forme clé.

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

Exemple de contrôleur 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 contrôleur peut aussi être installé avec le type de variable Rotational Difference.

Voir Formes clés pour plus d’informations.

Drivers and Multiple Relative Shape Keys

Les captures d’écran suivantes illustrent la combinaison de formes clés, d’os, et de contrôleurs 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.

The Basis shape key has the stacks fully retracted. Key1 has the base fully extended. Key2A has the left stack fully extended. Key2B has the right stack fully extended. Key2A and Key2B are both relative to Key1 (as you can see in the field in the bottom right of the Shape Keys panel).

../../_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 contrôleur 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 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.

Alors que c’est 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 contrôleur pour Key1 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 résolus différemment. Vous allez choisir selon les besoins de votre animation.