#1 

09-12-2009 15:07:07

Ilovechocolat
Membres
Date d'inscription:
Messages: 125
IP: 90.14.248.61
Courriel

Bonjour a tous !

Je voudrait réaliser une caméra trackball comme ici.
Le problème c'est que dans ce tuto, il utilise des motionSensivity et autre.
Moi je n'ai droit qu'a la position de la souris et le bouton pressé (en fait j'utilise Qt).
Si vous voulez plus d'information sur les évents que j'utilise, voici la class que j'utilise : QMouseEvent.
Je peut aussi récupérer l'emplacement de la caméra.


Hors ligne


#2 

09-12-2009 16:13:22

firnafin
Membres
Avatar de firnafin
Date d'inscription:
Messages: 150
IP: 93.9.158.138
Courriel

un truc du style :

if( "bouton souris gauche pressé" == 1){ 
cam->setPosition(" le centre de mon objet" +
                             irr::core::vector3df(  r*cos( Pi/2*Dy)*cos( Pi*Dx) ;
                                                         r*sin( Pi/2*Dy) ;
                                                         r*cos( Pi/2*Dy)*sin( Pi*Dx) );
cam->setTarget( "  le centre de mon objet " )   ;
}

ou ( Dx , Dy ) = ( Px , Py ) - ( P0x,P0y )
(Px,Py) = position courante du pointeur ;
(P0x,P0y) = position du pointeur lors de la pression du bouton gauche ;
en coordonnées normalisée ( ie entre 0 et 1 ).

C'est un ébauche pour avior une idée.
Apres pour faire un truc plus souple tu peux faire intervenir la vitesse de deplacement du pointeur , corrigée le probleme aux pôles , changer la vitesse de rotation ....


Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
153 invités en ligne
membre en ligne: -
RSS Feed