Evolution dans un univers java3D

Signaler
Messages postés
4
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
4 octobre 2004
-
Messages postés
48
Date d'inscription
jeudi 20 janvier 2005
Statut
Membre
Dernière intervention
11 mai 2005
-
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

Messages postés
500
Date d'inscription
mercredi 20 août 2003
Statut
Membre
Dernière intervention
11 juillet 2007

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 >:)
-------------------
Messages postés
4
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
4 octobre 2004

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
Messages postés
500
Date d'inscription
mercredi 20 août 2003
Statut
Membre
Dernière intervention
11 juillet 2007

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 >:)
-------------------
Messages postés
500
Date d'inscription
mercredi 20 août 2003
Statut
Membre
Dernière intervention
11 juillet 2007

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 >:)
-------------------
Messages postés
48
Date d'inscription
jeudi 20 janvier 2005
Statut
Membre
Dernière intervention
11 mai 2005

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.