Створення контрольних систем рига (IK/FK переключатели)
Контрольна система рига — інтерфейс між аніматором та скелетом. Без неї робота з ригом перетворюється в прямої маніпуляцію костями: незручно, неточно, та при будь-якій помилці складно відкатитися. IK/FK переключатели — основа цього інтерфейсу, та їх якість прямо визначає швидкість та зручність роботи аніматора.
У чому різниця між IK та FK в контексті ігрового рига
FK (Forward Kinematics) — пряма кінематика, обертання костей від кореня до кінчика. Рука піднімається за рахунок послідовних обертань плеча, передпліччя, кисті. Інтуїтивно для позування, добре для машущих рухів, погано для точного контакту з об'єктами.
IK (Inverse Kinematics) — обернена кінематика. Задаємо кінцеву позицію кисті або ступні, розв'язувач обчислює кути суглобів. Зручно для фіксації кінцівки в просторі (рука на перилах, нога на сходинці), погано для вільних рухів з виразною дугою.
Аніматор хоче переключатися між режимами за ситуацією. Саме тому IK/FK switch — не розкіш, а базова вимога до нормального рига для анімації.
Реалізація IK/FK switch у Blender
У Blender стандартна реалізація через Bone Constraint → Copy Rotation з управлінням через Custom Property на контрольній кості. Схема:
- Три ланцюжки костей: IK Chain, FK Chain, Result Chain
- Result Chain через
Copy Transformsслідкує либо за IK, либо за FK залежно від значення Custom Propertyik_fk_switch(0.0 = повний IK, 1.0 = повний FK) - Influence параметра Constraint драйвиться через Driver → Custom Property
На практиці: кість hand_ik_ctrl управляє IK, кості arm_fk_ctrl, forearm_fk_ctrl, hand_fk_ctrl управляють FK-ланцюжком. Аніматор бачить обидва набори контролерів, але залежно від переключателя працює лише з одним.
Pole Vector для IK коліна/локтя — окремий контролер, який визначає спрямування вигину кінцівки. Без нього IK-розв'язувач обирає довільне спрямування при певних конфігураціях, та коліно починає "танцювати". Правильна позиція Pole Vector Target: на рівні суглоба, винесена по осі вигину на відстань, приблизно рівну довжині кінцівки.
Реалізація в Maya
У Maya IK/FK switch реалізується через Set Driven Key або через Node Editor з Blend Between. Чистий варіант: Utility Node blendColors приймає FK-матрицю та IK-матрицю, вихід управляється атрибутом switch на контрольному об'єкті.
Snap IK to FK та FK to IK — критична функція для зручності аніматора. При переключенні режиму контролери іншого режиму повинні "стрибнути" на поточну позицію, щоб не було скачка в анімації. Реалізується через MEL/Python скрипт: читаємо світову матрицю поточного результату, застосовуємо до контролерів цільового режиму, потім переключаємо switch.
Контрольна система для пальців
Пальці — особливий випадок. Повні IK/FK переключатели для кожного пальця надлишкові для більшості ігрових ригів. Стандартне рішення:
- FK-контролери для кожної фаланги (достатньо для анімації)
- Curl та Spread атрибути на головному контрольному об'єкті кисті — обертають всі фаланги одночасно через Set Driven Key
- Grip атрибут: 0 = відкрита долоня, 1 = стиснутий кулак
Це дає аніматору контроль над 90% потрібних поз через 3 параметри замість 45 обертань.
Space Switching
Просунута частина контрольної системи — смена простору (Space Switch). Контролер кисті може слідувати за Root-простором (абсолютна позиція у світі), за Pelvis (рухається з персонажем), за Chest (слідує за торсом). При анімації ходіння з зброєю в одній руці зручно працювати в Pelvis-просторі; при кидку — переключитися на World.
У Blender: Child Of Constraint на контрольній кості з кількома цілями та Custom Property для управління. Важливо: при переключенні простору позиція контролера повинна пересчитуватися (Bake to Pose), інакше кість скочить.
У Unity при експорті Space Switching не передається — це інструмент аніматора, не ігрові дані. Бейкуємо анімацію в результуючі кості та експортуємо чистий FBX без rig-контролерів.
Терміни
| Завдання | Орієнтовна тривалість |
|---|---|
| IK/FK switch для рук та ніг (базовий) | від 4 до 8 годин |
| Повна контрольна система з Curl/Spread/Grip | від 1 до 2 днів |
| Space Switching для кількох кінцівок | від 1 до 2 днів |
| Повний аніматорський риг з UI-контролерами | від 3 до 5 днів |
Контрольна система створюється для аніматора — тому вимоги до неї краще обговорювати з аніматором, а не лише з технічним директором. Вартість — після обговорення конвеєру та вимог до зручності управління.





