[3DS Max] Kinematic loop?

Kinematic loop? [3DS Max] - Infographie 3D - Graphisme

Marsh Posté le 28-11-2005 à 16:28:30    

Bonjour,
 
La description de chaîne cinématique simple avec 3DS, ça va à peu près ...
Maintenant, si je veux faire un système plus complet avec par exemple des structures de type losange ou un quelconque cycle ...
Je dois passer par le graph editor et le shematic view windows?
 
Merci de votre aide?
 
Glurps
 

Reply

Marsh Posté le 28-11-2005 à 16:28:30   

Reply

Marsh Posté le 29-11-2005 à 00:24:24    

Je comprend même pas la question pour ma part :D


---------------
| .:: www.wizopunk-art.com - Développement web ::. |
Reply

Marsh Posté le 29-11-2005 à 10:39:26    

Je me suis mal exprimé? ou alors tu trouve que la cinématique ça sux? ;)
 
Je cherche à voir comme fonctionne la gestion des chaînes cinématiques complexes dans 3DsMax ...
En particulier, quel est l'interface de description des systèmes?
 
La description d'un modèle simple repose sur la relation parent enfant mais si tu fermes une boucle, tu te retrouves forcément dans le cas d'un enfant qui a 2 parents ... D'où un problème d'interface ...

Reply

Marsh Posté le 29-11-2005 à 11:10:46    

ah ok, bah la ça me dépasse, faut attendre que drake passe dans les parrages :D
Tu veux rigger quoi?


---------------
| .:: www.wizopunk-art.com - Développement web ::. |
Reply

Marsh Posté le 29-11-2005 à 11:32:18    

Salut salut,
 
Qu'est-ce que tu entends par interface? En chaînes cinématiques, tu as 2 choix. Tu as les IK et les FK, tout dépend ce que tu souhaites animer.  
En Inverse kinematics, l'enfant anime le parent: cas typique, une jambe, des pattes d'araignées.
En Forward Kinematics, le parent anime l'enfant: cas typique, un bras.
 
Cela dépend maintenant de tes préférences en tant qu'animateur. Si tu te sens plus à l'aise en FK, choisis ça, sinon choisis les IK. Maintenant pour animer un cycle, il me semble que tu te casses la tête pour rien. Un simple attribut de squash & stretch sur des bones longilignes permettra de pallier ton problème. Quelques lignes de code dans MAXscript est le tour est joué. Ensuite, lors du skinning, assure toi pour que le cycle en question soit bien entièrement englobé.
Sinon je ne vois pas l'utilité de fermer une chaîne cinématique...
 
Même question que Wizo: tu veux rigger quoi?


---------------
||www.lefebvrecedric.com || Mon boulot
Reply

Marsh Posté le 29-11-2005 à 11:33:57    

wizopunker a écrit :

ah ok, bah la ça me dépasse, faut attendre que drake passe dans les parrages :D
Tu veux rigger quoi?


 
 
Bon bah on va attendre Drake!! C'est qui? :)))
 
En fait, ce genre de problème se pose par exemple pour l'animation d'un train d'atterissage ... ou encore d'un moteur (tu as une boucle par piston) ...
 
Pour être honnête, c'est l'interface utilisateur qui me turlupine! Je crois qu'ils utilisent un graphe annexe et je trouve pas ça toujours satisfaisant ... C'est le cas dans certain soft de CAO ...


---------------
Comme le Dindon mon Totem, une bonne paire de couilles sur son nez!  
Reply

Marsh Posté le 29-11-2005 à 11:39:54    

drake83 a écrit :

Salut salut,
 
Qu'est-ce que tu entends par interface? En chaînes cinématiques, tu as 2 choix. Tu as les IK et les FK, tout dépend ce que tu souhaites animer.  
En Inverse kinematics, l'enfant anime le parent: cas typique, une jambe, des pattes d'araignées.
En Forward Kinematics, le parent anime l'enfant: cas typique, un bras.
 
