La contrainte Transformation

Cette contrainte est plus complexe et versatile que les autres contraintes « transform ». Elle vous permet de faire correspondre un type de propriétés de transformation (càd emplacement, rotation ou redimensionnement) de la cible, au même type ou à un autre type de propriétés de transformation du propriétaire, dans un intervalle donné de valeurs (qui pourrait être différent pour chaque propriété de la cible et du propriétaire). Vous pouvez aussi intervertir les axes, et utiliser les valeurs d’intervalle non comme limites, mais plutôt comme « marqueurs » pour définir une correspondance entre valeurs d’entrée (cible) et celles de sortie (propriétaire).

Ainsi, par exemple, vous pouvez utiliser la position de la cible sur l’axe X pour contrôler la rotation du propriétaire autour de l’axe Z, en précisant qu” 1 unité sur l’axe X de la cible correspond à 10 unités autour de l’axe Z du propriétaire. Les utilisations typiques de cette contrainte comprennent les engrenages (voir note ci-dessous), et la rotation basée sur les paramétrages de position.

Options

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

Le panneau de Transformation.

Target

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.

Extrapolate

Par défaut, les valeurs Min et Max liées aux valeurs d’entrée et de sortie ; toutes les valeurs en dehors de ces plages leur sont attachées. Quand vous activez ce bouton, les valeurs Min et Max ne sont plus des limites strictes mais plutôt des « marqueurs » définissant une correspondance proportionnelle (linéaire) entre les valeurs d’entrée et de celles de sortie correspondantes. illustrons cela avec deux graphiques Fig. fig-constraints-transformation-extrapolate. Dans ces images, la plage d’entrée (en abscisse) est définie entre (1.0 et 4.0), et sa plage de sortie correspondante (en ordonnée), entre (1.0 et 2.0). La courbe jaune représente la correspondance entre entrée et sortie.

Les principes d’extrapolation.
../../../_images/animation_constraints_transform_transformation_extrapolate-1.png

Extrapolate désactivé : les valeurs de sortie sont comprises dans l’intervalle (1.0 à 2.0).

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

Extrapolate activé : les valeurs de sortie sont « libres » pour suivre proportionnellement celles d’entrée.

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

Il contient les réglages d’entrée (depuis la cible).

Location, Rotation, Scale

Les boutons radio vous permettent de sélectionner le type de propriété à utiliser.

Mode (Rotation)

Permet de spécifier le type d’entrée de rotation à utiliser, y compris les différents ordres Euler, 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 swing des modes Swing et X/Y/Z Twist.

X/Y/Z Min, Max

Indépendamment pour chaque axe (X, Y et Z), les champs numériques min et max contrôlent les limites inférieure et supérieure de la plage de valeurs d’entrée. Notez que si une valeur min est supérieure à sa valeur max correspondante, la contrainte se comporte comme si elle avait la même valeur que la valeur max.

Map To

Il contient les réglages de sortie (vers le propriétaire).

Location, Rotation, Scale

Les trois boutons radio vous permettent de sélectionner le type de propriété à contrôler.

Order (Rotation)

Pour la rotation, permet de spécifier quel ordre Euler utiliser lors de l’évaluation de la contrainte. Par défaut, on utilise l’ordre du propriétaire de la contrainte.

X/Y/Z Source Axis

Les trois sélecteurs d’axes vous permettent de sélectionner l’axe d’entrée à faire correspondre, respectivement (du haut vers le bas), aux axes de sortie (propriétaire) X, Y et Z.

Min, Max

Les champs numériques Min et Max contrôlent les limites inférieure et supérieure de la plage de valeurs de sortie, indépendamment pour chaque axe correspondant. Notez que si une valeur min est supérieure à sa valeur max correspondante, la contrainte se comporte comme si elle avait la même valeur que la valeur max.

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.

  • Dans l’utilisation des propriétés de transformation de rotation de la cible comme entrée, quelles que soient les valeurs réelles, la contrainte va toujours « les reprendre » dans l’intervalle (-180 à 180). Par ex. 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 - ...\)

    C’est la raison pour laquelle cette contrainte n’est pas réellement adaptée pour les engrenages !

  • 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. Ceci implique que vous ne pouvez pas créer des correspondances « inversées »…

Exemple