#0 

09-12-2009 16:07:07

Ilovechocolat
Abonné
Date d'inscription: 07-10-2009
Messages: 125

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.

Dernière modification par Ilovechocolat (09-12-2009 16:09:19)

Hors ligne


#1 

09-12-2009 17:13:22

firnafin
Abonné
Date d'inscription: 31-03-2007
Messages: 150

un truc du style :

Code:

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 ....

Dernière modification par firnafin (09-12-2009 17:25:56)

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
69 invités en ligne
Aucun membre connecté
RSS Feed