Статья описывает возвращение инверсной кинематики (Inverse Kinematics, IK) в движок Godot с выходом версии 4.6 beta и путь, который к этому привёл.
Эволюция анимационной системы в Godot 4.x
В релизе Godot 4 (март 2023) из движка убрали IK, что сильно ударило по рабочим процессам аниматоров. В последующих минорных версиях команда постепенно перестраивала систему работы со скелетом и модификаторами, чтобы вернуть IK на более мощной и гибкой базе.
Godot 4.4
Добавлен SkeletonModifier3D — базовый механизм модификации скелета, а также несколько модификаторов на его основе:
- LookAtModifier3D — модификация костей для поворота в сторону цели (эффект "смотреть на объект").
- RetargetModifier3D — ретаргетинг анимаций между разными скелетами.
Godot 4.5
Дальнейшее развитие системы модификаторов:
- SpringBoneSimulator3D — симуляция "пружинящих" костей (динамика хвостов, одежды и т.п.).
- BoneConstraint3D и его наследники:
- AimModifier3D — нацеливание костей на цель.
- ConvertTransformModifier3D — преобразование трансформаций.
- CopyTransformModifier3D — копирование трансформаций между костями/объектами.
Возвращение IK в Godot 4.6 beta
В версии Godot 4.6 beta инверсная кинематика официально возвращается через новый модификатор IKModifier3D и набор его дочерних классов. IK теперь встроен в общую систему модификаторов скелета, а не существует обособленно.
Доступно 7 типов IK-модификаторов:
- TwoBoneIK3D — классический IK для цепи из двух костей (руки, ноги).
- ChainIK3D — IK для произвольной цепочки костей.
- SplineIK3D — IK по сплайну (подходит для хвостов, спин, гибких объектов).
- IterateIK3D — итеративный решатель IK.
- FABRIK3D — решатель IK по алгоритму FABRIK.
- CCDIK3D — решатель IK по алгоритму CCD.
- JacobianIK3D — IK на основе якобианов (более продвинутый решатель).
Для работы IK требуется версия Godot 4.6 Beta 1 или новее. В статье также даются ссылки на официальный блог-пост о возвращении IK и видео, где объясняются базовые понятия IK и FK (Forward Kinematics), включая краткий пример в Blender.
Выводы
- IK был удалён в Godot 4.0 и возвращён в Godot 4.6 beta на новой модификаторной архитектуре.
- База для IK была подготовлена через SkeletonModifier3D и набор модификаторов в версиях 4.4 и 4.5.
- Новый IKModifier3D предоставляет 7 разных решателей IK под разные задачи анимации.
- Для использования IK требуется Godot 4.6 Beta 1 и знакомство с системой SkeletonModifier3D.