Cela dépend maintenant de tes préférences en tant qu'animateur. Si tu te sens plus à l'aise en FK, choisis ça, sinon choisis les IK. Maintenant pour animer un cycle, il me semble que tu te casses la tête pour rien. Un simple attribut de squash & stretch sur des bones longilignes permettra de pallier ton problème. Quelques lignes de code dans MAXscript est le tour est joué. Ensuite, lors du skinning, assure toi pour que le cycle en question soit bien entièrement englobé.
Sinon je ne vois pas l'utilité de fermer une chaîne cinématique...
 
Même question que Wizo: tu veux rigger quoi?


 
Hello Drake,  
Je considère le cas IK, je me pose la question de la description simplifié des liaisons cinématiques : j'ai vu dans la doc le "Schematic View Window" et je me demande si c'est le seul outil pour avoir un aperçu du schéma cinématique complet du modèle ...
Qu'est-ce donc le "squash & stretch" ?
C'est un système pour faire une sorte de contrainte de position bi latérale???
Je vais regarder la doc!
 
Merci de ton intervention!
 
 


---------------
Comme le Dindon mon Totem, une bonne paire de couilles sur son nez!  
Reply

Marsh Posté le 29-11-2005 à 11:58:12    

Bon bah ok ... Il semble que l'IK dans 3Ds ne supporte pas les boucles ...
 
"Note: Apart from the root object, you can't link an end effector to an object in the hierarchy because it would create an endless loop. The position of all objects in the hierarchy depends on the position of the end effector, so the end effector can't depend on the position of an object in the hierarchy."
 
Enfin effectivement en exploitant le "squash & stretch" en tant que commande bi-latérale en position doit y avoir moyen de faire converger la chose ...


Message édité par glurps35 le 29-11-2005 à 12:01:04

---------------
Comme le Dindon mon Totem, une bonne paire de couilles sur son nez!  
Reply

Marsh Posté le 29-11-2005 à 12:38:53    

Dans ton cas je pense que tu n'as ni besoin de squash & stretch ni besoin de boucle en fait. Le squash & stretch (écrasement & étirement en français) aurait permis de donner l'illusion d'un mouvement sur deux parties différentes de ta boucle par compression ou étirement d'un seul bone qui aurait été affecté aux 2 parties en question. Mais là tu te retrouves face à des problèmes de mécanique et, bien que je n'ai jamais essayé d'animer des pièces de mécanique, il me semble que 3ds n'est pas la solution idéale pour cela. Néanmoins je sais ce que c'est possible d'animer des pièces par contraintes (pistons, rotules, pivots) comme le ferait un outil de CAO mécanique tel que Catia ou Solidworks.
 
A mes yeux, tu n'as pas besoin de faire de boucle d'IK, car un train d'aterissage ne fait que se déplier ou se replier, ça ne me parait pas bien compliqué à animer en bones, dès l'instant où tu fais bien ton rigging+skinning. Pour un piston c'est pareil. En fait tu parles peut être du rebouclage dans le temps? Dans ce cas 3ds te permet de simuler une animation à l'infini par simple recopiage de clés.
 
J'espère que ça t'aide, sinon n'hésite pas ;)


---------------
||www.lefebvrecedric.com || Mon boulot
Reply

Marsh Posté le 29-11-2005 à 13:24:49    

Salut Glurps !
 
