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¶
- 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).
- 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°
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.