Introduction – Вступ¶
IK simplifies the animation process, and makes it possible to make more advanced animations with lesser effort.
IK allows you to position the last bone in a bone chain and the other bones are positioned automatically. This is like how moving someone’s finger would cause their arm to follow it. By normal posing techniques, you would have to start from the root bone, and set bones sequentially until you reach the tip bone: When each parent bone is moved, its child bone would inherit its location and rotation. Thus making tiny precise changes in poses becomes harder farther down the chain, as you may have to adjust all the parent bones first.
Це зусилля ефективно запобігається шляхом використання ІК.
Automatic IK¶
Reference – Довідка
- Mode – Режим
Pose Mode – Режим Пози
- Panel – Панель
Automatic IK is a tool for quick posing, it can be enabled in the Toolbar in the 3D Viewport, when in Pose Mode. When the Auto IK option is enabled, translating a bone will activate inverse kinematics and rotate the parent bone, and the parent’s parent, and so on, to follow the selected bone. The IK chain can only extend from a child to a parent bone if the child is connected to it.
The length of the chain is increased (if there is a connected parent available to add to it) with Ctrl-PageUp or Ctrl-WheelDown, and decreased with Ctrl-PageDown or Ctrl-WheelUp. However, the initial chain length is 0, which effectively means follow the connections to parent bones as far as possible, with no length limit. So pressing Ctrl-PageUp the first time sets the chain length to 1 (move only the selected bone), and pressing Ctrl-PageDown at this point sets it back to 0 (unlimited) again. Thus, you have to press Ctrl-PageUp more than once from the initial state to set a finite chain length greater than 1.
Це більш лімітована функція, ніж використання примуса ІК, який може бути сконфігурований, але вона може бути корисною для швидкого позування.
IK Constraints¶
IK is mostly done with bone constraints. They work by the same method but offer more choices and settings. Please refer to these pages for detail about the settings for the constraints:
Панель «Інверсна Кінематика» у вкладці «Арматура» – Armature IK Panel¶
Reference – Довідка
- Mode – Режим
Pose Mode – Режим Пози
- Panel – Панель
– «Властивості > Арматура > Інверсна Кінематика»
Ця панель використовується для вибору типу рішача 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 – Панель
– «Властивості > Кістка > Інверсна Кінематика»
Ця панель використовується для керування тим, як працюють позові кістки 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, або використовуючи інші примуси.
Note that, if a Pole Target is used, IK locking will not work on the root boot.