Si tu peux poster un schéma de ce que tu veux obtenir ça nous aiderait pour te répondre (comme on dit, un bon schéma vaut mieux qu'un long discours). Je pense avoir saisi ce que tu veux faire mais ça serait plus facile d'en parler sur ton probleme particulier. Il n'est effectivement pas possible de faire des boucles de parenté mais je pense qu'il doit y avoir moyen de tricher en couplant lien hiérarchique et contrainte d'animation, à voir suivant ton cas...

Reply

Marsh Posté le 29-11-2005 à 13:24:49   

Reply

Marsh Posté le 29-11-2005 à 13:39:01    

drake83 a écrit :

Dans ton cas je pense que tu n'as ni besoin de squash & stretch ni besoin de boucle en fait. Le squash & stretch (écrasement & étirement en français) aurait permis de donner l'illusion d'un mouvement sur deux parties différentes de ta boucle par compression ou étirement d'un seul bone qui aurait été affecté aux 2 parties en question. Mais là tu te retrouves face à des problèmes de mécanique et, bien que je n'ai jamais essayé d'animer des pièces de mécanique, il me semble que 3ds n'est pas la solution idéale pour cela. Néanmoins je sais ce que c'est possible d'animer des pièces par contraintes (pistons, rotules, pivots) comme le ferait un outil de CAO mécanique tel que Catia ou Solidworks.
 
A mes yeux, tu n'as pas besoin de faire de boucle d'IK, car un train d'aterissage ne fait que se déplier ou se replier, ça ne me parait pas bien compliqué à animer en bones, dès l'instant où tu fais bien ton rigging+skinning. Pour un piston c'est pareil. En fait tu parles peut être du rebouclage dans le temps? Dans ce cas 3ds te permet de simuler une animation à l'infini par simple recopiage de clés.
 
J'espère que ça t'aide, sinon n'hésite pas ;)


 
J'avais mal vu l'histoire du "squash & stretch" ... t'as raison ça va pas m'aider ...
 
Du point de vue cinématique, l'ensemble piston+bielle+arbre forme une boucle avec le bâti du moteur et dans la majeur partie des cas, un train d'atterissage contient au moins une boucle cinématique (avec la structure de l'avion).
 
En fait là où j'ai pas été très clair depuis le début, c'est que je ne cherche pas vraiment à modéliser ces systèmes avec 3Ds (qui n'est pas fait pour ça c'est clair) ... Je cherchais à découvrir l'interface (si il y en avait une) de 3Ds pour les modélisations cinématique "avancée" avec 3Ds ... L'objectif étant de réaliser une interface utilisateur (pour la description des modèles cinématiques) qui soit un intermédiaire entre celles des soft de CAO ou de simulation et celles d'outils de graphisme 3D ... tout cela pour faciliter l'utilisation de mes dévelopements sur la cinématique dans le soft de ma boîte!!!
 
Merci de ton aide en tout cas.
Glurps
 


---------------
Comme le Dindon mon Totem, une bonne paire de couilles sur son nez!  
Reply

Marsh Posté le 29-11-2005 à 13:43:15    

Bulgrozz a écrit :

Salut Glurps !
 
Si tu peux poster un schéma de ce que tu veux obtenir ça nous aiderait pour te répondre (comme on dit, un bon schéma vaut mieux qu'un long discours). Je pense avoir saisi ce que tu veux faire mais ça serait plus facile d'en parler sur ton probleme particulier. Il n'est effectivement pas possible de faire des boucles de parenté mais je pense qu'il doit y avoir moyen de tricher en couplant lien hiérarchique et contrainte d'animation, à voir suivant ton cas...


 
Oui c'est en fait une solution qui est exploité pour pas mal d'algorithmes de cinématique : la contrainte d'animation serait en fait une espèce de commande bi-latérale en position (cf . D.Merrick & T.Dwyer, "Skeletal Animation for the exploration of Graphs" ). Ce qui nécessite de reboucler sur la résolution pour faire converger les chaînes.
 
Mais comme je l'explique, je me suis mal exprimé au départ, je cherchais surtout à voir comment fonctionnait l'interface de 3Ds pour ce type de système.
Merci en tout cas.
Glurps


---------------
Comme le Dindon mon Totem, une bonne paire de couilles sur son nez!  
Reply

Marsh Posté le 29-11-2005 à 22:43:14    

Perso pour faire des pistons qui ne peuvent exister en tant que bones dans ma hiérarchie sous peine de bouclage, je triche en utilisant un helper de type "tape".
Tu attaches les 2 bouts de ta rège aux points d'attache du piston, tu binde les 2 morceaux du piston aux 2 morceaux de ton "tape", et roulaize.


---------------
"Ramon Balthazard ! Lachez cette arme !"
Reply

Marsh Posté le 29-11-2005 à 22:49:23    

exemple : (sur un train d'atterissage justement)
 
http://gravelrider.free.fr/vid/ToorGear003.avi


---------------
"Ramon Balthazard ! Lachez cette arme !"
Reply

Marsh Posté le 30-11-2005 à 11:24:14    

Tentac a écrit :

exemple : (sur un train d'atterissage justement)
 
http://gravelrider.free.fr/vid/ToorGear003.avi


 
 
Je suis pas familier avec les outils avancés de 3Ds, un "tape" c'est quoi? une contrainte de position?
Et aussi "binder" et "rège" c'est quoi dans 3Ds?
 
[edit] J'ai checké la doc, c'est bien ça en fait, tu rajoutes une contrainte de position bilatérale : le "tape" ...
Le défaut de cette méthode étant de doubler la représentation de l'objet sur lequel tu appliques cette contrainte si la liaison entre les 2 chaines n'est pas une liaison rigide. Dans ton cas, tu "casses" en 2 ton pivot!
D'après mon expérience, l'algo de base de 3Ds est de type Cyclic Coordinate Descendant (CCD) et ces algo ne peuvent pas gérer les chaînes fermées sauf  avec ce type de "hack" ... c'est ce qui est décrit dans le papier que je citais ci-dessus.  [/edit]  
 
Sympa l'anim ;)


Message édité par glurps35 le 30-11-2005 à 15:21:18

---------------
Comme le Dindon mon Totem, une bonne paire de couilles sur son nez!  
Reply

Marsh Posté le 30-11-2005 à 20:53:18    

Tentac a écrit :

Perso pour faire des pistons qui ne peuvent exister en tant que bones dans ma hiérarchie sous peine de bouclage, je triche en utilisant un helper de type "tape".
Tu attaches les 2 bouts de ta rège aux points d'attache du piston, tu binde les 2 morceaux du piston aux 2 morceaux de ton "tape", et roulaize.


 
Joli !!!! Je prend note ! [:huit]  
 

Reply

Marsh Posté le 08-02-2007 à 17:38:31    

Tentac a écrit :

exemple : (sur un train d'atterissage justement)
 
http://gravelrider.free.fr/vid/ToorGear003.avi


 
Hello,  
je reviens sur ce topic longtemps après! ;)
 
Ma question concerne la pose des clefs d'animation :
les objets de type "tape" te permettent de manipuler les chaînes (et les boucles) interactivement. Mais lors du rejeu de l'animation avec le keyframer, ces objets sont-ils actifs?
Si ce n'est pas le cas, tu  dois donc poser pas mal de clefs pour conserver la cohérence lors du rejeu????  
 
Merci d'avance pour les réponses de ceux qui maitrise ça!
J'ai essayé d'utiliser un objet de type "tape" mais je n'y arrive pas bien ...
 
 
 

Reply

Marsh Posté le 09-02-2007 à 11:06:44    

Salut, salut !  :hello:
 
Perso je n'ai pas de soucis pour poser des clés et rejouer l'anim avec des tapes...
 
A noter : les 2 extrêmités de la tape ne sont pas identiques, le triangle pointe toujours vers le carré (lookat) mais la réciproque n'est pas vraie. Si tu veux te servir d'une tape pour créer un piston comme Tentac l'a suggéré plus haut, il faut donc ajouter une contrainte de lookat à la partie du piston qui est liée au carré et aligner son point de pivot sur le carré.
 
J'espère que ça va t'aider...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed