La contrainte Action¶
La contrainte Action est puissante. Elle vous permet de contrôler une Action en utilisant les transformations d’un 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 fonctionnent réellement, car les contraintes ne peuvent affecter que les propriétés de transformation des objets ou des os, et non les formes des maillages. Notez également que seule la transformation de l’objet (emplacement, 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, car les contraintes n’influencent pas celles-ci.
Par exemple, supposons que vous ayez défini une action Objet (elle peut être assignée à n’importe quel objet, ou même à aucun objet), et que vous l’ayez mappée sur votre propriétaire par le biais d’une contrainte Action, de sorte que le déplacement de la cible dans l’intervalle (0.0 à 2.0) sur son axe X mappe le contenu de l’action sur le propriétaire dans l’intervalle (0 à 100). Cela signifie que lorsque la propriété X de la cible est à 0.0, le propriétaire sera comme dans la trame 0 de l’action liée ; avec la propriété X de la cible à 1.0, le propriétaire sera comme dans la trame 50 de l’action liée, etc.
Options¶
- Target
L'Identifiant de données (Data ID) utilisé pour sélectionner la cible des contraintes, et n’est pas fonctionnel (état rouge) lorsqu’il n’en a pas. Voir common constraint properties pour plus d’informations.
- Evaluation Time
Cette propriété permet de piloter des objets sans cible de contrainte par interpolation entre les trames Action Start et End. La position relative entre la trame de début et la trame de fin peut être contrôlée à l’aide du curseur value.
Ceci est très utile pour un rigging et des rigs mécaniques plus complexes, car cela signifie que la contrainte Action peut être contrôlée directement avec un Pilote ou une Propriété personnalisée.
- Mix
Specifies how the keyframed transformation from the action is combined with the existing transformation.
- Before Original
The action transformation is added before the existing transformation, as if it was applied to an imaginary parent of the constraint owner. Scale is handled like in the Aligned Inherit Scale mode of bones to avoid creating shear.
- After Original
The action transformation is added after the existing transformation, as if it was applied locally to an imaginary child of the constraint owner. Scale is handled like in the Aligned Inherit Scale mode of bones to avoid creating shear.
- After Original (Full Scale)
The action transformation is added after the existing transformation, as if it was applied locally to an imaginary child of the constraint owner with ordinary parenting. This mode can create shear and is thus not recommended for use.
- Influence
Contrôle le pourcentage d’effet de la contrainte sur l’objet. Voir Propriétés de contrainte communes pour plus d’informations.
Target¶
- 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 “pilote d’action”.
- Target Space
Cette contrainte vous permet de choisir dans quel espace évaluer les propriétés de transformation de sa cible.
- Range Min, Max
Les limites inférieure et supérieure du pilotage transforment la valeur de la propriété.
Avertissement
Malheureusement, ici de nouveau nous retrouvons les limitations de la contrainte :
Quand une propriété de rotation est utilisée comme “pilote”, ces valeurs sont “ramenées” à l’intervalle (-180.0 à 180.0).
Lorsque l’on utilise une propriété d’échelle comme “pilote”, ces valeurs sont limitées à des valeurs nulles ou positives.
Action¶
- 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.
- Frame 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 la correspondance (càd que le propriétaire obtient simplement les propriétés définies à la trame 0 de l’action liée…).
Notes¶
Lorsque l’objet ou l’os possède déjà des contraintes Action, la contrainte suivante utilisant une action nouvellement définie par trame clé doit être ajoutée avant toutes les autres afin d’obtenir la même transformation combinée finale. Ce fait n’est pas affecté par le mode Mix.
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. qu’elle sera “jouée” dans le sens contraire…), à moins que vous ayez les deux valeurs inversées, évidemment!
Quand une action Constraint est utilisée, ce sont les noms du canal de la contrainte qui sont utilisés pour déterminer à quelles contraintes du propriétaire l’action va être appliquée. Ex. si vous avez un canal de contrainte nommé “trackto_empt1”, ses valeurs Influence et/ou Head/Tail (les seules que vous pouvez modifier) seront affectées à celles de la contrainte du propriétaire nommée “trackto_empt1”.
De même, lorsqu’on utilise une action Pose (qui n’a évidemment de sens et ne fonctionne que lorsqu’on contraint un os !), c’est le nom de l’os qui est utilisé pour déterminer quel nom du canal de l’os de l’action à utiliser (par exemple si l’os contraint est nommé “bras”, il utilisera et n’utilisera que le canal de l’os de l’action nommé “bras”…). Malheureusement, l’utilisation d’une action Pose sur un objet armature entier (pour affecter en une fois tous les os keyed dans l’action) ne fonctionnera pas…
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!