PDA

Voir la version complète : Comment animer une lampe du type de celle de la présentation de Pixar ?



puech
16/12/2005, 17h59
Voila, je me suis lancé dans la modélisation d'une lampe du style de celle de Pixar. Mais, au bout d'un certain temps je me sui demandé comment l'animer aprés? Et je n'est pa trouver de reponse trés convaincante. J'ai essayé la Cinématique Inverse mais il y a un probléme que je n'arrive pas à résoudre! Etant donné que se style de lampe dispose de deux tiges paralléles pour permettre le mouvement, comment contraindre les deux barres à rester parralléle tout en gardant les attache paralléle ? Je sais cela ne parais pas clair comme cela! Quels autres types de techniques me proposez vous? Et surtout comment garder se parallelisme?
Merci d'avance

Vincent
16/12/2005, 18h06
Oh la vache ... et t'arrive à dormir la nuit ? Quelle angoisse ... :puke:
Oooh je suis taquin ! :love:

Montre nous ta lampe, on va regarder ça ensemble.
Tu vas essayer, malgré tout, de l'animer ... Et on verra ce qui coince. :art:

Aller vite ! des images ! :poucehaut:

kald01
16/12/2005, 18h15
vu qu'il y a deux rangés, tu fait deux hierarchies, deux cinématiques inverses, puis tu bidouilles ta hierarchie aevc des nulls ou un xpresso pour contraindre le tout. Il faut faire preuve d'imagination dans ce métier :D


Oooh je suis taquin ! love On t'aime quand même :love:

puech
16/12/2005, 18h36
J'ai déja esseyer les deux hierarchies parallele mais comment obliger le tout a rester ensemble ? Je n'y suis pas arrivé surment que cela est possible mais je ne vois pas comment étant débutant je suis interessé par une explication un peu plus précise merci! voila une image de la lampe le fait est que je n'arrive pas a garder les parties indiqué parallele lors de l'animation.

puech
16/12/2005, 18h38
Je n'arrive pas a mettre l'image il me demande de ré-attacher? Je resseye un truc on va voir si sa marche.

