PDA

Voir la version complète : Problème de TAILLE



luistappa
22/03/2004, 14h54
Salut à tous,
Je travaille sur une petite expression pour faire sortir les uns après les autres les éléments télescopiques d’un mat de grue. Il suffit de déplacer un neutre et le bras se déplie, il me reste à mettre un peu de cinématique inverse pour faire pivoter le bras mais mon problème n’est pas là.
Je voudrais que l’Xpresso soit utilisable quelle que soit la forme des bras et que cela soit automatique j’aimerais donc pouvoir accéder à la taille des bras or dans la liste des ports Xpresso je ne trouve pas la taille ( fatigue du lundi ? )! Quelqu’un a-t-il une idée ?

Une petite anim gif avec les tailles entrées en DU.

http://pplatiau.9online.fr/menu/c4d/ggg.gif

luistappa
22/03/2004, 15h03
Je fais les questions et les réponses... :oops:
http://www.frenchcinema4d.com/phpBB2/viewtopic.php?t=5667&highlight=taille+xpresso

Comme quoi il faut bien poser la question quand on fait une recherche sur le forum. Taille me donnait trop de page mais taille+xpresso cela le fait.
Cela dit vous pouvez donner vos impressions sur l'utilité de l'Xpression de la grue.

proparjak
22/03/2004, 15h35
Une petite idée en passant : tu mets les bras en hiérarchie (bras de base> bras 2>bras d'extremité). tu crées un slider sur l'axe z pour chaque bras mais pas en postion globale (chaque bras suivra l'angle de son parent).
Tu fais un test de position Z sur chaque bras : quand il arrive à la taille du bras parent -> stop).
Il faudrait pour cela que l'origine (gizmo) du bras soit à la base Z comme ici :
http://membres.lycos.fr/proparjak/brasgizmo.gif

luistappa
22/03/2004, 17h58
C'est grosso le principe que j'ai retenu mais avec un seul slider qui devrait aussi servir à la cinématique inverse. le but final n'avoir à déplacer que le slider et que cela gère le déplacement contrôlé des bras sur Z ainsi que les rotations en Y et X.

proparjak
22/03/2004, 18h03
Tiens-nous au courant hein ! :wink:

luistappa
22/03/2004, 18h20
Dès que cela marche pas trop mal je poste le fichier pour analyse et surtout amélioration :wink:

proparjak
23/03/2004, 06h38
Salut Luis !
Ton problème me turlupinait alors j'ai essayé un truc et ça marche ! :bounce:
En fait j'ai repris le principe de la porte expliqué par Tabou (merci à lui) pour l'adapter au bras télescopique.

Voici le fichier (clic droit/enregistrer sous...) (http://membres.lycos.fr/proparjak/bras_telescopique.c4d)
Le fichier est calé sur le DU à manipuler.

Je te laisse l'analyser mais je résume en 3 phrases : 3 cubes, transformés en bras et mis en hiérarchie, sont contrôlés par un Xpresso avec un DU comme interface (sur un objet neutre celui-ci).
J'ai mis des points d'arrêt en tant qu'enfant pour les deux premiers cubes permettant à des noeuds "mélanger" de les prendre en référence pour calculer la position d'un bras enfant par rapport à son parent.
Ensuite une cartographie d'intervalle a fait le reste pour contrôler et temporiser le déploiement des bras grâce à la spline.

:oops: c'est pas forcément clair. N'hésites pas à me poser tes questions, je répondrais plus précisément sur les points que tu soulèveras.

A+ ;)

luistappa
23/03/2004, 11h46
Compliqué? Je te dirai quand j'aurai regardé le fichier de la porte.
Et aussi quand j'aurai un peu de temps au calme pour analyser tout cela.
Il faudra que je m'y mette de toute façon car j'ai besoin d'une grue mobile assez souvent et il me faut mettre au point un truc simple pour positionner les bras.

tabou
23/03/2004, 12h13
Je ne suis pas sûr que ce soit pratique de contrôler le déploiement et la rotation avec un unique slider, ni même de contrôler simultanément les deux axes de rotation, ce serait plus souple avec trois sliders.
En tout cas le fichier de proparjak te fournit une bonne base, il ne te reste qu'à ajouter les deux DU pour la rotation.

luistappa
23/03/2004, 12h58
Ok Tabou dependant l'idée est de "dire" je veux mettre le crochet là!
Donc de désigner un point dans l'espace, effectivement pas forcément le plus simple.

Merci Proparkak pour ton fichier c'est effectivement + propre et plus simple avec les points d'arrêt en neutre et le mélange. je butte toujours sur le problème de taille pour paramétrer la position des cubes et des points d'arrêt en fonction de la taille des cubes. J'ai regarder le noeud Boite de Tabou mais il n'est pas expliqué dans la doc et il ne renvoie des valeurs étranges et une seule taille, moi bêtement j'aurai voulu celle suivant l'axe Z :oops:
http://pplatiau.9online.fr/menu/c4d/qtaille.jpg
Quand le cube est verticale je comprend la valeur de taille renvoyé par la boite c'est la diagonale du cube. mais la où cela se complique c'est que ta taille renvoyée par la boite change suivant l'orientation du cube! KEZAKO?

luistappa
23/03/2004, 13h21
Yes! Le vecteur renvoyé par taille est celui du cube enveloppe mais relatif au repère du monde et non relative à l'objet cela donne la taille réelle que si l'orientation est verticale ou horizontale.

tabou
23/03/2004, 13h33
La boîte ne sort pas la taille d'un objet mais la taille de la boite qui englobe l'objet. Ce n'est pas facile à expliquer, pour comprendre comment ça marche le mieux est de créer deux sphères et de relier la sortie minimum à la position globale d'une sphère et la sortie maximum à la position globale de l'autre sphère, fais tourner ton objet sur les différents axes et tu verras ce qui se passe.
Il y a aussi une option pour passer la boite en mode local, peut être que cela correspond mieux à ce que tu veux faire.

luistappa
23/03/2004, 14h10
J'avais pas vu que la boite pouvait être mise en mode local c'est effectivement ce qu'il me faut. Quand je mets la taille dans un noeud vecteur-->réel il faut que je puisse récupérer la valeur de la taille Z locale.
Merci tabou

proparjak
23/03/2004, 14h41
Merci Proparkak
De rien Luistaqqa :P :lol:

En fait, j'ai utilisé les points d'arrêt car la boîte me donnait effectivement une valeur plus grande même en local.
En même temps, comme tu cherchais quelquechose "d'éditable", les points constituaient un solution avec laquelle tu peux aisément jouer sur les distances des bras l'un par raport aux autres (dépendamment de leur design).

luistappa
24/03/2004, 00h14
Voila une grue mobile qui se commande un peu mieux.
J'ai gardé les points d'arrêts de Proparjak ( un grand merci! )aux quels j'ai ajouté des boites en valeurs locales pour qu'Xpresso tienne compte de la longueur des bras.
Attention le bras 2 doit être de taille inférieure ou égale au bras 1 et le 3 pareil par rapport au bras 1 et au bras 2 sinon l'Xpresso débloque.

Il y a 3 DU une pour sortir les bras, une pour incliner les bras et une pour faire une rotation du tout. L'inclinaison est limitée pour ne pas prendre des positions non usuelles. Le câble de la grue reste toujours vertical mais le réglage de sa longueur reste encore à faire.

Les bras sont polygonaux et donc éditables par point pour changer leurs formes il est même possible de les mettre dans un HN. Toujours en édition par point on peut régler la taille des bras en respectant les règles données plus haut ( donc commencer par le 1 ), le léger décalage des bras est réglé automatiquement par Xpresso.

Une petite vidéo en divx5 et le fichier
http://www.pplatiau.com/menu/c4d/grueluis.avi
http://www.pplatiau.com/menu/c4d/grueluis.c4d
ATTENTION : toutes modifications, améliorations ou propositions sur cet Xpresso seront chaleureusement acceptées :lol: