Transformation Constraint – Примус «Трансформація»

This constraint is more complex and versatile than the other «transform» constraints. It lets you set the location, rotation or scale of an object/bone based on the location, rotation or scale of another, mixing and matching axes as you see fit. An example could be to set a gear’s X rotation based on the Y coordinate of a rail next to it.

The constraint works with input and output value ranges, one for each axis. It first clamps the input value to the Map From range, then offsets and scales it to the corresponding Map To range. This lets you, say, map a Y coordinate in the range (-3m, 3m) to an X rotation in the range (0, 180°).

Options – Опції

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

Панель для Transformation.

Target – Ціль

The reference object to read a transformation property from. If you don’t select one, the constraint’s icon will turn red and it will have no effect.

See common constraint properties for more information.

Bone – Кістка

If Target is an Armature, you can optionally choose a bone here to use the transformation of that bone instead of the armature object as a whole.

Extrapolate – Екстраполювання

By default, the input and output values are clamped to the Min/Max values. When you enable Extrapolate, they’re allowed to go beyond these limits. This is illustrated with the graphs below, where the X axis represents the input (Map From set to Min = 1 and Max = 4) and the Y axis represents the output (Map To set to Min = 1 and Max = 2).

The Extrapolate option.
../../../_images/animation_constraints_transform_transformation_extrapolate-1.png

Extrapolate disabled: the output values are limited to the Map To range.

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

Extrapolate enabled: the output values can extend beyond the limits.

Target/Owner – Ціль/Володілець

Стандартна конверсія між просторами. Для отримання додаткової інформації дивіться common constraint properties.

Influence – Вплив

Controls the percentage of effect the constraint has on the object. See common constraint properties for more information.

Map From – Розкладка Із

The transformation to read from the Target (or Bone).

Location, Rotation, Scale – Локація, Обертання, Масштаб

The type of transformation to read.

Mode Rotation

The type of rotation to use, including different Euler orders, Quaternion, and other Rotation Channel Modes. Defaults to using the Euler order of the constraint owner.

In the Quaternion mode, the channels are converted to weighted angles in the same way as the swing angles of the Swing and X/Y/Z Twist modes.

X/Y/Z Min, Max – Мін, Макс

The input value range for each axis.

Map To – Розкладка Для

The transformation to apply to the owner.

Location, Rotation, Scale – Локація, Обертання, Масштаб

The type of transformation to apply.

Order Rotation

Which Euler order to use. Defaults to the order of the constraint owner.

X/Y/Z Source Axis – Вісь Джерела

For each of the three output axes, lets you choose the input axis that it should take its value from. You can select the same input axis multiple times.

Min, Max – Мін, Макс

The output value range for each axis.

Mix – Мішання

Визначає, як результат цього примуса комбінується з наявною трансформацією. Набір доступних варіантів варіюється на основі типу цієї трансформації.

Replace – Заміна

Результат цього примусу замінює наявну трансформацію.

Multiply Scale

Нові значення множаться на наявні значення осей.

Add Location Rotation

Нові значення додаються до наявних значень осей.

Before Original Rotation

The new rotation is added before the existing rotation, as if it were applied to a parent of the constraint owner.

After Original Rotation

The new rotation is added after the existing rotation, as if it were applied to a child of the constraint owner.

Примітка

  • З історичних причин, режим Mix стандартно задано як Add для локації та обертання та як Replace для масштабування.

  • When using the rotation of the target as input, whatever the real values are, the constraint will always «take them back» into the (-180 to 180) range. E.g. if the target has a rotation of 420 degrees around its X axis, the values used as X input by the constraint will be:

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

    As such, this constraint is not really suited for transforming an object based on a gear’s rotation. Rotating a gear based on an object’s transformation works fine, however.

  • Подібно, коли масштабові властивості трансформування цілі використовуються як увід, то незалежно від наявних реальних значень, примус завжди буде приймати їх абсолютні значення (тобто, інвертувати від’ємні у додатні).

  • When a Min value is higher than its corresponding Max one, both are considered equal to the Max one. This means you cannot create «reversed» mappings.

Example – Приклад

In the following example, we add a constraint to a gear that sets its X rotation based on the Y position of a 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

Before moving the rail.

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

After moving the rail.

By default, the gear will stop rotating if the rail goes outside the (-3m, 3m) range. You can enable Extrapolate to change this.