Map 2D ScrollView

Questions à propos du GUI, y compris la partie script.
Warcza
Messages : 160
Inscription : 18 Fév 2016 20:49

Map 2D ScrollView

Message par Warcza » 20 Sep 2016 18:20

Bonjour,

Alors voila, je suis actuellement entrain de faire un système de map 2D, à l'aide du scroll view, sur un monde plat.
Mon scroll view contient donc une image de la carte (qui est un dessin), ainsi qu'une icône du joueur et de la quête principale.
Afin de repérer ou est le joueur sur cette carte j'ai tout d'abords placé sur chaque bords du monde un cube (en créant une plane avec l'image de la carte proportionnelle au monde).
Ces cubes me permettent de calculer la distance entre chaque bords, pour ensuite calculer le ratio (longueur / largeur) avec la taille de l'image ( width / Height ).
J'utilise ces deux ratios en les multipliant à la positions du joueur pour savoir ou l'afficher sur ma carte.
Le scroll view :
Transform : 300 / 0 / 0
Width / height : 1200 / 983

Le content :
Transform : -600 / 491.5
Width / height : 1200 / 983

image size : 2682 / 2200
ratio environ : 2.6 / 2.4
Ma carte à une rotation de -90°, du coup j'ai du changé ma valeur Y en -Y.

J'ai maintenant deux problèmes:
- Mon premier et que j'ai besoin d'ajouter une correction ( qui change en fonction de la taille du scroll view / content) sur la position de l'icone du joueur pour qu'il soit la ou il doit être sur la carte (si je bouge le personnage, l'icone du joueur suit bien le mouvement sur la Map).
Mais du coup j'ai pas réussi à trouver d'ou proviens ce chiffre ( dans ce cas la c'est 660 / 700 et 55 / 220 pour la l'icone de la quete), si c'est pars que j'ai du rotate ma carte ou autre ?

- Mon deuxième problème c'est que si la rotation de la carte n'est pas la même par rapport a d'autre carte, ben ça foire, du coup j'ai voulu adapter la position du joueur en fonction de l'orientation de la carte, mais impossible je trouve pas.

Voila voila, si jamais quelqu'un à des pistes sur quoi je pourrais me diriger ça serait vraiment cool.
Si manque des infos, n'hésitez pas.

J'espère que mes explications sont assez claire pour qu'on me comprenne ^^".

Merci !
(╯°□°)╯︵ ┻━┻

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Map 2D ScrollView

Message par Alesk » 20 Sep 2016 18:47

Salut,

Si tu désires seulement faire défiler une texture, je ne suis pas certain qu'une scrollview soit la voie la plus simple.
Tu devrais plutôt regarder du côté des modifications de coordonnées uv, sur un quadrangle c'est très simple.

Ou bien sur le changement des coordonnées d'une texture dans un shader.
https://www.youtube.com/watch?v=VbDjHMer0Bw

Warcza
Messages : 160
Inscription : 18 Fév 2016 20:49

Re: Map 2D ScrollView

Message par Warcza » 21 Sep 2016 17:51

Salut,

Je m'y connais pas des masse au config des UV, mais Je pense que ça risque de me poser problème si je veux faire un zoom sur la map non??

Sinon j'ai réussi à résoudre mon problème, j'ai rajouter ceci pour trouver la bonne position par rapport à la rotation.
Si ça peut aider :

Code : Tout sélectionner

playerPos = new Vector3 ( playerPos.x - centerW.x, 0, playerPos.z - centerW.z );
playerPos = Quaternion.AngleAxis ( rotate, Vector3.up ) * playerPos;
getPlayerCanvas.localPosition = new Vector2 ( playerPos.x / xRate, playerPos.z / zRate );

Vector2 mapPos = new Vector2 ( getContent.x - getPlayerCanvas.localPosition.x, getContent.y - 			getPlayerCanvas.localPosition.y );
getmap.localPosition = mapPos;
		
playerPos = position du joueur dans le monde
centerW = centre de la map dans le monde
rotate = l'angle de rotation de la carte
xRate et zRate c'est le ratio entre la largeur / longeur de l'image par rapport à la largeur / longueur du monde.

Ou bien sur le changement des coordonnées d'une texture dans un shader.
https://www.youtube.com/watch?v=VbDjHMer0Bw

Par contre ça, ça risque de m'être bien utile sur ce que je vais devoir faire plus tard x).

Merci en tout cas de ta réponse.
(╯°□°)╯︵ ┻━┻

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Map 2D ScrollView

Message par Alesk » 21 Sep 2016 18:21

Warcza a écrit :Je m'y connais pas des masse au config des UV, mais Je pense que ça risque de me poser problème si je veux faire un zoom sur la map non??
Non, ça ne pose aucun problème particulier pour le zoom, mais bon, si tu n'es pas à l'aise avec les modifications de meshes c'est sûr que ça va être plus compliqué pour toi.

Répondre

Revenir vers « L'interface GUI »