La contrainte Transformation

Cette contrainte est plus complexe et polyvalente que les autres contraintes de “transformation”. Il vous permet de définir l’emplacement, la rotation ou l’échelle d’un objet/os en fonction de l’emplacement, de la rotation ou de l’échelle d’un autre, en mélangeant et en faisant correspondre les axes comme bon vous semble. Un exemple pourrait être de définir la rotation X d’un engrenage en fonction de la coordonnée Y d’un rail à côté.

La contrainte fonctionne avec des plages de valeurs d’entrée et de sortie, une pour chaque axe. Elle limite d’abord la valeur d’entrée à la plage Map From, puis la décale et la met à l’échelle selon la plage Map To correspondante. Cela vous permet, par exemple, de mapper une coordonnée Y dans la plage (-3 m, 3 m) à une rotation X dans la plage (0, 180°).

Options

../../../_images/animation_constraints_transform_transformation_panel.png

Le panneau de Transformation.

Cible

L’objet de référence à partir duquel lire une propriété de transformation. Si vous n’en sélectionnez pas, l’icône de la contrainte deviendra rouge et n’aura aucun effet.

Voir les propriétés de contrainte communes pour plus d’informations.

Bone (Os)

Si Target (la cible) est une Armature, vous pouvez éventuellement choisir un os ici pour utiliser la transformation de cet os au lieu de l’objet armature dans son ensemble.

Extrapolate

Par défaut, les valeurs d’entrée et de sortie sont limitées aux valeurs Min/Max. Lorsque vous activez Extrapolate (Extrapoler), on est autorisé à dépasser ces limites. Ceci est illustré par les graphiques ci-dessous, où l’axe X représente l’entrée (Map From défini sur Min = 1 et Max = 4) et l’axe Y représente la sortie (Map To défini sur Min = 1 et Max = 2).

L’option Extrapolate.
../../../_images/animation_constraints_transform_transformation_extrapolate-1.png

Extrapolate désactivé : les valeurs de sortie limitées à la plage Map To.

../../../_images/animation_constraints_transform_transformation_extrapolate-2.png

Extrapolate activé : les valeurs de sortie peuvent s’étendre au-delà des limites.

Target/Owner

Conversion standard entre les espaces. Voir propriétés des contraintes communes pour plus d’informations.

Influence

Contrôle le pourcentage d’effet de la contrainte sur l’objet. Voir Propriétés de contrainte communes pour plus d’informations.

Map From

La transformation à lire depuis Target (la cible) (ou Bone (l’os)).

Location, Rotation, Scale

Le type de transformation à lire.

Mode Rotation

Le type de rotation à utiliser, y compris les différents ordres Euler, de Quaternion et autres modes de canaux de rotation. Par défaut, on utilise l’ordre Euler du propriétaire de la contrainte.

Dans le mode Quaternion, les canaux sont convertis en angles pondérés de la même manière que les angles de swing des modes Swing and X/Y/Z Twist.

X/Y/Z Min, Max

La plage de valeurs d’entrée pour chaque axe.

Map To

La transformation à appliquer au propriétaire.

Location, Rotation, Scale

Le type de transformation à appliquer.

Order Rotation

Quel ordre Euler utiliser. La valeur par défaut est l’ordre du propriétaire de la contrainte.

X/Y/Z Source Axis

Pour chacun des trois axes de sortie, vous permet de choisir l’axe d’entrée dont il doit prendre sa valeur. Vous pouvez sélectionner le même axe d’entrée plusieurs fois.

Min, Max

La plage de valeurs de sortie pour chaque axe.

Mix

Spécifie comment le résultat de la contrainte est combiné à la transformation existante. L’ensemble des choix disponibles varie en fonction du type de transformation.

Replace

Le résultat de la contrainte remplace la transformation existante.

Multiply Scale

Les nouvelles valeurs sont multipliées par les valeurs d’axe existantes.

Add Location Rotation

Les nouvelles valeurs sont ajoutées aux valeurs d’axe existantes.

Before Original Rotation

La nouvelle rotation est ajoutée avant la rotation existante, comme si elle était appliquée à un parent du propriétaire de la contrainte.

After Original Rotation

La nouvelle rotation est ajoutée après la rotation existante, comme si elle était appliquée à un enfant du propriétaire de la contrainte.

Note

  • Pour des raisons historiques, le mode Mix a pour valeurs par défaut Add pour la position et la rotation, et Replace pour la mise à l’échelle.

  • Lorsqu’on utilise la rotation de la cible en entrée, quelles que soient les valeurs réelles, la contrainte les “ramènera toujours” dans la plage (-180 à 180). Par exemple : si la cible a une rotation de 420 degrés autour de son axe X, les valeurs utilisées comme entrée X par la contrainte seront :

    \(((420 + 180) modulo 360) - 180 = 60 - 180 = -120\)

    En tant que telle, cette contrainte n’est pas vraiment adaptée pour transformer un objet en fonction de la rotation d’un engrenage. Cependant, faire tourner un engrenage en fonction de la transformation d’un objet fonctionne très bien.

  • De même, dans l’utilisation des propriétés de transformation d’échelle de la cible comme entrée, quelles que soient les valeurs réelles, la contrainte va toujours prendre leurs valeurs absolues (càd. qu’elle va inverser les valeurs négatives).

  • Quand une valeur min est supérieure à sa valeur correspondante Max, les deux sont considérées égales à Max. Cela signifie que vous ne pouvez pas créer de mappages “inversés”.

Exemple

Dans l’exemple suivant, nous ajoutons une contrainte à un engrenage qui définit sa rotation X en fonction de la position Y d’un rail :

  • Target: Rail object

  • Map From: Location

    • Y Min: -3m

    • Y Max: 3m

  • Map To: Rotation

    • X Source Axis: Y

    • X Min: 0°

    • X Max: 180°

../../../_images/animation_constraints_transform_example_before.png

Avant de déplacer le rail.

../../../_images/animation_constraints_transform_example_after.png

Après avoir déplacé le rail.

Par défaut, l’engrenage cessera de tourner si le rail sort de la plage (-3 m, 3 m). Vous pouvez activer Extrapolate (Extrapoler) pour modifier cela.