AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
SSD interne Crucial BX500 2,5″ SATA – 500 ...
Voir le deal
29.99 €

 

 Curseur Ultimate 3D

Aller en bas 
2 participants
AuteurMessage
Invité
Invité




Curseur Ultimate 3D Empty
MessageSujet: Curseur Ultimate 3D   Curseur Ultimate 3D EmptyLun 10 Mai 2010 - 15:49

Normalement les variables mouse_x et mouse_y nous informe de la position de la souris sur l'axe X et sur l'axe Y.

Mais avec Ultimate 3D, dans une room avec une map et une orientation de la caméra, les variables mouse_x et mouse_y nous donne les coordonnées de la souris pas par rapport au terrain de la map mais par rapport à l'écran.

Je voudrais savoir si il existe une fonction ou un script qui permet de connaître la position de la souris sur une map de la room : coordonnées x,y ( et z, mais on peut l'obtenir avec GetTerrainHeightAtPos(obj_map,x,y)); tout en prenant compte de la rotation de la caméra.
Revenir en haut Aller en bas
[TheDarkTiger]
Modérateur
[TheDarkTiger]


Messages : 7420
Localisation : Essonne

Curseur Ultimate 3D Empty
MessageSujet: Re: Curseur Ultimate 3D   Curseur Ultimate 3D EmptyMar 11 Mai 2010 - 1:12

sans plus d'information sur ton type de jeu, non on peut pas t'aider ...
Revenir en haut Aller en bas
http://www.tdms.fr
Invité
Invité




Curseur Ultimate 3D Empty
MessageSujet: Reponse   Curseur Ultimate 3D EmptyMar 11 Mai 2010 - 10:28

[TheDarkTiger] a écrit:
sans plus d'information sur ton type de jeu, non on peut pas t'aider ...

Je souhaite faire un STR (Jeu de Srategie en Temp Réel), et quand il faut placer un bâtiment avec la souris, les fonctions mouse_x et mouse_y ne suffise pas.
Revenir en haut Aller en bas
[TheDarkTiger]
Modérateur
[TheDarkTiger]


Messages : 7420
Localisation : Essonne

Curseur Ultimate 3D Empty
MessageSujet: Re: Curseur Ultimate 3D   Curseur Ultimate 3D EmptyMar 11 Mai 2010 - 22:48

oui, c'est tout à fait logique.

mouse_x et mouse_y sont en fonction de l'écran.
Pas de ta camera ou de tes view ^^

Donc, il faudra faire un projection de l'écran sur ta zone visible de la camera.

En gros, tu connait l'angle de vue ta camera, et tu connait la position du curseur.

Donc, c'est un truc du genre :


X=camera.x+ajuste*((angle*mouse_x/640)-(angle/2));
Y=camera.y+ajuste*((angle*mouse_y/480)-(angle/2));

ajuste dépendra vraiment de ton jeu, mais surtout de la hauteur de ta camera.
qui plus est, ces lignes ne fonctionnent que si ta camera est bien au dessus de ton monde 3D.

Après, faut s'amuser avec la trigo Wink
Je n'ai ni le temps de faire un exemple, ni le temps de faire un schéma. Mais je t'encourage à gribouiller un schéma dans un coin de feuille et à retrouver les formules toi même Wink
Revenir en haut Aller en bas
http://www.tdms.fr
Clem007
Débutant



Messages : 16
Localisation : (567,274,859)
Projet Actuel : Trio

Curseur Ultimate 3D Empty
MessageSujet: Re: Curseur Ultimate 3D   Curseur Ultimate 3D EmptyJeu 13 Mai 2010 - 12:49

salut, je crois que ce que tu cherche est la fonction
ScreenCoordToVector(OutputVectorID,ScreenCoordX,ScreenCoordY,CameraIndex)
si j'ai bien compris, elle calcule le vecteur qui va du point (ScreenCoordX,ScreenCoordY) de la caméra vers le premier objet qu'il rencontre


EDIT: j'ai essayé avec ça:

Code:

var v,l;
v=ScreenCoordToVector(-1,mouse_x,mouse_y)
l=CheckRayIntersection(obj_Terrain.id,obj_camera.x,obj_camera.y,obj_camera.z,CalculateVectorLongitude(v),CalculateVectorLatitude(v))
CalculateVectorScalarProduct(v,v,l)
x=obj_camera.x+GetVector(v,1)
y=obj_camera.y+GetVector(v,2)
z=GetTerrainHeightAtPos(obj_Terrain.id,x,y)
ReleaseVector(v)

ça donne presque ce qui faut...
Revenir en haut Aller en bas
Invité
Invité




Curseur Ultimate 3D Empty
MessageSujet: solution   Curseur Ultimate 3D EmptyLun 31 Mai 2010 - 15:41

J'ai réussis a obtenir un resulat :
Code:

curseur.x = camera.y - (room_height- window_view_mouse_get_y(0));
curseur.y = camera.x - ((2*room_height - room_width) - window_view_mouse_get_x(0));
si pour la camera :
Code:

rotx = 45;
roty = -90;
rotz = 0;

Mais il y a quelque petites imperfections; plus la position de la souris est éloignée du centre de l'ecran, plus le curseur est éloigné de la position de la souris.
Revenir en haut Aller en bas
Contenu sponsorisé





Curseur Ultimate 3D Empty
MessageSujet: Re: Curseur Ultimate 3D   Curseur Ultimate 3D Empty

Revenir en haut Aller en bas
 
Curseur Ultimate 3D
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Curseur qui bug?
» curseur et le perso
» Curseur par fichier .cur
» Problèmes : Curseur
» Sprite qui suit le curseur

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: