[Aide] Animation avec Inverse Kinematics & Contraintes
Bonjour, j'ai des problème de compréhension avec les contraintes & Inverse Kinematics, et j'aurai besoin d'explications & d'aides pour me faire avancer.
Je suis sur un petit projet d'animation ou je dois animer un bras mécanique avec plusieurs axes de rotation / translation, que l'on peut facilement imaginer dans n'importe quelle usine d'assemblage. (voir le mien sur les images).
Je l'ai donc riggé avec une armature d'os comme le suivrait la logique, avec chaque élément comprenant un os.
Ce que je faire est pouvoir contrôler le bout de ma buse [] afin de la faire suivre un tracé bien précis [plan bleu] tout en faisant en sorte que les os suivent le déplacement en respectant la logique de rotation de mon bras articulé. (rotation & translation).
Je souhaite par la gagner du temps en animant juste un point plutôt que chaque os. J'ai donc ajouté la contrainte " Inverse Kinematics " à mon dernier os, parenté à un objet nul nommé " Buse_Target ". J'ai aussi ajouté aux autres os des contraintes de rotation en fonction des axes dans lesquels je veux les voir rotationner.
La est mon manque de compréhension, en déplaçant ma "Buse_Target" tous les os sont entrainés par celle-ci.
Il doit manquer quelque chose, j'ai mal fait une étape, mal paramétré quelque chose, mais je ne sais pas quoi. Si reste disponible pour toute aide.
PS : Blender version 2.93.2 Je peux envoyer un lien Wetransfer par mail à quiconque souhaite avoir la scène pour m'aider à régler mon problème !
6 Comments
-L0Lock- l'a exprimé plus clairement, vous avez certainement besoin d'un bone parent que ne soit pas inclus dans l'IK. Ensuite, vous limitez les rotations IK dans les propriétés IK de chaque os.
Bonjour,
Tout rig a nécessairement besoin d'un bone "root" qui est tout en haut de la hiérarchie, pour beaucoup de raisons techniques et limitations logicielles. Et notamment, parce qu'il faut bien un bone parent pour "tout ce qui est indépendant du reste".
Typiquement ici, tu as mis des bones pour toutes tes parties articulées, et il manque "le reste", ce qui n'est pas censé bouger. Autrement dit, il te manque un bone pour la base de ton objet :
Ensuite, par défaut les contraintes d'IK peuvent bouger dans toutes les directions sans limites autre que "le plus simple pour que la chaine relie le point A au point B".
Dans le Properties Editor, onglet Bone, panneau Inverse Kinematics, tu peux paramétrer les limites de transformation en IK pour chaque bone de ton rig.
Voir:
Nathan, si j'ai bien compris, essayez d'ajuster Chain Length. Avec zéro cela affecte toute la chaîne par défaut. Avec Length 1, cela n'affectera que bone_6, avec Length 2, cela affectera bone_5 aussi, etc.
J'ai essayé mais ca ne donne pas le résultat que je veux :/
En gros tout ce que je veux c'est bouger mon empty object " Buse_Target " et que ca entraine tout mon robot, mais en respectant les contraintes de rotations et positions que je leur ai mises (afin qu'il agisse comme un robot classique et qu'il ne se disloque pas comme dans les 2 dernières images), mais je ne sais pas si ca peut se faire :/
Comme ca lors de mon animation je pourrais animer que mon empty qui servira de traceur, et le reste suivra sans avoir à l'animer. J'espère que c'est clair. C'est pour ca que j'ai mis 0 en Chain Length, pour que tout soit affecté
Ah ok. Je crois que cela pourrait fonctionner en réglant le Lock des axes IK en mode Pose. Dans les propriétés de chaque os, il y a une liste de paramètres IK. En réglant tous les axes avec le verrou sauf celui dans lequel chaque os doit tourner, les os ne tourneront que sur un axe tout en respectant le calcul IK. Et si vous ne voulez pas que l'os racine bouge, vous pouvez mettre plus de zéro en Chain Length pour n'englober pas l'os racine dans le calcul IK. J'espère que ça marche!