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

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

Так, наприклад, ви можете використовувати позицію цілі вздовж осі X для керування обертанням володільця навколо осі Z, зазначивши, що 1 одиниця уздовж осі X цілі відповідає 10 одиницям навколо осі Z володільця. Типові використання цього – приводи, шестерні (дивіться примітку нижче), а також обертання на основі укладів локацій.

Опції – Options

Ціль – Target
Поле Ідентифікатор Даних — Data ID використовується для вибору цілі для примусу, і поки вона не вибрана, то примус буде не функціональним (фон поля імені буде забарвлений червоним).
Екстраполяція – Extrapolate

Стандартно, значення Min та Max обмежують увідні та вивідні значення; усі значення поза цими діапазонами відсікаються мінімум і максимумом. Коли ви вмикаєте цю кнопку, то ці значення Min та Max більше не є жорсткими лімітами, а скоріше «мітками», що визначають пропорційне (лінеарне) розкрадання між увідними та відповідними вивідними значеннями. Давайте проілюструймо це за допомогою двох графів на Ілюстрації Принципи цієї Екстраполяції.. На цих картинках, увідний діапазон (абсциса) задано як (1.0 to 4.0), та відповідний йому вивідний діапазон (ордината) як (1.0 to 2.0). Жовта крива представляє розкладання між уводом та виводом.

Принципи цієї Екстраполяції.
../../../_images/animation_constraints_transform_transformation_extrapolate-1.png

Екстраполяція вимкнена: вивідні значення обмежені всередині діапазону (1.0 to 2.0).

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

Екстраполяція увімкнена: вивідні значення є «вільними» пропорційно слідувати увідним.

Джерело – Source

Містить увідні устави (від цілі).

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

Ці радіокнопки дозволяють вам вибрати, який тип властивості використовувати.

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

Mode (Rotation)

Allows specifying the type of rotation input 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.

Із – From
Independently for each axis (X, Y, and Z) the min and max number fields control the lower and upper bounds of the input value range. Note that if a min value is higher than its corresponding max value, the constraint behaves as if it had the same value as the max one.
Розкладання Джерела на Призначення – Source to Destination Mapping
Ці три вибірник осі розкладання – Axis Mapping дозволяють вам вибрати, яка вісь уводу для розкладки на, відповідно (зверху вниз) на осі X, Y та Z виводу (володілець).

Призначення – Destination

Містить устави виводу (володілець).

Розкладка На – Map To

Ці три радіокнопки дозволяють вам вибрати тип властивості для керування ним.

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

Order (Rotation)
For rotation, allows specifying which Euler order to use during evaluation of the constraint. Defaults to using the order of the constraint owner.
У - To
The min and max number fields control the lower and upper bounds of the output value range, independently for each mapped axis. Note that if a min value is higher than its corresponding max value, the constraint behaves as if it had the same value as the max one.
Mix

Specifies how the result of the constraint is combined with the existing transformation. The set of available choices varies based on the type of transformation.

Replace
The result of the constraint replaces the existing transformation.
Multiply (Scale)
The new values are multiplied with the existing axis values.
Add (Location, Rotation)
The new values are added to the existing axis values.
Before Original (Rotation)
The new rotation is added before the existing rotation, as if it was applied to a parent of the constraint owner.
After Original (Rotation)
The new rotation is added after the existing rotation, as if it was applied to a child of the constraint owner.
Простір – Space
Стандартна конверсія між просторами.

Примітка

  • For historical reasons, the Mix mode defaults to Add for location and rotation, and Replace for scale.

  • Коли використовуються властивості трансформи обертання цілі як увід, незалежно від реальності значень, то цей примус завжди буде «брати їх назад» у діапазон (-180 до 108). Наприклад, якщо ціль має оберт на 420 градусів навколо її осі X, то значення, використовувані цим примусом як увід X будуть:

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

    Ось чому цей примус реально не підходить для шестерень, приводів!

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

  • Зауважте, що коли значенням Min вище, ніж відповідне йому значення Max, то цей примус поводиться, ніби мінімальне значення дорівнює максимальному. Це означає, що ви не можете створювати «розвернені» розкладки…