Вступ – Introduction¶
Інверсна Кінематика – IK спрощує процес анімації та дає можливість робити більш просунуті анімації з меншим зусиллям.
ІК дозволяє вам позиціювати останню кістку у ланцюгу кісток, а інші кістки з нього будуть позиціюватися автоматично. Це схоже на те, як рух чийогось пальця спричиняє слідування за ним його руки. За допомогою звичайних технік позування вам доведеться почати з кореневої кістки та установлювати кістки послідовно, допоки ви не досягнете верхівкової кістки: Коли кожна предківська кістка переміщується, то її нащадкова кістка буде спадкувати її локацію та обертання. Таким чином, робити крихітні точні зміни у позах стає все важче вниз по ланцюгу, оскільки ви маєте наладнати усі предківські кістки спершу.
Це зусилля ефективно запобігається використанням ІК.
Автоматична Інверсна Кінематика – 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 View, 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.
Довжина ланцюга збільшується (якщо є з’єднані предки, доступні для цього) за допомогою Ctrl-PageUp або Ctrl-WheelDown, та зменшується з Ctrl-PageDown чи Ctrl-WheelUp. Проте, початкова довжина ланцюга є 0, що фактично означає слідування по з’єднанню до предківських кісток так далеко, як це можливо, без жодного ліміту по довжині. А тому, натискання Ctrl-PageUp перший раз задає довжину ланцюга в 1 (рух тільки вибраної кістки), а натискання Ctrl-PageDown у цьому моменті задає її назад в 0 знову (без ліміту). Таким чином, ви маєте натискати Ctrl-PageUp більше ніж один раз від початкового стану для задання скінченної довжини ланцюга, що більша за 1.
Це більш лімітована функція, ніж використання примуса ІК, який може бути сконфігурований, але вона може бути корисною для швидкого позування.
Примуси Інверсної Кінематики – IK 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 є загальним багато-примусним обчислювачем ІК. Проте, ця здатність ще не повністю розроблена у поточній імплементації, лише два інших типи примусів можуть оброблятися: Відстань у Картезіанському – 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¶
У режимі Анімація – Animation iTaSC працює як обчислювач ІК: він є без запам’ятовування стану та використовує позу з інтерполяції Ф-кривих як стартову позу перед конвергенцією ІК. Цільова скорість ігнорується і цей обчислювач конвергує, допоки задана точність не отримується. Все-таки новий обчислювач, зазвичай, швидше, ніж старий, і забезпечує функції, що властиві iTaSC: кілька одночасно цілей для кожної кістки та кілька одночасно типів примусів.
Симуляція – Simulation¶
Режим Симуляція – Simulation є режимом зі збереженням стану для цього обчислювача: він оцінює скорість цілі, оперує контекстом «справжнього часу», ігнорує обертання від ключкадрів (за винятком через примус обертання суглоба) та вибудовує кеш стану автоматично.
- Повторюваність – Reiteration
- Ніколи – Never
- Обчислювач починає з пози спокою та не повторюється (конвергує) навіть для першого кадру. Це означає, що це займе кілька кадрів, щоб взяти ціль на початку анімації.
- Початково – Initial
- Обчислювач стартує з пози спокою та повторюється, допоки не досягається задана точність, але лише на першому кадрі (тобто, кадр, який не має будь-якого попереднього кадру у кеші). Ця опція базово дозволяє вам вибрати іншу стартову позу, ніж поза спокою, і це стандартне значення. Для наступних кадрів цей обчислювач буде відстежувати ціль, інтегруючи скорість суглоба, обчислену обчислювачем Якобіан – Jacobian на інтервалі часу, який кадр представляє. Точність відстеження залежить від коефіцієнта відгуку, кількості підкроків та скорості цілі.
- Завжди – Always
- Обчислювач повторюється на кожному кадрі, допоки задана точність не досягається. Ця опція пропускає більшість динамічної поведінки iTaSC: максимальна скорість суглоба та продовжуваність між кадрами більше не гарантується, компенсуючись кращою точністю на у позиціях кінцевих ефекторів. Це проміжний режим між «Анімація» – Animation та реально-часовим «Симуляція» – Simulation.
- Авто Крок – Auto Step
Використовуйте цю опцію, якщо ви хочете дозволити обчислювачу задавати, скільки підкроків повинно бути виконано для кожного кадру. Підкрок – substep – це підподілення у часі між двома кадрами, для яких обчислювач обчислює рівняння ІК та оновлює позицію суглоба. Більше підкроків означає більше обробляння, але і кращу точність відстеження цілей. Алгоритм авто кроку оцінює оптимальну кількість кроків для отримання найкращого компромісу між оброблянням та точністю. Він працює шляхом оцінювання нелінеарності пози та лімітування амплітуди варіації суглоба у ході підкроку. Він може бути сконфігурований за допомогою наступних двох параметрів:
- Мін – 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: | «Редактор Властивостей > Кістка > Інверсна Кінематика» – |
Ця панель використовується для керування тим, як працюють позовані кістки у ланцюгу з ІК.
- Розтяг ІК – IK Stretch
- Вплив розтягу на ціль ІК.
- Блокування – Lock
- Забороняється рух по визначеній осі.
- Тугість – Stiffness
- Тугість по визначеній осі. Вплив цієї опції вимикається, якщо увімкнене «Блокування» – Lock.
- Ліміт – Limit
- Лімітує рух по вказаній осі.
Обчислювач iTaSC – iTaSC Solver¶
Якщо обчислювач інверсної кінематики iTaSC IK Solver використовується, то панель ІК для кістки змінюється з доданням цих додаткових параметрів.
- Керування Обертанням – Control Rotation
Активує примус обертання суглоба на такій кістці. Обертання пози, обчислене з Дії – Action або взаємодії в інтерфейсі користувача, буде конвертоване у значення суглоба та передано обчислювачу як ціль для суглоба. Це дасть вам контроль над суглобом, тоді як обчислювач все ще відстежуватимете інші цілі ІК. Ви можете використовувати цю функцію для задання бажаної пози для суглобів (наприклад, пози спокою) або для анімування кута суглоба, програючи дію на ньому.
- Вагомість – Weight
- Важливість примуса обертання суглоба на основі вагомості примусів у випадку, якщо всі примуси не можуть бути досягнуті одночасно. Наприклад, якщо ви хочете примусити сильно обертання суглоба, задайте високу вагомість для примуса обертання суглоба та низьку вагомість на примусах ІК.
Приклад оснастки руки – Arm Rig Example¶
Ця рука використовує дві кістки для подолання проблеми кручення для передпліччя. Блокування ІК використовується для зупинки згинання передпліччя, але передпліччя може все ще скручуватися вручну за допомогою R Y Y у Режимі Пози – Pose Mode або за допомогою інших примусів.
Зауважте, що якщо використовується «Ціль Полюса» – Pole Target, то блокування ІК не буде працювати на кореневій кістці.