Je suggère fortement le lien ci-dessus pour un aperçu de haut niveau de la cinématique inverse. Il passe en revue le jargon IK, l'utilisation / les applications IK et les descriptions de haut niveau de la cinématique avant et de la cinématique inverse.
Quelles sont les utilisations d'IK?
IK peut être utilisé pour un bras humanoïde pour atteindre un objet / cible, comme nous l'avons vu. IK peut également être utilisé pour le pas du pied, de telle sorte que nous disons au pied où marcher et l'IK explique comment configurer les articulations des jambes. IK n'est généralement pas utilisé comme animation elle-même (pour atteindre un objet), mais plutôt comme outil d'animation. Donc, si vous implémentez un cycle de marche, vous pouvez positionner certaines des images clés à l'aide de l'outil IK.
Un autre point clé sur IK est que votre objectif / cible ne se limite pas à la position seule - votre objectif peut être défini comme une rotation. Par exemple, si vos pieds doivent tourner en fonction d'un terrain inégal, votre objectif de rotation CI peut être défini en fonction de la normale du sol. De cette façon, vos pieds sont inclinés le long du sol, comme lorsque vous montez une pente. Notez que vous pouvez également utiliser IK pour que votre tête (ou même vos yeux) regarde dans une certaine direction. Si vous voulez que votre tête suive un objet, vous pouvez utiliser IK pour que la tête suive l'objet autour.
Comment mettre en œuvre des limites communes?
J'implémente généralement des limites communes avec une simple instruction if. Par exemple, cela fonctionnerait pour les articulations tournantes.
if (limb.rotation > 45.0f) limb.rotation = 45.0f;
if (limb.rotation < -45.0f) limb.rotation = -45.0f;
C'est beaucoup moins mathématique que le jacobien, et extrêmement facile à implémenter une fois que le jacobien fonctionne.