Примус «Дія» – Action Constraint¶
Примус «Дія» – Action є потужним. Він дозволяє вам керувати анімаційною дією – Action, використовуючи трансформації іншого об’єкта.
Ідея в основі примусу Action дуже подібна до ідеї в основі драйверів – Drivers, за винятком того, що перший використовує дію цілком (тобто, багато Ф-кривих – F-curves однакового типу), тоді як останні керують одиничною Ф-кривою свого «володільця»…
Зауважте, що хоча цей примус приймає для дії тип даних «Сіть» – Mesh, однак тільки типи «Об’єкт» – Object, «Поза» – Pose та «Примус» – Constraint будуть реально працювати, оскільки примуси можуть впливати лише на трансформаційні властивості об’єктів або кісток, а не на форми сітей. Також, зверніть увагу, що цей примус впливає тільки на трансформацію об’єкта (локація, оберт, масштаб), і якщо дія містить ключкадри для інших, ніж ці, властивостей, то вони ігноруються, оскільки примуси на них не впливають.
Як приклад, припустімо, що ви визначили дію для типу даних Object (примус може бути призначений на будь-який об’єкт або навіть без об’єкта взагалі) та розклали її на володільця через примус Action так, що рух цілі у діапазоні (0.0 до 2.0) вздовж її осі X розкладає вміст дії на володільця у діапазоні кадрів (0 до 100). Це буде означати, що коли властивість X цілі є 0.0, то володілець буде, ніби він у кадрі 0 пов’язаної дії; при властивості цілі X в 1.0 володілець буде, ніби він у кадрі 50 пов’язаної дії й так далі.
Опції – Options¶
- Ціль – Target
Ідентифікатор Даних — Data ID used to select the constraints target, and is not functional (red state) when it has none. See common constraint properties for more information.
- Evaluation Time
This property allows objects to be driven without a constraint target by interpolating between the Action Start and End frames. The relative position between the start and end frame can be controlled using the value slider.
This is very helpful for more complex rigging and mechanical rigs, as it means the Action constraint can be controlled directly with a Driver or Custom Property.
- Mix
Specifies how the keyframed transformation from the action is combined with the existing transformation.
- Before Original
The action transformation is added before the existing transformation, as if it was applied to an imaginary parent of the constraint owner. Scale is handled like in the Aligned Inherit Scale mode of bones to avoid creating shear.
- After Original
The action transformation is added after the existing transformation, as if it was applied locally to an imaginary child of the constraint owner. Scale is handled like in the Aligned Inherit Scale mode of bones to avoid creating shear.
- After Original (Full Scale)
The action transformation is added after the existing transformation, as if it was applied locally to an imaginary child of the constraint owner with ordinary parenting. This mode can create shear and is thus not recommended for use.
- Influence
Controls the percentage of affect the constraint has on the object. See common constraint properties for more information.
Ціль – Target¶
- Channel
Цей вибірник керує тим, яка властивість трансформування (локація, оберт або масштаб вздовж/навколо її осей) з цілі буде використовуватися як «драйвер дії».
- Простір Цілі – Target Space
Це примус дозволяє вам вибрати, в якому просторі цілі обчислювати його трансформаційні властивості.
- Range Min, Max
Нижня та верхня межі значення скеровувальної трансформаційної властивості.
Попередження
На жаль, тут знову ми виявляємо лімітації цього примусу:
Коли використовується властивість обертання як «драйвер», то ці значення «розкладаються назад» по діапазону (-180.0 до 180.0).
Коли використовується властивість масштабу як «драйвер», то ці значення можуть бути тільки нуль або додатні значення.
Action¶
- Action
Вибирається ім’я дії, яку ви хочете використати.
Попередження
Хоча це і не позначується як червоний стан (проблеми освіження інтерфейсу користувача…), однак цей примус очевидно не буде функціональним, якщо це поле не містить дійсної дії.
- Дія Об’єкта – Object Action
Для кісток тільки, при увімкненні, ця опція змушуватиме примушену кістку використовувати частину «об’єкта», пов’язану з дією, замість частини «з таким же іменем пози». Це дозволяє вам застосовувати дію об’єкта до кістки.
- Frame Start, End
Стартовий та кінцевий кадри дії, що буде розкладатися.
Примітка
Ці значення повинні бути строго додатними.
Стандартно, якщо обидва значення задані як 0, то це вимикає розкладання (тобто, володілець тільки отримує властивості, визначені у кадрі 0 пов’язаної дії…).
Примітки – Notes¶
When the object or bone already has Action constraints, the next constraint using a newly keyframed action should be added before all others in order to get the same final combined transformation. This fact is not affected by the Mix mode.
На відміну від звичайної ситуації, ви можете мати значення Start вищим за значення End, або Min вище за Max: це буде розвертати розкладання дії (тобто, вона буде «гратися» розвернено…), допоки ви матимете ці устави розвернутими, очевидно!
Коли використовується дія типу Constraint, то імена каналів цього використовуваного примусу визначатимуть, до яких примусів володільця застосовувати цю дію. Наприклад, якщо ви маєте ім’я каналу примусу «trackto_empt1», то його ключовані значення устав Influence та/або Head/Tail (тільки один з цих, ви можете ключувати) буде розкладено на такі ж устави примусу з іменем «trackto_empt1» для володільця.
Подібно, коли ви використовуєте дію типу Pose (яка є очевидно значущою та працює, коли примушується кістка!), то ім’я використовуваної кістки визначатиме, які використовуватимуться імена каналів з дії для цієї кістки (наприклад, якщо примушена кістка має ім’я «arm», то в дії буде використано тільки канал кістки, що має ім’я «arm»…). На жаль, використання дії типу Pose на увесь об’єкт арматури (для впливу на усі ключовані кістки в дії за раз) не працює…
Зауважте також, що ви можете використовувати функцію «Бібліотека Поз» – pose library feature для створення/редагування блоку даних дії типу Pose… тільки пам’ятайте, що у цій ситуації передбачена тільки одна поза на один кадр!