 | |  |
| AndromAK | Bonjour à tous.
Je cherche à animer un petit système mécanique pas trop compliqué, d'une pelle mécanique, mais je me bute sur certains problèmes de contraintes de mouvement que je n'arrive pas à résoudre. Je débute sous 3dsmax, et je n'ai trouvé de solution à mon problème ni dans des tutoriaux, ni dans certains bouquins, ni dans le forum.
Voici la position de départ :
Le but est de pouvoir effectuer une rotation de l'élément 2, et que les éléments 3 et 4 suivent le mouvement, avec l'élement 4 contraint par un pivot sur le bras 1.
J'ai lié les élements de Parent vers Enfant en suivant l'ordre 1 -> 2 -> 3 -> 4
J'ai essayé plusieurs solutions, celle se rapprochant le plus du résultat final étant de donner une contrainte "LookAt" de l'élement 4 vers un helper situé sur le bras, mais dépassé une certaine amplitude, l'élément 4 se "décolle" du bras (ce qui est normal vu qu'il n'y a rien qui le lui empêche)
Ce que je cherche à faire est d'empêcher ce "décrochage" et que l'élement 3 bouge afin de ce plier à cette contrainte, pour arriver à un résultat comme ceci :
Merci d'avance si vous avez des astuces ou des conseils, voire des liens sur le net, qui me permettraient d'avancer. Message édité par AndromAK le 14-03-2009 à 06:51:48
|
Malikarn - F1 - | Salut
Il faut décomposer le problème "de tête"
Tout se joue au niveau de la pièce N3. Cette piece est soumise a une cinématique avant (FK) depuis la piece N2 mais aussi une cinématique inverse (IK) depuis la piece N4. Le problème c'est que N3 ne peut avoir qu'un seul pivot. 1 seul assistant sera utile pour se substituer au pivot de N3 pour faire fonctionner la cinématique avant.
Tu ne peux donc pas lier 1/2/3/4 directement. Il te faut une hiérarchie à deux branches. Les branches se rencontreront en N3 et le controleur IK s'occupera de transmettre les transformations (les lignes roses sur l'image).
Tout d'abord positionne tes éléments en position neutre. Crée une hiérarchie telle que N1-->N4-->N3-->FK Chain
Fkchain est le dummy que tu as très justement placé dans la piece N2, au niveau du pivot "manquant" de la piece N3.
Le pîvot de chacune des pieces est a sa place "logique" pour que la pièce puisse pivoter normalement. Le pivot de N3 est placé pour qu'il puisse pivoter autour de N4 et pas autour de N2.
Crée une chaine CI partant de N4 jusqu'au dummy FK Chain. Enfin crée une nouvelle hiérarchie telle que N1-->N2-->IK chain.
Ik chain est le but cinématique. Puisqu'il est lié a N2 il va donc copier les éventuelles rotation de cette piece. Par le jeu et les règle de la cinématique inverse, ces transformations seront transmises à toute la chaine N4-->Fk chain. Puisque N4 est le parent de la chaine cinématique, sa position reste clouée au bras.
La seule difficulté dans ce setup est de bien comprendre ou se situe la séparation IK/FK. Pour l'animation seule la piéce N2 doit etre animée en cinématique avant. Elle peut évidemment hériter son mouvement depuis n'importe quels hiérarchie/controleur/contrainte/wire/reaction disponibles dans max.
++ |
rolos terminarolos
| wouuuh !
chapeau là.. tu décoiffes !
---------------
I'll be back ! avant-hier !
|
AndromAK | Oui, bravo!
Et merci beaucoup!
Ta solution fonctionne à la perfection, et ton explication présente bien le principe du problème. Je me rappelle d'un ancien prof de math disant : "Un problème bien posé est à moitié résolu". C'est exactement le sens de ta réponse.
J'avoue que beaucoup de points quant à l'animation sous 3dsmax me restent encore obscurs, mais là, tu m'as bien guidé, et j'ai pu comprendre quelques bases (avec aussi pas mal de mal de crane en parcourant l'aide).
Merci encore!! |
liberta | mortel la reponse  ---------------
j'ai commencé une ecole de 3D donc je suis nouveau dans se monde.
je partage mes premiers image 
|
| |
| | |