Bonjour

Je fais actuellement un petit je en C# sous XNA.

Mon problème est de faire suivre les déplacements de la souris à un modèle 3D. sur un plan donné. Par exemple pour une hauteur y donnée, je souhaiterais obtenir les coordonnées x et z de la pièce. J'avais essayé avec unproject mais je n'ai pas réussi. Par exemple le code suivant donne une position aberrante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
pos = Game.GraphicsDevice.Viewport.Unproject(new Vector3(InputHandler.CurrentMouseState.X, InputHandler.CurrentMouseState.Y,0 )
                        , Camera.Projection, Camera.View, Camera.World) ;
Ce code fait bouger ma pièce de manière plus ou moins hyperbolique : Très vite prés des bords de l'écran et quasiment pas au niveau du bord.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Vector3 deltapos =
                        (Game.GraphicsDevice.Viewport.Unproject(new Vector3(InputHandler.CurrentMouseState.X, 0, -InputHandler.CurrentMouseState.Y)
                        , Camera.Projection, Camera.View, Camera.World))
                        - (Game.GraphicsDevice.Viewport.Unproject(new Vector3(InputHandler.LastMouseState.X, 0, -InputHandler.LastMouseState.Y),
                        Camera.Projection, Camera.View, Camera.World));
                    pos += new Vector3(deltapos.X, 0, -deltapos.Y) * 1100;
Avez vous des idées ?

Merci d'avance !