Метод зворотної кінематики.

При анімації зв'язаної конструкції по методу зворотної кінематики перетворення застосовуються до самого молодшого об'єкта-нащадка, і дії цього перетворення поширюються на всіх предків в ієрархічному ланцюжку даної конструкції. Метод зворотної кінематики дозволяє:

• реалізувати два типи зчленувань об'єктів: обертовий і ковзний;

• звузити діапазон дії зчленувань об'єктів осями координат розміром кутового сектора або відстанню;

• задати пріоритетність, силу тертя та інші параметри зчленувань.

1. Для існуючої конструкції побудуйте будь-як об'єкт, що буде відігравати роль направляючих при анімації конструкції. Як направляючий об'єкт можна використовувати допоміжний об’єкт. Для цього на командній панелі Create натисніть кнопку Helpers (Допоміжні об'єкти), клацніть по кнопці Dummy (Пустушка) і створіть об’єкт-пустушку в робочому вікні.

2. Створіть анімацію для допоміжного об'єкта.

3. Виділіть крайній правий об'єкт, що є самим молодшим нащадком, перейдіть на командну панель Hierarchy і клацніть LM на кнопці IK. З'являться сувої параметрів зворотної кінематики.

4. Прив'яжіть виділений об'єкт до направляючого об'єкта. Для цього клацніть LM на кнопці Bind (Прив'язати) у сувої Object Parameters (Параметри об'єкта). Кнопка за фіксується в натиснутому положенні.

5. Клацніть LM на виділеному об'єкті і перетягніть курсор до направляючого об'єкта.

6. Відпустіть кнопку миші коли курсор виявиться над направляючим об'єктом і прийме вид кнопки.

7. Настройте параметри сувою Inverse Kinematics (Зворотна кінематика). Сувій містить наступні параметри:

Apply IK (Застосувати IK) — кнопка, яка запускає процес розрахунку IK- рішення. Тобто зв'язує кінематику конструкції з заданою кінематикою направляючого об'єкта. Цією кнопкою потрібно скористатися після того, як будуть задані всі параметри й обмеження зворотної кінематики;

Apply Only To-Keys (Застосовувати тільки до ключів) — якщо цей прапорець відзначений, то IK-рішення стане розраховуватися тільки для ключових кадрів. У противному випадку ключі будуть розраховуватися для всіх кадрів анімації;

Update Viewports (Обновити вікна) — установка даного прапорця параметра забезпечує по кадрове відновлення зображень у вікнах проекції в міру IK-рішення;

Clear Keys (Видалити ключі) — відзначений прапорець веде до видалення всіх ключів кінематичного ланцюжка до початку IK-розрахунків;

Start (Початок), End (Кінець) — лічильники, що дозволяють задати інтервал анімації, для якого буде розраховуватися задача кінематики.

8. У сувої Object Parameters встановіть обмежник, задайте ступінь прив'язки об'єктів до їхніх вихідних положень і орієнтації. Для цього використовуються наступні параметри:

Terminator (Обмежник) — якщо виділити об'єкт у конструкції й встановити цей прапорець, то анімація буде діяти тільки на об'єкти, що є дочірніми стосовно виділеного об'єкта-обмежника;

Bind Position (Прив'язати до положення) — установка цього прапорця прив'язує об'єкт до його поточного положення в глобальній системі координат, щоб об'єкт по можливості зберігав своє положення, або до положення направляючого об'єкта, якщо він призначений. Клік на кнопці R (від англ. relatively — відносно) праворуч від прапорця змушує виділений об'єкт зберігати своє положення щодо направляючого об'єкта. Якщо кнопка R не натиснута, то об'єкт конструкції буде намагатись переміститися в положення, що займе направляючий об'єкт;

Bind Orientation (Прив'язати до орієнтації) — установка даного прапорця прив'язує виділений об'єкт до його поточної орієнтації або до орієнтації направляючого об'єкта. Клік LM на кнопці R праворуч від прапорця змушує виділений об'єкт зберегти свою орієнтацію щодо направляючого об'єкта. Якщо кнопка R не натиснута, то об'єкт ієрархічного ланцюжка буде намагатись повернутися так, щоб відповідати орієнтації направляючого об'єкта;

Axis (Вісь) — набір прапорців задає осі координат, на які поширюється прив'язка;

Weight (Вага) — лічильник дозволяє задати ступінь впливу направляючого об'єкта на зв'язаний з ним об'єкт ланцюжка, при цьому значення просуває прив'язку;

Precedence (Пріоритетність) — лічильник дає можливість встановити пріоритети об'єктів у конструкції. Цей параметр визначає ступінь впливу об'єкта на результат розрахунків при обчисленні IK-рішення. Чим вище значення параметра, тим сильніше вплив об'єкта на результат;

Child-> Parent (Нащадок> Предок) — встановлює для всього ланцюжка більш високий пріоритет об'єктів-нащадків стосовно предків. Якщо ця кнопка натиснута, то всі об'єкти-нащадки мають пріоритет вище, ніж їх предки;

Parent-> Child (Попередник > Нащадок) — установлює для всього ланцюжка більш високий пріоритет об'єктів-предків стосовно нащадків. Якщо ця кнопка натиснута, то всі об'єкти-предки мають пріоритет вище, ніж їх нащадки;

Copy (Копіювати), Paste (Вставити) — кнопки дозволяють копіювати параметри ковзних і обертових зчленувань від одного об'єкта до іншого. Виділіть об'єкт із набудованими параметрами зчленування і клацніть LM на кнопці Copy, потім виділіть інший об'єкт і клацніть на кнопці Paste;

Mirror Paste (Уставити дзеркально) — група перемикачів використовується для дзеркального відображення параметрів зчленувань IK-ланцюжка при вставці щодо обраної осі координат.

9. У сувої Auto Termination (Автообмеження) встановіть прапорець Auto Termination, щоб IK-рішення обмежувалося автоматично. Лічильник # of Links Up (Число зв'язків нагору) задає, наскільки близько до початку ланцюжка буде розміщатися обмежник.

10. Призначте зчленуванню тип ковзного або обертового і визначіть, як це зчленування повинне функціонувати в ході розрахунку рішення зворотної кінематики, використовуючи три однотипні групи параметрів: Х Axis (Вісь X), Y Axis (Вісь Y) і Z Axis (Вісь Z) сувоїв Sliding Joints (Ковзні зчленування) і Rotational Joints (Обертові зчленування). Виділіть окремий об'єкт конструкції і для нього настройте наступні параметри:

Active (Активно) — прапорець, що дозволяє виділеному об'єктові сковзати уздовж даної осі координат (мається на увазі локальна система координат об'єкта-предка);

Limited (Обмежено) — прапорець включає режим обмеження руху щодо обраної осі координат. Припустимі верхня і нижня межі руху зчленування уздовж заданих осей визначаються лічильниками From (Від) і То (До). Для обертових зчленувань значення даних параметрів виміряються в градусах;

Ease (Плавно) — прапорець включає режим плавного уповільнення ковзання в міру наближення до границь припустимого діапазону;

Spring Back (Пружинний буфер) — якщо прапорець встановлений, то сила пружності уявної буферної пружини, що змушує об'єкт повертатися назад після того, як він пройде точку рівноважного стану, буде зростати в міру видалення об'єкта від цієї точки. Положення точки рівноважного стану задається в лічильнику праворуч від прапорця;

Spring Tension (Натяг пружини) — лічильник задає силу натягу уявної буферної пружини;

Damping (Демпфірування) — лічильник дозволяє заспокоювати рух об'єкта в зчленуванні, збільшуючи опір силам зворотної кінематики. Припустимі значення параметра лежать у діапазоні від 0 до 1, де 1 відповідає найбільшій силі, що демпфірує. Заспокоєння руху дозволяє імітувати реальні процеси типу дії сил тертя або інерції.

11. Після настроювання параметрів запустіть процес розрахунку динаміки, клацнувши LM на кнопці Apply IK. По закінченні розрахунку відтворіть анімацію. При зміні параметрів настроювання процес IK-розрахунку варто запустити заново. Анімація зв'язаних конструкцій по методу прямої кінематики аналогічна процесові анімації окремих об'єктів. Виконаєте анімацію прямим методом самостійно.


 

Контрольні запитання:

1. В яких напрямках може відбуватися анімація перетворення?

2. Як зв’язати об’єкти?

3. Які правила необхідно знати для застосування прямої кінематики?

4. Що таке опорна точка? За допомогою чого можна редагувати опорні точки?

5. Як вирівняти положення опорної точки?

6. Як ввімкнути режим відображення структур зв'язків об'єктів?

7. У чому полягає суть зворотної кінематики?

8. За що відповідає параметр Terminator?

9. За що відповідає параметр Spring Back?

10. Що виконує команда Show Ghosting?