Я настоятельно рекомендую ссылку выше для общего обзора обратной кинематики. Он включает в себя IK жаргон, использование / применение IK и высокоуровневые описания прямой кинематики и обратной кинематики.
Каковы виды использования IK?
Как мы уже видели, IK можно использовать для гуманоидной руки, чтобы достичь объекта / цели. IK также может быть использован для степпинга ног, так что мы сообщаем ноге, куда нужно шагать, и IK выясняет, как настроить суставы ног. IK обычно не используется как анимация (для достижения объекта), а скорее как инструмент анимации. Итак, если вы реализуете цикл ходьбы, вы можете расположить некоторые ключевые кадры с помощью инструмента IK.
Другой ключевой момент в IK заключается в том, что ваша цель / цель не ограничивается только позицией - ваша цель может быть определена как ротация. Например, если ваши ноги должны вращаться в зависимости от неровной местности, ваша цель вращения IK может быть определена на основе нормы пола. Таким образом, ваши ноги наклоняются вдоль пола, например, когда вы идете вверх по склону. Обратите внимание, что вы также можете использовать IK, чтобы ваша голова (или даже глаза) смотрела в определенном направлении. Если вы хотите, чтобы ваша голова следовала за объектом, вы можете использовать IK, чтобы голова следовала за объектом вокруг.
Как мне реализовать совместные ограничения?
Я обычно применяю совместные ограничения с помощью простого оператора if. Например, это будет работать для вращающихся суставов.
if (limb.rotation > 45.0f) limb.rotation = 45.0f;
if (limb.rotation < -45.0f) limb.rotation = -45.0f;
Он намного менее математичен, чем якобиан, и чрезвычайно прост в реализации, если у вас работает якобиан.