Evolution dans un univers java3D

kadarin Messages postés 4 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 4 octobre 2004 - 26 juin 2004 à 01:13
cs_olaaa Messages postés 48 Date d'inscription jeudi 20 janvier 2005 Statut Membre Dernière intervention 11 mai 2005 - 20 janv. 2005 à 01:56
Bonjour !

Cela fait plusieurs jours que j'essaie de trouver une solution à mon problème... Sans effet jusqu'à maintenant...

J'aimerais créer un univers JAVA3D dans lequel on puisse se déplacer à la manière de ceux en VRML. Pour cela j'ai utilisé un SimpleUniverse, placé mes objets etc, et attaché une classe Behavior pour capturer les événements déclenchés au clavier.

Je peux donc savoir si les flèches gauche et droites sont pressées et ainsi appliquer le comportement par défaut d'un KeyNavigator.

Deux questions me turlupinent alors...

1- La première et la moins importante est : Est-ce qu'il est possible de ralentir la vitesse à laquelle toute ma scène tourne autour de mon point de vue ?

2- Et la deuxième, celle qui me pose le véritable problème : Toute ma scène tourne autour de mon point de vue. Ok... Mais si je veux placer un avatar au premir plan de la scène, celui-ci aussi tourne avec la scène. Est-il possible alors de ne faire tourner qu'une partie de la scène avec mon KeyNavigator, afin que mon avatar reste fixe et à l'endroit de mon point de vue ?

Merci d'avance, Kadarin

5 réponses

dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
28 juin 2004 à 11:17
Pour la premiere question, oui cette methode existe, tout comme pour le mouseBehavior,
Pour la deuxieme question : attache ton avatar a la brancher juste au dessus pour qu'il ne soit pas affecte par le keybehavior...
-------------------
>:) dams >:)
-------------------
0
kadarin Messages postés 4 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 4 octobre 2004
28 juin 2004 à 21:49
Le problème c'est que pour que ma scène tourne autour de moi, je dois appliquer le comportement à l'univers. Si je l'applique aux composants, la scène ne tourne pas : seuls les objets tournent sur eux-mêmes, ce qui ne me convient pas. Je ne vois donc aucun moyen de ne pas faire hériter mon avatar du comportement...

Kadi
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
29 juin 2004 à 13:11
attends, ton comportement tu l'as ajoute a ton branchgraph uqi est lie a ton Univers...
donc au lieu de ca, tu ajoutes une branche
a ton branchgraph sur laquelle tu mets ton bg de ton avavtar, et le bg de tout les reste de ta, vue, ce dernier possedant le behavior...
-------------------
>:) dams >:)
-------------------
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
29 juin 2004 à 13:13
et puis tu as aussi la possibilite de mettre un anchor point a ton avatar sinon, si la premiere solution ne te satisfait pas...
-------------------
>:) dams >:)
-------------------
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_olaaa Messages postés 48 Date d'inscription jeudi 20 janvier 2005 Statut Membre Dernière intervention 11 mai 2005
20 janv. 2005 à 01:56
sinon utilise les transformGroup de la vue de l'univers...
par exemple lorsque tu appui sur la touche d, tu fai une rotation vers la droite d'un angle que tu choisi a l'aide d'un transform3D , tu récupére le transformGroup de la vue de l'univers et tu fai un setTransform() sur ce transform group a l'aide du transform3D que ta utilisé pour faire la rotation... Par exemple:

Transform3D rotation = new Transform3D() ; rotation.rotX(Math.PI/2) ;
univers.getViewingPlatform().getViewPlatformTransform().setTransform(rotation)

Tout ca bien sur en réaction a l'appui sur la touche d
ainsi la vue et uniquement la vue bougera.
0