Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : DirectX Camera à la souris [ Windows / DirectX ] (seb2086)

dimanche 15 juillet 2007 à 14:42:54 | DirectX Camera à la souris

seb2086

Membre Club
Bonjour,

Je voudrais que la souris gère les rotations de la camera mais je n'y arrive pas.
J'arrive à gerer le deplacement en translation de celle-ci.
J'utilise les vecteurs pour les deplacements.
Merci.

lundi 16 juillet 2007 à 13:16:03 | Re : DirectX Camera à la souris

rt15

Membre Club
Salut,

Je n'ai pas mes sources ici, mais je crois que j'ai fait ça très simplement avec D3DXMatrixRotationYawPitchRoll.


lundi 16 juillet 2007 à 13:55:19 | Re : DirectX Camera à la souris

seb2086

Membre Club
Merci de ta réponse,

mais en fait il faudrait que je recupere la variation de l'angle dans une variable de type float.
par exemple dans float CameraAngleY je voudrait recuperer la valeur de l'angle.

Donc je sais pas si peux avec cette fonction.

En fait moi je faisait comme ca :

CameraAngleX -= EtatSouris.lX *0.002;

J'ai l'angle de la camera egal à la position X de la souris * par une valeur.

Mais quand je fais ca la camera part dans tout les sens.
Donc si tu a une idée ;)

Merci

lundi 16 juillet 2007 à 15:43:48 | Re : DirectX Camera à la souris

THEwarrior333

Regardes dans le SDK, tu as de bons exemples sur la gestion de la camera. Tu as même DXUT qui propose des classes de gestion de camera: regardes comment ils font.
Sinon une méthode est de bouger ton vecteur directeur selon l'écart de position de la souris. Ensuite tu mets à jour ta matrice de vue D3DMatView.

lundi 16 juillet 2007 à 18:13:24 | Re : DirectX Camera à la souris

seb2086

Membre Club
Oui j'avais deja regardé mais j'ai pas reussi à comprendre leur code.

Par contre je voudrais bien que tu m'explique comment faire en bougeant le vecteur selon l'ecart de position de la souris.
Je pense que cette méthode se rapproche bien de ce que j'ai commencé à coder pour le clavier.

Si tu pouvais m'espliquer en détail.

Merci

lundi 16 juillet 2007 à 18:29:36 | Re : DirectX Camera à la souris

seb2086

Membre Club
Merci pour votre aide mais en fait c'est bon je vais utiliser ce que j'avais fait.

En fait mon problème c'et que ca tournait beaucoup trop vite et que je ne voyait rien.

Pour tester la camera j'ai juste charger un cube mais le probleme je pense c'est que le cube etait vraiment tout petit et comme je n'ai pas regler la camera en fonction de la taille de l'objet ca tourne beaucoup trop vite.

Donc j'ai reduit la vitesse de rotation CameraAngleY -= EtatSouris.lY *0.000000000002f et la ca tourne à une vitesse correcte.

Voila encore désolé de vous avoir embêter avec ca.

Merci en tout cas pour votre aide.

lundi 16 juillet 2007 à 19:13:44 | Re : DirectX Camera à la souris

THEwarrior333


Tu ne nous embêtes pas :)
En fait ton problème vient du fait que tu ne bases pas tes mouvements sur le temps. Toutes tes animations doivent évoluer en fonction du temps. Donc tu définis une vitesse pour la souris et tu calcules le nouvel angle par:

angleX +=vitesse / (temps_écoulé) * ecart_sourisX;


lundi 16 juillet 2007 à 19:15:54 | Re : DirectX Camera à la souris

seb2086

Membre Club
Merci,

Je le recupere comment le temps écoulé ?
Et ecart_sourisX correspond à quoi ?

Merci de ta réponse.

lundi 16 juillet 2007 à 19:24:35 | Re : DirectX Camera à la souris

THEwarrior333


Pour le temps ecoule c'est tres simple (cf DXUT par ex). C'est la différence entre les temps mesurés à chaque frame (chaque rendu).
Je ne sais pas comment tu obtiens l'état de la souris mais dans le chunk de la souris, ecart_sourisX et ecart_sourisY sont inclus.

lundi 16 juillet 2007 à 19:51:47 | Re : DirectX Camera à la souris

seb2086

Membre Club
J'ai fait ca :

        int temps1, temps2, difference ;
        temps1 = GetTickCount() ;
        difference = temps1 - temps2 ;

        CameraAngleX += 0.0000000000002f / difference * EtatSouris.lX ;
        temps2 = temps1 ;

Mais ca fait la même chose qu'avant.
en fait la rotation se fait mais elle ne s'arrête plus.
En fait dés que la souris fait un mouvement la rotation ne s'arrête plus alors que moi je voudrais que la rotation s'arrête lorsque la souris ne bouge plus.


1 2 3

Cette discussion est classé dans : arrive, directx, souris, camera


Répondre à ce message

Sujets en rapport avec ce message

la souris avec glut [ par laptop ] JE voudrait que les mouvement de la souris sois coordonnéavec les mouvement de l'ecran c a dire qd on monte avec la souris l'ecran aussi comme dans l windows et la souris [ par dletozeun ] bonjour, Dans un programme utilisant Opengl, j'essais d'utiliser la souris afin de bouger la vue de la camera. La vue bouge tres bien sauf que des qu souris et camera openGL [ par yuriashford ] Bonjour je suis nouveau sur cppfrance alors je ne sais pas si la question a ete pose  si c le cas je m'excuse a l'avance. Bon je créé actuellement une directx position souris [ par sam20 ] Salut a tous.J'ai entendu parler du picking mais j'ai du mal a trouver.Je suis en train de faire un un jeu,j'ai le monde 3d,le hero,les decors.je cher Développer une interface pour DOS [ par BERGOUGNOUX ] Bonjour à tous,Je fais du Visual Basic depuis plus de cinq ans maintenant. Je cherche à réaliser une sorte d'interface graphique pour DOS, avec pointe Object independant de la position de la camera [ par sem16 ] Hello tout le monde,j'ai un petit probleme en OpenGL que j'arrive pas a resoudre. J'ai un strip compose de mesh triangulaire avec un legend à afficher lecture depuis camera avec dc1394 [ par braf78 ] mon probleme quand je compile le grogramme il connait pas fonction de bibliotheque comme (dc1394_cameracapture camera; raw1394handle_t handle; n Du courage, on y arrive!...... [ par lefrioul ] Bonsoir à toute l'équipe et à tous, Je dois dire que votre site m'a beaucoup aider quand je travaillais, maintenant c'est le repos du guerrier, de tem bouger la souris [ par tijudo ] g un pb d'execution av le programme "fr bouger la souris", help please! inserer camera dans un winform [ par mikaO2 ] Bonjour a tous,j'ai pour projet d'afficher l'image d'une camera dans un winform, mais je ne connais pas de fonction qui permet son affichage.De plus, 


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.