Вступ – Introduction¶
Інверсна Кінематика – IK спрощує процес анімації та дає можливість робити більш просунуті анімації з меншим зусиллям.
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.
Довжина ланцюга збільшується (якщо є з’єднані предки, доступні для цього) за допомогою 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
Computes the damping automatically by estimating the level of „cancellation“ in the armature kinematics. This method works well with the Copy Pose constraint but has the drawback of damping more than necessary around the singular pose, which means slower movements. Of course, this is only noticeable in Simulation mode.
- Згасальний Найменший Квадрат – 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
Використовуйте цю опцію, якщо ви хочете дозволити обчислювачу задавати, скільки підкроків повинно бути виконано для кожного кадру. Підкрок – substep – це підподілення у часі між двома кадрами, для яких обчислювач обчислює рівняння ІК та оновлює позицію суглоба. Більше підкроків означає більше обробляння, але і кращу точність відстеження цілей. Алгоритм авто кроку оцінює оптимальну кількість кроків для отримання найкращого компромісу між оброблянням та точністю. Він працює шляхом оцінювання нелінеарності пози та лімітування амплітуди варіації суглоба у ході підкроку. Він може бути сконфігурований за допомогою наступних двох параметрів:
- Мін – Min
Пропонована мінімальна тривалість підкроку (у секундах). Алгоритм авто кроку може зменшити цей підкрок надалі на основі скорості суглоба.
- Макс – Max
Максимальна тривалість підкроку (у секундах). Алгоритм авто кроку не дозволить підкроку бути довше, ніж це значення.
- Кроки – Steps
If Auto Step is disabled, you can choose a fixed number of substeps with this parameter. Substep should not be longer than 10 ms, which means the number of steps is 4 for a 25 fps animation. If the armature seems unstable (vibrates) between frames, you can improve the stability by increasing the number of steps.
- Відгук – Feedback
Coefficient on end effector position error to set corrective joint velocity. The time constant of the error correction is the inverse of this value. However, this parameter has little effect on the dynamic of the armature since the algorithm evaluates the target velocity in any case. Setting this parameter to 0 means „opening the loop“: the solver tracks the velocity but not the position; the error will accumulate rapidly. Setting this value too high means an excessive amount of correction and risk of instability. The value should be in the range 20-100. Default value is 20, which means that tracking errors are corrected in a typical time of 100-200 ms. The feedback coefficient is the reason why the armature continues to move slightly in Simulation mode even if the target has stopped moving: the residual error is progressively suppressed frame after frame.
- Макс Скорість – 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, то блокування ІК не буде працювати на кореневій кістці.