salut tous le monde.
je suis entr1 de créer un jeux 3D dan la quelle je veut modéliser le mouvement d'une voiture; donc si l'utilisateur appuis sur la touche " g " par exemple ,la voiture fait une rotation vert la gauche et si on appuis sur la touche " r " par exemple ,la voiture avance en avant. mon problème c'est que lorsque je fait une rotation aprés avoir fait un avancement(changement suivant laxe z) ,la voiture tourne bien mais le movement se fait pas dans sa position actuelle(pas dans le méme point dans lequel elle se trouve) ,mais dans une position aléatoire( la valeur de z change avec z est la profondeur de la voiture dans la scéne).
pour résoudre ce probléme ,j'ai combiner la rotation avec la translation avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Transform3D rotation = new Transform3D(); rotation .rotY(angle); deplacementY.setTranslation (new Vector3f(0.0f,0.0f,z)); // z est la position actuelle de lobjet pour garder sa profondeur dans //la scéne rotation.mul(deplacementY); TG_transform_group.setTransform(rotation);
avec ce code ,tous marche bien mais le probléme c'est que la voiture
fait une rotation pas suivant son axe (rotation autour d'elle) , mais c'est comme si elle fait une rotation autour d'un cercle de rayon z.
merci pour votre réponse
Partager