Contrainte Action

La contrainte Action est puissante. Elle vous permet de contrôler une Action en utilisant les transformations d’une autre objet.

The underlying idea of the Action constraint is very similar to the one behind the Drivers, except that the former uses a whole action (i.e. multiple F-curves of the same type), while the latter controls a single F-curve of their « owner »…

Notez que même si la contrainte accepte le type d’action Mesh, seuls les types Object, Pose et Constraint sont réellement fonctionnels, étant donné que les contraintes peuvent uniquement affecter les propriétés de transformation d’objets et d’os, et pas les formes des maillages. Notez aussi que seule la transformation d’objet (position, rotation, échelle) est affectée par l’action, si l’action contient des trames clés pour d’autres propriétés, elles sont ignorées, étant donné que les contraintes ne les influencent pas.

As an example, let us assume you have defined an Object action (it can be assigned to any object, or even no object at all), and have mapped it on your owner through an Action constraint, so that moving the target in the (0.0 to 2.0) range along its X axis maps the action content on the owner in the (0 to 100) frame range. This will mean that when the target’s X property is 0.0 the owner will be as if in frame 0 of the linked action; with the target’s X property at 1.0 the owner will be as if in frame 50 of the linked action, etc.

Options

Target
Identifiant de données (Data ID) utilisée pour sélectionner la cible de la contrainte, et n’est pas fonctionnelle (état rouge) quand elle n’en a aucune.
Bone
Quand la cible est un objet armature, utilisez ce champ pour sélectionner l’os cible.
Transform Channel
Ce sélecteur contrôle la propriété de transformation (position, rotation, échelle le long/autour d’un de ses axes) de la cible à utiliser comme « contrôleur d’action ».
Target Space
Cette contrainte vous permet de choisir dans quel espace évaluer les propriétés de transformation de sa cible.
To Action

Sélectionnez le nom de l’action que vous voulez utiliser.

Avertissement

Même s’il ne pourrait pas être dans un état rouge (problèmes de rafraîchissement de l’UI…), cette contrainte n’est évidemment pas fonctionnelle quand ce champ ne contient pas une action valide.

Object Action
Les os seulement, si l’option est activée, celle-ci va faire que l’os contraint utilise la partie « objet » de l’action liée, à la place de la partie « pose du même nom ». Ceci vous permet d’appliquer l’action d’un objet sur un os.
Target Range Min/Max

The lower and upper bounds of the driving transform property value.

Avertissement

Malheureusement, ici de nouveau nous retrouvons les limitations de la contrainte :

  • Quand une propriété de rotation est utilisée comme « contrôleur », ces valeurs sont « ramenées » à l’intervalle (-180.0 à 180.0).
  • Quand une propriété dimensionnement est utilisée comme « contrôleur », ces valeurs sont limitées à null ou à des valeurs positives.
Action Range Start/End

Les trames de début et de fin de l’action à faire correspondre.

Note

  • Ces valeurs doivent être strictement positives.
  • Par défaut, les deux valeurs sont mises à 0, ce qui désactive le mapping (càd que le propriétaire obtient simplement les propriétés définies à la trame 0 de l’action liée…).

Notes

  • When the linked action affects some location properties, the owner’s existing location is added to the result of evaluating this constraint (exactly as when the Offset button of the Copy Location constraint is enabled…).
  • Quand l’action liée affecte certaines propriétés de dimensionnement, l’échelle actuelle du propriétaire est multipliée par le résultat de l’évaluation de cette contrainte.
  • Quand l’action liée affecte certaines propriétés de rotation, la rotation actuelle du propriétaire est remplacée par le résultat de l’évaluation de cette contrainte.
  • Contrairement à d’habitude, vous pouvez avoir une valeur Start supérieure à celle de End, ou celle de Min supérieure à celle de Max : ceci va inverser l’affectation de l’action (càd. elle sera « jouée » dans le sens contraire…), à moins que vous ayez les deux valeurs inversées, évidemment !
  • When using a Constraint action, it is the constraint channel’s names that are used to determine to which constraints of the owner apply the action. E.g. if you have a constraint channel named « trackto_empt1 », its keyed Influence and/or Head/Tail values (the only ones you can key) will be mapped to the ones of the owner’s constraint named « trackto_empt1 ».
  • Similarly, when using a Pose action (which is obviously only meaningful and working when constraining a bone!), it is the bone’s name that is used to determine which bone channel’s names from the action to use (e.g. if the constrained bone is named « arm », it will use and only use the action’s bone channel named « arm »…). Unfortunately, using a Pose action on a whole armature object (to affect all the keyed bones in the action at once) will not work…
  • Note also that you can use the pose library feature to create/edit a Pose action data-block… just remember that in this situation, there is one pose per frame!