Gestion camera

Résolu
chucky_666 Messages postés 6 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 29 avril 2005 - 28 avril 2005 à 17:16
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 - 7 mai 2005 à 20:06
Voila mon pb :
je modelise un terrain 3D et g fixe une camera au dessus avec gluLookAt().

Je me sert de la souris pour effectuer des rotation de la camera et du clavier pour les deplacements de celle-ci .

Mon pb c kune voi une rotation de la camera effectué, les déplacements au clavier ne changent pa et donc mes touchent peuvent avoir la fonction inverse que celle de base (avancer, reculer ....)

G lu deux trois trucs avec le pitch et le heading de la camera mai g pa tt compri.

Si klkun peut mexpliquer ca serai cool.

Merci davance

6 réponses

dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
28 avril 2005 à 23:07
si j'ai bien compris tu veux toujours te deplacer dans la direction vers laquelle la camera regarde. alors que toi pour le moment ta touche haut par exple est fixé sur l'axe z quelque soit la direction vers laquelle tu regarde.

Je ne sais pas du tt ce qu'est le pitch ou le heading mais ce que tu peux faire c'est calculer les coordonnées du vecteur direction en soustrayant les coordonnées de la cible que fixe la camera a celle donnat la position de la camera.

Ensuite tu rend la norme de ce vecteur egale a 1 c'est a dire : tu divise toute les coordonnées du vect direction par la norme de ce vecteur ainsi le vecteur est toujours de la meme taille quelque soit la position ou tu est.

Finalement pour obtenir le deplacement tu ajoute les coordonnées de ce vecteur dir a celle de la cam en multipliant le vecteur par un coeff afin d'obtenir un deplacement plus ou moins rapide.

Voila j'espere avoir ete assez clair...mais peut etre qu'il y a une methode plus simple!
3
barraq Messages postés 89 Date d'inscription mercredi 25 juin 2003 Statut Membre Dernière intervention 14 septembre 2007
29 avril 2005 à 08:57
Le pitch c'est les trois dernier element que tu met dans gllookat? je
crois mais pas sur, mais si c'est ceula ben il ne serve pas a grand
chose au debut, c'est rare les jeux qui l'utilise, c'est un peu
comparable au tangage :)



Sinon pour ton problem de camera, oui il fau faire comme dletozeun dit.

A premirere vue c'est un peu etreange, alors moi je te conseil plutot
de lire et de comprendre un source déja commantée, si tu trouve pas dit
je te passerai la miene, sinon va voir sur :

http://gametutorial.com

http://nehe blabla



Alors ty arrive ?
0
chucky_666 Messages postés 6 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 29 avril 2005
29 avril 2005 à 09:13
Ok je vous remercie
je vai regarder ca
0
chucky_666 Messages postés 6 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 29 avril 2005
29 avril 2005 à 09:43
Ben ca marche nickel pour un deplacement en avant de la camera.

Mai g un petit probleme (encore...) Je voudrai egalement pouvoir gerer le strafe de ma camera... cad un deplacement lateral.

G essayer deffectuer le deplacement (avec le vecteur position calculé) de ma camera que pour la position en X mai evidemment laxe des X ne bouge pas et le deplacement lateral est toujours selon la meme direction !!

Que puis-je faire? Fo - til que je mette des coefficients differents selon les axes?

En tout cas merci dletozeun et barraq, ca marche nickel pour un deplacement en avant
0

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

Posez votre question
chucky_666 Messages postés 6 Date d'inscription mercredi 13 avril 2005 Statut Membre Dernière intervention 29 avril 2005
29 avril 2005 à 10:03
C bon g trouvé commen il fallai faire, en fait ma classe camera que g recupere du net avait deja presque tt gerer....

C moi ki savai pa lutiliser ....

Merci keu meme
0
dletozeun Messages postés 546 Date d'inscription vendredi 13 février 2004 Statut Membre Dernière intervention 9 janvier 2008 1
7 mai 2005 à 20:06
ben sinon pour le strafe il suffit de faire un produit vectoriel entre le vecteur direction dont je te parlais precedement avec le vecteur selon y (0,1,0) si bien sur ta camera est toujours horizontale!
parce que si ta camera tourne selon z ca sera plus le meme vecteur!

en tout cas avec le vecteur trouvé par le produit vectoriel tu l'ajoute a la position de la camera en le multipliant par un coeff plus ou moins grand pour obtenir une vitesse plus ou moins elevée, positif ou negatif pour aller vers la gauche ou vers la droite.
0
Rejoignez-nous