Примус «Трансформація» – 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)

Дозволяє визначати тип уводу обертання для використання, включаючи різні порядки за Ейлером – Euler, Кватерніон – Quaternion та інші режими каналу обертання – Rotation Channel Modes. Стандартно використовується порядок за Ейлером – Euler володільця примусу.

У режимі Quaternion ці канали конвертуються у виважені кути так само, як кути гойдання режимів Swing and X/Y/Z Twist.

Із – From

Незалежно для кожної осі (X, Y та Z) поля чисел Min та Max керують нижньою та верхньою межами діапазону увідних значень. Зауважте, що коли значенням мінімуму вище, ніж відповідне йому значення максимуму, то цей примус поводиться, ніби мінімальне значення дорівнює максимальному.

Розкладання Джерела на Призначення – Source to Destination Mapping

Ці три вибірник осі розкладання – Axis Mapping дозволяють вам вибрати, яка вісь уводу для розкладки на, відповідно (зверху вниз) на осі X, Y та Z виводу (володілець).

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

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

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

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

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

Порядок (Обертання) – Order (Rotation)

Для обертання, дозволяє визначати, який порядок за Ейлером – Euler використовувати під час обчислення цього примусу. Стандартно використовується порядок володільця примусу.

У - To

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

Мішання – Mix

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

Заміна – Replace

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

Множення (Масштаб) – Multiply (Scale)

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

Додання (Локація, Обертання) – Add (Location, Rotation)

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

Перед Оригіналом (Обертання) – Before Original (Rotation)

Нове обертання додається перед наявним обертанням, ніби воно було застосоване до предка володільця примусу.

Після Оригіналу (Обертання) – After Original (Rotation)

Нове обертання додається після наявного обертання, ніби воно було застосоване до нащадка володільця примусу.

Простір – Space

Стандартна конверсія між просторами.

Примітка

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

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

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

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

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

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