La contrainte Action

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

L’idée sous-jacente de la contrainte Action est très similaire à celle derrière les Drivers, sauf que la première utilise une action entière (càd plusieurs F-curves du même type), tandis que la dernière contrôle une simple F-curve de leur “propriétaire”…

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

../../../_images/animation_constraints_relationship_action_panel.png

Panneau Action.

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

Spécifie comment la transformation par trames clés de l’action est combinée avec la transformation existante. Ces modes sont les mêmes que dans la contrainte Copy Transforms.

Before/After Original (Full)

La transformation par trames clés est ajoutée avant/après la transformation existante, comme si elle était appliquée à un parent/enfant imaginaire du propriétaire de la contrainte. L’échelle est gérée comme dans le mode le plus basique Full Inherit Scale des os, ainsi la combinaison d’une échelle non uniforme et d’une rotation créera un cisaillement.

Before/After Original (Aligned)

La transformation par trames clés est ajoutée avant/après la transformation existante, comme si elle était appliquée à un parent imaginaire du propriétaire de la contrainte. L’échelle est traitée comme dans le mode Aligned Inherit Scale des os pour éviter de créer un cisaillement.

Ceci est équivalent à l’utilisation de l’option Split Channels, mais en remplaçant le composant de localisation par le résultat de Full. Si seule l’échelle uniforme est utilisée, le résultat est identique à Full.

Before/After Original (Split Channels)

Combine séparément les composantes d’emplacement, de rotation et d’échelle de la transformation, de manière similaire à une séquence de trois contraintes Copy Location, Copy Rotation et Copy Scale (avec Offset) regroupées en une seule opération ; le résultat peut être légèrement différent en cas d’entrées cisaillées.

Contrairement à Aligned, dans ce mode, les canaux d’emplacement sont simplement additionnés, de sorte que les composantes de rotation et d’échelle des transformations d’entrée ne peuvent pas affecter l’emplacement résultant.

Avertissement

Pour des raisons techniques, les modes autres que After Original (Full) et After Original (Aligned) peuvent ne pas fonctionner comme prévu pour les contraintes sur les objets (pas les structures) sans parent.

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

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…

  • Les actions peuvent également être marquées comme Asset, mais avec certaines limitations. Pour plus d’informations, voir Pose Library.

Exemple