Vous avez probablement entendu parler d'Inverse Kinematics. IK est un outil populaire dans Unity et l'infographie, mais si c'est la première fois que vous essayez de créer ou d'utiliser un système de cinématique inverse, vous voudrez peut-être plus de détails. Je vais expliquer ce qu'est IK, définir le vocabulaire et passer en revue les utilisations. Quel est le vocabulaire nécessaire pour comprendre IK?
Avant d'entrer dans le cœur d'IK, nous devons définir un vocabulaire lié aux IK. IK est une méthode appliquée à un corps articulé. Qu'est-ce qu'un corps articulé?
Corps articulé
Un corps articulé peut représenter la plupart des corps animés tels que les humains et les animaux avec des squelettes. Autrement dit, un corps articulé est un arbre de chaînes liées. Les chaînes liées sont constituées de joints et de maillons, où un maillon est un cylindre rigide.
Types de joints
Quant aux articulations, il en existe deux types. Le premier type d'articulation est une articulation révolutionnaire. Il est connecté à un lien qui tourne autour de lui.
Une articulation révolutionnaire ressemble beaucoup à la broche centrale d'une horloge - avec une aiguille d'horloge comme lien.
Un joint prismatique est un joint tel que la liaison connectée se transforme à partir du joint pour étendre / raccourcir la liaison.
Un joint prismatique agit comme une extension / rétraction de la longueur de la poignée rétractable de vos bagages. Si vous regardez de plus près, une poignée de bagages rétractable a 4 articulations prismatiques. 2 joints prismatiques à mi-chemin dans la poignée, et 2 autres joints prismatiques tout au long de la poignée en haut des bagages.
Si vous êtes confus par les articulations prismatiques, ne vous inquiétez pas. Ils ne sont pas souvent utilisés dans la cinématique inverse, et comme vous pouvez le constater, aucun humain n'a d'articulations prismatiques - seulement des articulations révolutives.
Structure hiérarchique
Un corps articulé a une articulation radiculaire. L'articulation radiculaire est la base de la structure. L'articulation radiculaire d'un humanoïde est généralement le centre des hanches. Le corps articulé est formé d'un arbre d'articulations et de liens, à partir de l'articulation radiculaire. Une nouvelle articulation et un nouveau lien est similaire à une nouvelle branche sur un arbre. Un lien / joint intérieur est un lien / joint qui est plus proche du joint racine dans la hiérarchie arborescente du corps articulé, car il se rapporte à un joint / lien donné. Un lien / joint extérieur est un lien / joint qui est plus éloigné du joint racine dans la hiérarchie arborescente du corps articulé.
Effecteur d'extrémité
Un effecteur terminal est une position à la position la plus extérieure du lien le plus extérieur. C'est l'extrémité libre de la chaîne des articulations et des maillons alternés. L'effecteur terminal n'est pas un joint. L'effecteur terminal est simplement la position à l'extrémité d'un corps articulé. Un corps articulé peut avoir plusieurs effecteurs terminaux, tout comme un arbre binaire peut avoir plusieurs feuilles.
End Effector est représenté ici par un cercle vert.
Articulations et Poses
Une articulation est une rotation / translation d'une articulation qui déplace un lien connecté. D'autre part, une pose est un ensemble d'articulations articulaires qui se traduit par le positionnement du corps articulé. En d'autres termes, la pose est une valeur vectorielle au lieu d'une valeur scalaire.
Qu'est-ce que Forward Kinematics?
Avant de pouvoir entrer dans ce qu'est la cinématique inverse, nous devons comprendre ce qu'est la cinématique avancée. La fonction / algorithme cinématique directe prend une pose comme entrée et calcule la position de l'effecteur terminal comme sortie. La cinématique avant est la fonction inverse de la cinématique inverse. Avec Forward Kinematics, vous devez définir la pose entière d'un corps articulé afin de fournir la fonction / algorithme avec l'entrée de pose. Cela signifie que vous devez définir l'articulation de chaque articulation dans le corps articulé. Cela peut être bien si vous avez un petit nombre d'articulations, mais avec un nombre élevé d'articulations, cela a tendance à être fastidieux.
Qu'est-ce que la cinématique inverse?
Maintenant, imaginez si vous souhaitez que l'effecteur terminal de votre corps articulé atteigne une position cible particulière. Cela signifie que vous connaissez la position de l'effecteur terminal que vous souhaitez cibler, mais vous ne savez pas quelle doit être la position du corps articulé pour que l'effecteur terminal atteigne cette position cible. C'est là que Inverse Kinematics brille!
Inverse Kinematics est la fonction / algorithme inverse de Forward Kinematics. La fonction / algorithme cinématique directe prend une position cible comme entrée et calcule la pose requise pour que l'effecteur terminal atteigne la position cible - la pose est la sortie.
Comme vous pouvez le voir, l'entrée et la sortie sont commutées entre FK et IK. Avec Inverse Kinematics, vous n'avez pas besoin de définir la pose entière d'un corps articulé - cela est calculé pour vous par l'algorithme IK. Avec IK, il vous suffit de définir une position comme entrée.
Inverse Kinematics fait tout le travail de calcul difficile de calculer quelle est la pose. Dans l'État avant, il existe un corps articulé avec une pose connue. Il définit une position cible que l'effecteur terminal doit essayer d'atteindre. Une fois que l'algorithme IK est appliqué au corps articulé, nous avons atteint l'état After. L'état After montre qu'une nouvelle pose a été calculée, de sorte que l'effecteur terminal est maintenant à la position cible.
Quelles sont les utilisations d'IK?
À ce stade, nous savons que la CI est appliquée à un corps articulé, nous savons de quoi est composé un corps articulé et nous connaissons la différence entre la CI et la FK. Jusqu'à présent, nous avons un bon aperçu d'IK, mais complétons-le avec quelques bons cas d'utilisation 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é à propos de la CI 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.