[Fichier joint supprimé par l'administrateur]

base80
16/12/2005, 22h09
La trigonométrie ?
ou un simple Tag Cible.


Commence par un simple bras a une seule bare. Monte le bazar.
Place des null au endroit ou sont monté les barres parallèles et ajoute le tag cible.
La cible est un null placé de l'autre coté de la barre. ajoute ta géométrie et voila ça doit suivre
Si ca marche pas hop passage obligé dans xpresso et trigo

puech
17/12/2005, 16h15
Merci, mais je crois que je ne vais pa pouvoir le faire aves la CI et un Cible. A moins qu'il soit possible de contraindre le null que la deuxiéme barre cible(vise), de rester a une distance constante du repére de la barre?
Voila, j'ai chercher et n'ai pas trouver le moyen de garder cette distance en utilisant la CI et une Cible, car finalement c'est la seule contrainte qu'il manque pour garder le parallelogramme que forment les barres et les arrétes des attaches.
Si il est possible de garder cette distance merci de me le signaler car je n'ai trouvé nul par comment faire.

doudou
29/12/2005, 02h25
Merci, mais je crois que je ne vais pa pouvoir le faire aves la CI et un Cible. A moins qu'il soit possible de contraindre le null que la deuxiéme barre cible(vise), de rester a une distance constante du repére de la barre?


tu peux illustrer avec une image stp car là, comme tu le décris, j'ai l'impression que tes axes ne sont pas à la bonne place :?

puech
29/12/2005, 15h20
Voila l'image et quelques explications:
Base : Repère du losange ; A : Repère de la barre supérieur ; B : Repère de la barre inférieur ; C : Repère du triangle ; D : Repère d’un objet nul ; E : Repère d’une jonction ; F : Repère du porte ampoule ; G : Repère d’un objet nul ; H : Objet nul (Cible)

Ce sont les repères ABCD qui me pose problèmes.

Base est la base de la C.I
B Propriété Cinématique > C Propriété Cinématique > E Propriété Cinématique > F Propriété Cinématique > G Expression C.I (Cible : H)

A se trouve dans Base, B aussi mais la C.I passe par Base puis B puis C ... Je voudrais contraindre A à cibler D tout en gardant la distance [AD] constante pour conserver le parallélogramme ABCD.

J’espère avoir été clair.
Merci


[Fichier joint supprimé par l'administrateur]

doudou
29/12/2005, 16h34
c'est on ne peut plus clair. Perso, je figerais AD et BC dans le même groupe avec un seul tag CI. Mais comme tu les souhaites indépendants si j'ai bien compris, va falloir attendre plus érudit que moi. Désolé et bonne chance pour ton projet ;-)

puech
29/12/2005, 21h23
Oui mais le probléme c'est que en faisant cela il n'y a plus de paraléllogramme et les distances AD et BC ne sont plus constante.
Merci pour ton aide.
J'aimerais beaucoup y arrivé s'il vous plait lol. :calim:

Tengaal
30/12/2005, 01h36
j'ai pas lu toutes les solutions proposées mais il y a un moyen assez simple d'obtenr le résultat voulu.

- Tes 2 barres sont toujours parallèles, donc elles ont en permanence exactement la même rotation. (en Xpresso ça se fait en 2 clics)
- la particularité d'un tel système c'est de conserver également le même angle entre les points d'attache de ces 2 barres (à gauche) et les points d'attaches de ces 2 barres à droites. c'est à dire les 2 autres côtés de ce paralellépipède.
Là encore il suffit d'associer l'angle de la pièce triangulaire à celui de la pièce à gauche, en ayant au préalable orienté leurs axes de la même manière.

Donc si tu a comme base 1 grande barre + la pièce d'attache (2 côtés du paralellépipède) alors les 2 autres éléments se placent tout simplement en leur donnat les même rotations respectives puisque les paires de côtés sont constamment parallèles.

Ensuite il s'agit juste d'une question d'organisation des objets les uns dans les autres, en fait il suffira de faire tourner 1 seule barre et tout le système suivra en conséquence.

je vais faire un exemple, juste quelques minutes...

Tengaal
30/12/2005, 02h08
voilà en image plus simplement ce que j'explique...
- 2 barres parallèles A1 et A2, A1 donne sa rotation d'axe Z (rotation B) à A2
- les 2 bases B1 et B2 (extrémités des 2 grandes barres), sont également constamment parallèles, B1 donne sa rotation globale Z (rotation globale B) à B2

les liens des rotations de A1 vers A2 et de B1 vers B2 sont faits simplement avec un Xpresso basique.

Ensuite on met les objets dans une hiérarchie des objets comme montrés sur le screenshot:
http://tengaal.free.fr/fc4d/xpresso/lampe_pixar.jpg

Absolument pas besoin de tag cible, de systèmes de CI ou autres calculs trigonométriques à coucher dehors.
Il suffit juste de faire tourner barre A1 sur son axe Z et tout le système suit.

http://tengaal.free.fr/fc4d/xpresso/lampe_pixar2.jpg

le fichier C4D il est ICI. (http://tengaal.free.fr/fc4d/xpresso/lampe_pixar.c4d) (c4d 8 et +)

puech
30/12/2005, 14h31
Hé hé et voila que l'on arrive au deuxième problèmes du sujet que je n'ais effectivement pas ennoncé lol je viens de m'en rendre compte je suis sous CE+6. Donc je n'ai pas XPresso. M'enfin merci beaucoup à toi Tengaal pour le mal que tu tes donnés car ton explication et très clair enfin il me semble car je ne peut vérifier et tu a même pris le temps de faire un petit fichier pour montrer. Merci beaucoup quand même.
Donc pour résumer je ne suis que sur CE+6 et ne peut exploiter cette voie (Merci à Tengaal). Je serait donc interresé par une technique simillaire mais sous CE+6 ou est il possible de contraindre deux repères de rester à une distance constante sur un seul plan sous CE+6 ?

jc
30/12/2005, 14h47
Il y avait un plug qui faisait ce genre de trucs. Le nom est "Mechanics", mais je ne sais pas s'il est compatible CE6...

EDIT
J'ai trouvé ça:
http://www.c4dplugs.com/viewPlug.php?RECORD_KEY%28PluginsRec%29=ID&ID(PluginsRec)=432&PHPSESSID=1b5563c8229cabee4c2670f5ee384c1b
Mais le lien est mort... je te l'envoie pour tester si tu souhaites.

markicho
30/12/2005, 14h50
tu es sur qu'il n'y a a pas expresso sur C4D 6ce+
j'ai eu cette version pendant quelques temps et j'ai toujours cru qu'il y avait les expressos :?

jc
30/12/2005, 14h54
Non, pas d'expresso en version6, c'est depuis la V8.

Tengaal
30/12/2005, 16h01
Si tu n'as pas Xpresso, alors il suffit de le faire en script COFFEE, c'est son ancêtre...

là c'est du code par contre mais ça marche aussi très bien, il suffit de faire tourner "barre A1" sur Z et tout le système suit:

http://tengaal.free.fr/fc4d/xpresso/lampe_pixar_coffee.jpg

le fichier C4D est ICI. (c4d 6 et supérieures). (http://tengaal.free.fr/fc4d/xpresso/lampe_pixar_coffee.c4d)

le fichier texte du script, à charger directement dans la fenêtre COFFEE, il est ICI. (http://tengaal.free.fr/fc4d/xpresso/lampe_pixar_coffee.txt)

il faut juste changer les noms d'objets dans le script en fonction bien sûr...* :wink:

padawa
30/12/2005, 16h13
Tiens voici un fichier avec un petit coffee que tu peux ouvrir avec la 6

http://pascal.bleuse.chez-alice.fr/images/forum/mvt_barre.xml

Je pense que tu sauras l'adapter a tes besoins :wink:

EDIT: Put.. grillé par tengaal :coup: qui code plus vite que son ombre. Pas grave ca m'a fait retoucher le COFFEE 8)
Par contre on n'a pas du tout la meme methode :deal: mais bon si ca marche dans les deux cas :roll:
(bon je pense que ta methode est quand meme plus efficace)

Tengaal
30/12/2005, 20h15
heu...pourquoi un format XML ? :o

Je ne peux pas trop te dire si c'est mieux que ma méthode vu que je n'arrive pas à l'ouvrir...

puech
31/12/2005, 15h37
:efface: :prie: :love: :nono: :poucehaut: :bave: :odile: Merci
J'ai enfin reussi bon je n'ais pas esseyé la technique avec mon modéle mais avec le modéle de tegaal et j'ai reussi a faire une lampe a quatre branche bon c'était pas trés dure effectivemment une fois que j'avais le fichier de Tengaal :wink: lol Merci encore. Maintenant j'ai découvert Coffe mais c'est extraordinnaire se qu'on peut faire avec mais je comprend pas tout lol existerait il un manuel ou un tuto pour apprendre a faire ca. Je ne voudrai pas copié bétemment ce qu'a gentilment fait Tengaal pour moi. Ceci dit j'ai voulu esseyer le fichier de padawa mais n'ai pas reussi a l'exploiter vraiment.

[Fichier joint supprimé par l'administrateur]

padawa
31/12/2005, 16h08
heu...pourquoi un format XML ? :o

Je ne peux pas trop te dire si c'est mieux que ma méthode vu que je n'arrive pas à l'ouvrir...


Ben le format C4D XML est sensé s'ouvrir sur n'importe quelle version non? :?

Bon je met le fichier C4D 9.5

http://pascal.bleuse.chez-alice.fr/images/forum/mvt_barre.c4d

Tant mieux que t'es réussi avec celui de Tengaal, Puech :poucehaut:

Tengaal
31/12/2005, 16h14
ben non on peut juste exporter en XML depuis C4D mais pas importer, c'est une passerelle vers d'autres softs.
Autant dans ma 9.5 que sur une version 7.3, ton fichier xml n'est pas reconnu en importation...

sinon ton C4D est ok.
La methode est presque la même que la mienne de toute manière, tout se fait en copiant les roration par paire pour ce parallelepipède.
Par contre tu as du code en trop:
"var bar_cont=barre_enfant->GetContainer();"
ne te sert à rien dans ton script, la variable bar_cont n'est jamais utilisée. :wink:
le container c'est juste pour accéder aux paramètres internes des objets.

sinon pour la doc COFFEE, sur le site de Maxon il y a le SDK COFFEE qui est la doc de référence, mais en ligne il n'y a que la version récente mise à jour pour C4D 9, on ne trouve plus l'ancienne qui concernait C4D 6 et +.
http://www.maxon.de/pages/plugincafe/downloads_old_e.html

Sinon j'ai également quelques doc de base en français sur le COFFEE:
http://www.tengaal.com (dans la rubique "astuces 3D" puis menu "programmation")
le lien direct vers les 5 PDF dispo: http://www.tengaal.com/Pages/Astuces/Prog/coffee.htm
(oui je sais le site est tout vieux et tout pourri mais je n'ai jamais eu le temps de le refaire ! :oops: :lol:)

puech
31/12/2005, 17h23
Ok merci beaucoup j'ai du travaille. Je comprend beucoup mieux maintenant et je n'ais lu que les premiéres pages merci.
:poucehaut:

doudou
31/12/2005, 18h44
Excellent lien Tengaal ... merci beaucoup :poucehaut:

Tengaal
01/01/2006, 01h19
Ben de rien Doudou, ça doit faire au moins 3 ans peut-être 4 que mes doc COFFEE sont là, le site n'a pas du tout bougé depuis !* :oops: :lol:

doudou
01/01/2006, 01h46
:D oui je sais ... c'est pas un wagon que j'ai de retard mais plusieurs tgv mis bout à bout . A l'époque de mes recherches, je n'étais tombé que sur des tut' trés nebuleux et j'avais loupé les tiens, trés clairs ... j'ai encore raté la vache dans le couloir, je sais :mrgreen:

puech
07/01/2006, 16h46
Et voila j'arrive a une nouvelle étape de la modélisation les ressorts. Le problème et qu'il faut que la taille du ressort soit la même que la distance des deux attaches. J'ai cru comprendre en lisant le tuto sur la modélisation d'un robot celui qui permet d'apprendre a modéliser les câbles qu'il est possible d'obliger le point d'une spline a resté sur un objet et un autre point de cette même spline sur un autre objet je voudrai savoir si avec la version CE+6 il est possible d'assigner ce type de propriété a des points d'une cage de déformation FFD (voir image) pour pouvoir modifier la taille du ressort en fonction de la distance attache un attache deux ici des cubes. Si cela est possible c’est sûrement avec COFFE mais je ne maîtrise pas encore très bien j’y travaille avec les liens de Tengaal. Donc est ce possible ?

[Fichier joint supprimé par l'administrateur]

Daubermman
07/01/2006, 17h44
Sinon tu calcules la distance entre les deux cubes avec Xpresso et tu rebalances le tout dans le paramètre longueur du ressort.

fredmartin
07/01/2006, 17h55
Je crains fort qu'il n'y ai pas d'Xpresso dans la 6CE :?

puech
07/01/2006, 19h39
Oui, il n'y a pas d'expresso dans CE+6 il faut utiliser COFFE mais je ne maitrise pas encore assez.

puech
13/01/2006, 15h57
Bon, s'ayer je comprend beaucoup mieux COFFEE mais je ne maitrise pas encore complétement et j'ai beaucoup de chemin à faire avant d'y arriver. J'ai utilisé pour cela les doc de Tengaal qui mon beaucoup aidé. J'ai commencé un ressort mais il me faudrait savoir si il est possible d'influencer avec COFFEE les cordonnées d'un objet, ici ce serait une spirale je suis avec CE+6 et je voudrai que pouvoir intervenir sur la taille de la spirale en passant par COFFEE mais pas sur la taille du rayon du début ni du rayon de la fin mais sur la taille du ressot enfin sa longueur lol. J'ai beau lire la notice :deal: je ne trouve pas!

Merci d'avance.