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 Pilotes, 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¶
- Target
Identifiant de données (Data ID) utilisée pour sélectionner la cible des contraintes, et n’est pas fonctionnelle (état rouge) quand elle n’en a aucune. Voir propriétés communes des contraintes 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.
- Before Original
La transformation de l’action est ajoutée avant 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.
- After Original
La transformation de l’action est ajoutée après la transformation existante, comme si elle était appliquée localement à un enfant 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.
- After Original (Full Scale)
La transformation de l’action est ajoutée après la transformation existante, comme si elle était appliquée localement à un enfant imaginaire du propriétaire de la contrainte avec un parentage ordinaire. Ce mode peut créer un cisaillement et son utilisation n’est donc pas recommandée.
- Influence
Contrôle le pourcentage d’effet de la contrainte sur l’objet. Voir propriétés communes de la contrainte 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…
Notez également que vous pouvez utiliser la pose library feature pour créer/éditer un bloc de données d’action Pose… Rappelez-vous seulement que dans cette situation, il y a une pose par trame !