PDA

Voir la version complète : Xpresso et C.O.F.F.E.E



Coyotte
13/11/2004, 19h12
Bonjours,

Je me suis amusé à reproduire à peu près la Boule Morphing de Métroïde Prime et à l'animer avec Xpresso à l'aide du Tutorail de Cyril Blazy ( Je suis débutant )
quand je la bouge seulement sur l'axe X ou l'axe Z elle tourne corectement, mais si je la bouge sur l'axe Z jusqu'à ce qu'elle tourne de 90° et qu'ensuite je la bouge sur l'axe X elle tourne Sur l'axe H hors qu'elle devrait tourner sur l'axe B. :coup:

Alors je me demandais si avec Avec Xpresso ou avec C.O.F.F.E.E il etait possible de la dépalcer en la faisant rouler sans pour autant faire tourner sur son axe.
Si ce n'est pas possible comment pourrais-je faire.

Merci d'avance

Guedinouff
15/11/2004, 21h56
Personnellement, il m'est arrivé un problème similaire. Je voulais faire rouler une bille sur un plan incliné. J'en susi arrivé à la solution suivante :
Tout d'abord ma hiérarchie : objetneutre1>objetneutre2>sphère

je lie le déplacement réel selon l'axe Z de l'objetneutre1 à la rotation de la sphère selon un seul axe. Ensuite pour que la sphère se déplace dans une autre direction, je fait tourner les axes de l'objet neutre 1 (pour que le déplacement Z réel de l'objet neutre 1 se fasse dans une autre direction que l'axe Z du monde). Ensuite, je fixe la rotation globale de l'objet neutre 2 à 0. Enfin, je contrains la texture de la sphère à suivre la même rotation que l'objet neutre 1. Comme çà, la sphère tourne autour des mêmes axes mais la texture ayant bougé, on a a l'impression que la sphère tourne sur d'autres faces.
J'espère ue j'ai été suffisament clair ??:)

P.S. : au fait pourquoi tu poste ton message dans animation alors que tu veux parler de Xpresso ?? Je te préviens les modérateurs apprécient pas trop...

tabou
16/11/2004, 10h31
Coyotte, si tu poses ta question dans le mauvais forum tu auras du mal à obtenir des réponses. Je déplace ton message dans le forum XPresso.

Il n'y a pas de réponse simple à ta question, les rotations c'est ce qu'il y a de plus difficile à gérer en 3D.
J'ai rencontré le même problème quand j'ai fait cette expression, Tengaal m'avait suggéré ce début de solution (http://www.frenchcinema4d.com/phpBB2/viewtopic.php?p=2720#2720).
Sur le coup j'avais fait quelques essais pas très concluants et depuis je ne me suis plus penché sur la question :oops: Promis je m'y remets dès que je trouve le temps.
Ta solution est astucieuse Guedinouff mais elle ne marche qu'avec des sphères...

base80
16/11/2004, 12h10
Si ca peu aider j'ai un noeud qui fait des Tours par Minutes.(RPM)

http://www.base80.com/Images1/Base-Node/BPM-RPM.c4d

Coyotte
16/11/2004, 19h59
Merci

Je n'ais pas fait attention quand j'ais posté mon message, la prochaine fois j'y fairai gaf.
Désolé pour les modérateurs et merci tabou de l'avoir déplacé.

Je ne suis pas sur d'avoir tout compris même si ce que je te dis ressemble beaucoup à ce que tu ma dis
A l'objetneutre1:
_Tu fais tourner ta sphère suivant son déplacement réel sur l'axe Z.
_Ensuite toujours à l'objetneutre1 tu tournes ces axes pour faire tourner l'axe Z.
Le reste ça va.

Mais je ne vois pas du tout comment tu fais pour faire tourner seulement l'axe de ton objetneutre avec Xpresso et pour contraindre la rotation de ton objetneutre1 à la texture.

Tant que j'y suis dessus, est-il possible de faire quelques dynamiques avec Xpresso autre qu'avec les émetteurs de particule intelligente

Sinon merci encore.

Guedinouff
16/11/2004, 21h07
Pour modifier les axes d'un objet neutre avec Xpresso sans que ces enfants n'en sois affectés, il faut placer un objet neutre entre les enfants et l'objet neutre que tu bouges (c'est l'utilité de mon objetneutre2 dans mon explication). Ensuite tu déplace ton objet neutre1 (qui est au niveau le plus haut dans la hiérarchie) et tu fais subir une modification de ton objetneutre2 inverse de celle appliqué à l'objet neutre 1. Par exemple, si ton objetneutre1 se déplace de 30 m sur l'axe X, tu déplaces ton objetneutre2 de -30m sur l'axe X, de cette manière les enfants ne bougeront pas alors que l'objet neutre1 lui aura bougé. C'est le même principe pour les rotations sauf que c'est un peu plus compliqué. Au sujet du mode de contrainte d'une propriété de texture, j'ai eu ce problème, et je n'ai pas encore prit le temps de le résoudre. Le principe consiste à récupérer la rotation globale de l'objet parent de celui qui possède la propriété et de lui faire une opération pour d'appliquer ensuite le résultat comme rotation de la propriété (la rotation globale n'est pas disponible en Xpresso pour les propriétés de textures (enfin je crois)).
C'est vrai que comme dit Tabou, les rotations sont dures à gérées avec Xpresso, tu ne débute pas avec un exemple des plus simples.


Ta solution est astucieuse Guedinouff mais elle ne marche qu'avec des sphères...

En effet mais si on ajoute un déplacement vertical de l'objet en plus de la rotation, çà doit pouvoir permettre de faire bouger un objet vaguement sphérique non ? Je crois que j'ai fait un xpresso il y a quelque temps qui faisait tourner un crayon à papier hexagonale sur lui-même et qui le déplaçait vers le haut lorsque lors de sa rotation, il se retrouvait sur une de ses arêtes. En fait le cas de la sphère est un cas simple dans le genre mais qui peut servir de base à des choses encore plus compliquées.



Tant que j'y suis dessus, est-il possible de faire quelques dynamiques avec Xpresso autre qu'avec les émetteurs de particule intelligente

Si tu veux parler par dynamique les choses qui sont liées à la détection de collision, çà se fait et çà à déjà dû être traiter quelque part sur les forums.
Par contre pour faire des systèmes de collisions évoluées, le coffee doit être plus approprié que l'Xpresso. :)

Coyotte
16/11/2004, 23h02
Je pense qu'on ne peut pas faire plus claire.

Je mis mets tout de suite.
En ce qui concerne les dynamiques c'était bien ça et je regarderais juste apres.

Merci encore :prie:

Coyotte
18/11/2004, 21h09
Désolé d'avoir répondu aussi tard.

Effectivement ça marche mais seulement si on bouge les axes un par un, mais si on bouge les deux axes en même temps ça ne fonctionne pas tout à fait
J'ai l'impression qu'au début la sphère bouge sur les deux axes en même temps mais qu'après elle essaye de bouger seulement sur l'axe X
ou Z.
Je ne sais pas si c'est moi qui ais mal fait quelque chose ou si ce n'est pas ce qu'il fallait faire.
???????????????:coup: