Introduction – Вступ#

Інверсна кінематика – Inverse Kinematics (IK) спрощує процес анімації та дає можливість робити більш досконалі анімації з меншим зусиллям.

Inverse Kinematics дозволяє вам позиціювати останню кістку у ланцюгу кісток, а інші кістки позиціюються автоматично. Це схоже на те, як рухаючи чийсь палець, змусити його руку слідувати за ним. При звичайних техніках позувати вам би довелося починати від кореневої кістки та установлювати кістки послідовно, допоки ви не доберетеся верхівкової кістки: Коли кожна предківська кістка переміщається, то її нащадкова кістка буде успадковувати її локацію та обертання. Таким чином, робити крихітні точні зміни в позах стає все важче далі по ланцюгу, оскільки вам, можливо, доведеться спочатку наладнати всі предківські кістки.

Це зусилля ефективно запобігається шляхом використання ІК.

IK здебільшого робиться за допомогою примусів кісток, хоча також існує проста функціональність Auto IK – Авто ІК у режимі пози Pose Mode. Вони працюють однаковим методом, але примуси пропонують більше опцій та керування. Будь ласка, зверніть до наступних сторінок щодо деталей про ці примуси:

Панель «Інверсна Кінематика» у вкладці «Арматура» – Armature IK Panel#

Reference – Довідка

Mode – Режим:

Pose Mode – Режим Пози

Panel – Панель:

Properties ‣ Armature ‣ Inverse Kinematics – «Властивості > Арматура > Інверсна Кінематика»

Ця панель використовується для вибору типу рішача IK Solver для: Standard або iTaSC. Найчастіше люди будуть використовувати рішач ІК Standard.

Standard – Стандарт#

TODO.

iTaSC#

iTaSC означає instantaneous Task Specification using Constraints – Миттєва Специфікація Завдання використовуючи Примуси.

iTaSC використовує інакший метод для обчислення Jacobian, що робить його здатним обробляти інші примуси, крім простої позиції та орієнтації кінцевих ефекторів: iTaSC є загальним рішачем IK з кількома примусами. Проте, ця здатність ще не повністю використовується у поточній імплементації, лише два інших типи примусів можуть оброблятися: відстань Distance у декартовому просторі Cartesian, та обертання суглоба Joint Rotation у просторі суглоба. Перший дозволяє підтримувати кінцевий ефектор всередині, на або поза сферою, центрованою у цільовій позиції, другий є здатністю керувати безпосередньо обертанням кістки відносно її предка. Ті, хто цікавиться математикою, можуть тут знайти короткий опис методу побудови Jacobian тут.

iTaSC приймає суміш примусів та кілька примусів на кістку: рішач обчислює оптимальну позу відповідно до відповідних вагомостей кожного примуса. Це є головним вдосконаленням від поточної системи примусів, де примуси рішаються один за одним у порядку визначення, так що конфліктні примуси перезаписують одне одного.

Precision – Точність

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

Iterations – Ітерації

Верхня межа для кількості повторів.

Solver – Рішач

Вибирає інверсний рішач Якобіан – Jacobian, що використовуватиме iTaSC.

SDLS – Вибірковий Загасальний Найменший Квадрат

Обчислює загасання автоматично, оцінюючи рівень «касування» в кінематиці арматури. Цей метод працює добре з примусом копіювання пози Copy Pose, але має недолік загасання більше, ніж необхідно навколо особливої пози, що означає повільніші переміщення. Звичайно, це помітно лише в режимі симуляції Simulation.

DLS – Загасальний Найменший Квадрат

Обчислює загасання вручну, що може забезпечити більшу реактивність та більшу точність.

Damping Max – Загасання Макс

Максимум величини загасання. Менші значення означають менше загасання, звідси, більша скорість та краща точність, але і більший ризик коливання при особливій позі. 0 означає відсутність загасання взагалі.

Damping Epsilon – Епсилон Згасання

Діапазон зони загасання навколо особливої пози. Менші значення означають меншу зону керування та більший ризик пропускання особливої пози, що означає коливання.

Примітка

Damping та Epsilon повинні бути налаштовані для кожної арматури. Ви повинні використовувати найменші значення, що бережуть стабільність.

Примітка

  • Рішач SDLS не працює разом з примусом відстані Distance. Ви повинні використовувати рішач DLS, якщо ви збираєтеся мати особливу позу у вашій анімації з примусом Distance.

  • Обидва рішачі працюють добре, якщо ви не маєте особливої пози.

Animation – Анімація#

In Animation mode, iTaSC operates like an IK solver: it is stateless and uses the pose from F-Curves interpolation as the start pose before the IK convergence. The target velocity is ignored and the solver converges until the given precision is obtained. Still the new solver is usually faster than the old one and provides features that are inherent to iTaSC: multiple targets per bone and multiple types of constraints.

Simulation – Симуляція#

Режим Simulation – Симуляція є режимом із запам’ятовуванням стану для цього рішача: він оцінює скорість цілі, оперує контекстом «справжнього часу», ігнорує обертання від ключкадрів (за винятком через примус обертання суглоба) та вибудовує кеш стану автоматично.

Reiteration – Реітерація
Never – Ніколи

Рішач стартує з пози спокою та не повторюється (зводиться) навіть для першого кадру. Це означає, що він потребувати кілька кадрів для отримання цілі на початку анімації.

Initial – Початкове

Рішач стартує з пози спокою та реітерує, допоки задана точність не досягається, але лише на першому кадрі (тобто, кадр, який не має жодного попереднього кадру в кеші). Ця опція базово дозволяє вам обирати інакшу стартову позу, ніж поза спокою, і це стандартне значення. Для наступних кадрів рішач буде відстежувати ціль, інтегруючи скорість суглоба, обчислену рішачем Jacobian протягом часового інтервалу, що представляє кадр. Точність відстежування залежить від коефіцієнта відгуку, кількості підкроків та скорості цілі.

Always – Завжди

Рішач реітерує на кожному кадрі, допоки задана точність не досягається. Ця опція пропускає більшу частину динамічної поведінки iTaSC: максимальна скорість суглоба та продовжуваність між кадрами не гарантується більше як компенсація кращої точності на позиціях кінцевого ефектора. Це проміжний режим між анімацією Animation та реально-часовою симуляцією Simulation.

Auto Step – Авто Крок

Використовуйте цю опцію, якщо ви хочете дозволити рішачу установлювати, скільки підкроків повинно виконуватися для кожного кадру. Підкрок є підподіленням в часі між двома кадрами, для якого рішач обчислює рівняння ІК та оновлює позицію суглоба. Більше підкроків означає більше обробляння, але і кращу точність при відстежуванні цілей. Алгоритм авто кроку оцінює оптимальну кількість кроків для отримання найкращого компромісу між оброблянням та точністю. Він працює шляхом оцінки нелінійності пози та шляхом обмежування амплітуди варіації суглоба під час підкроку. Він може бути сконфігурований за допомогою наступних двох параметрів:

Min – Мін

Пропонована мінімальна тривалість підкроку (в секундах). Алгоритм авто кроку може зменшувати підкрок надалі на основі скорості суглоба.

Max – Макс

Максимальна тривалість підкроку (в секундах). Алгоритм авто кроку не буде дозволяти більший підкрок, ніж це значення.

Steps – Кроки

Якщо Auto Step вимкнуто, то ви можете обрати фіксовану кількість підкроків за допомогою цього параметра. Підкрок не повинен бути тривалішим, ніж 10 мс, що означає, що кількість кроків є 4 для анімації з частотою 25 кадрів за секунду. Якщо арматура здається нестабільною (вібрує) між кадрами, то ви можете поліпшити стабільність шляхом збільшення кількості кроків.

Feedback – Відгук

Коефіцієнт помилки на позиції кінцевого ефектора для задання коригувальної скорості суглоба. Константа часу цієї корекції помилки є оберненою до цього значення. Проте, цей параметр має невеликий ефект на динаміку арматури, оскільки цей алгоритм обчислює скорість цілі в будь-якому випадку. Установлення цього параметра на 0 означає «відкриття циклу»: рішач відстежує скорість, а не позицію; помилка буде накопичуватися швидко. Встановлення цього значення надто високим означає надмірну величину корекції та ризик нестабільності. Це значення повинно бути в діапазоні 20-100. Стандартне значення є 20, що означає, що помилки відстежування коректуються за типовий час 100-200 мс. Коефіцієнт відгуку є причиною того, чому арматура продовжує злегка рухатися у режимі симуляції Simulation, навіть якщо ціль перестала рухатися: залишкова помилка придушується кадр за кадром.

Max Velocity – Макс Скорість

Орієнтовна максимальна скорість суглоба в радіанах за секунду. Цей параметр має важливий вплив на динаміку арматури. Менші значення будуть спричиняти те, що арматура рухатиметься повільно і буде відставати, якщо цілі рухаються швидко. Ви можете симулювати інерцію, задавши для цього параметра низьке значення.

Bone IK Panel – Панель «Інверсна Кінематика» у вкладці «Кістка»#

Reference – Довідка

Mode – Режим:

Pose Mode – Режим Пози

Panel – Панель:

Properties ‣ Bone ‣ Inverse Kinematics – «Властивості > Кістка > Інверсна Кінематика»

Ця панель використовується для керування тим, як працюють позові кістки Pose Bones у ланцюгу з ІК.

IK Stretch – Розтяг ІК

Вплив розтягу на ціль ІК.

Lock – Блокування

Забороняється переміщення по визначеній осі.

Stiffness – Тугість

Тугість по даній осі. Вплив вимикається, якщо використовується Lock.

Limit – Ліміт

Лімітує рух по вказаній осі.

iTaSC Solver – Рішач iTaSC#

Якщо рішач інверсної кінематики iTaSC IK Solver використовується, то панель ІК для кістки змінюється з доданням цих додаткових параметрів.

Control Rotation – Керувальне Обертання

Активує примус обертання суглоба на цій кістці. Обертання пози, обчислене на основі дії Action або взаємодії користувацького інтерфейсу UI, буде конвертоване у значення суглоба та передане рішачу як ціль для суглоба. Це дасть вам контроль над суглобом, поки рішач все ще відстежує інші цілі ІК. Ви можете використовувати цю функціональність, щоб задати бажану позу для суглобів (наприклад, позу спокою) або анімувати кут суглоба, розігруючи дію на ньому.

Weight – Вагомість

Важливість примусу обертання суглоба базується на вагомості примусів у випадку, якщо всі примуси не можуть досягатися одночасно. Наприклад, якщо ви хочете підсилити сильно обертання суглоба, то встановіть високу вагомість для примусу обертання суглоба та низьку вагомість для примусів ІК.

Arm Rig Example – Приклад Оснастки Руки#

Ця рука використовує дві кістки для подолання проблеми кручення для передпліччя. Блокування IK використовується, щоб зупинити згинання передпліччя, але передпліччя може все ще скручуватися вручну за допомогою R Y Y у режимі пози Pose Mode, або використовуючи інші примуси.

../../../../../_images/animation_armatures_posing_bone-constraints_inverse-kinematics_introduction_example.png

IK Arm Example.#

Note that, if a Pole Target is used, IK locking will not work on the root bone.