[RESOLU] Créer une map isometric 2D

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
hercull
Messages : 34
Inscription : 20 Août 2017 00:58

[RESOLU] Créer une map isometric 2D

Message par hercull » 12 Avr 2018 21:25

Je veux créer une map en 2D avec des images isométriques (et plus tard mettre des personnages isométriques 2D qui se déplaceront sur la carte).

Je sais comment créer une carte avec une grille et des tiles pour le jeu en 2D, mais je suis bloqué pour l'isométrique.
Ma grille est sur l'axe XY en 2D mais les images sont en 2D isométrique.

Quelle est la bonne façon de faire cela?

Merci.
Dernière édition par hercull le 16 Avr 2018 16:41, édité 1 fois.

Override
Messages : 143
Inscription : 04 Nov 2016 20:08

Re: Créer une map isometric 2D

Message par Override » 13 Avr 2018 00:12

Salut à toi ! Je travaille beaucoup sur ce genre de jeux, jamais en ISO mais souvent en pixel d'ailleurs, j'adore ce style :super:

Bref, si j'ai bien compris, ta grille de tuiles est frontale et tu n'arrives pas à donner l'effet ISO ?

Enft ça dépendra de ce que tu veut comme rendu mais l'effet isométrique tu doit le créer de zéro depuis ton logiciel de dessin !

Hé oui trop facile sinon :lol:

Mais tu peut les installer :
https://www.google.fr/search?q=2d+isome ... dM&uact=26

Ah moins que tu fasse une Map toute plate. Si tu veut un jeux bien mignon avec des arbres itout (factorio) réaliste bah pas le choix, tu doit les dessiner en ISO sinon, si tu fait un monde plat bah question stupide, 2d = isométrique en mettant la caméra en vue orthographique et donc pas trop de soucis

Bon gros pavé pour pas dire grand chose, si ça t'a pas aidé, développe un peut mieux ton problème pour te donner un meilleur avis :super:
:merci:

hercull
Messages : 34
Inscription : 20 Août 2017 00:58

Re: Créer une map isometric 2D

Message par hercull » 13 Avr 2018 10:18

C'est bien ça ma grille de tuiles est frontale et je n'arrive pas à donner l'effet ISO, j'ai déjà les images qui sont en iso 2D.

Mes images sont identiques à celle de ton lien.

Et je n'arrive pas à les positionner correctement les unes a coté des autres je ne sais pas si le problème viens du placement de la camera? de la grid?

Override
Messages : 143
Inscription : 04 Nov 2016 20:08

Re: Créer une map isometric 2D

Message par Override » 13 Avr 2018 14:10

Ha ok je vois ton problème !

Hé bien tes tuiles sont des losanges enfin des carrés inclinés mais bref, pour que les bords de ces losanges soit scindés, tu ne peut pas juste les disposer de manière quadrillée, il faut décaler une ligne de tuile sur deux.

https://www.google.fr/search?q=isométri ... OM&uact=26

Vois tu ? La première rangée commence à zéro, la seconde est décalé d'une moitié de tuile pour se glisser dans l'encoche

Enft ta boucle de génération devrait ressembler à cela :

For (int x = 0; x< size; x++)
For (int z = 0; z< size; z++)
Vector 3 pos = new Vector 3 (x + ((x%2) x 0.5f), z + ((z%2) x 0.5f, 0);

Voilà donc en gros % (modulo, je te laisse te renseigner sur ce que c'est) fait en sorte qu'une fois sur deux on ajoute 0.5 à la position donc la rangé est décalée

Voilà bon j'espère t'avoir aidé, si tu n'y arrives toujours pas, tu peux toujours regarder des tutos en marquant "isométric tile map génération
:merci:

hercull
Messages : 34
Inscription : 20 Août 2017 00:58

Re: Créer une map isometric 2D

Message par hercull » 13 Avr 2018 15:17

Merci pour tes explications.

Dois-je comprendre que je suis obligé de passer par une génération de tile avec des boucles afin de créer ma grid? je ne peux donc pas juste les placer(visuellement) comme pour une map classique 2D en utilisant les composants "grid", "tile" "tile renderer" offert par unity?

Pour illustré mon propos je joins cette video de création de map avec des tiles qui me sert de base.

https://www.youtube.com/watch?v=fSOYkRU4N9w

Override
Messages : 143
Inscription : 04 Nov 2016 20:08

Re: Créer une map isometric 2D

Message par Override » 13 Avr 2018 17:39

Ouais dsl je pense pas que ça soit possible, essaie quand même hein, bouffe des tutos au pire y'a que ça de vrai. Mais après si tu veux créer ta Map à la main, hé bien oui tu peut les placer mais bon sans la grid d'ubity ducoup
:merci:

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: Créer une map isometric 2D

Message par Max » 13 Avr 2018 19:11

Hello hercull,
hercull a écrit :
13 Avr 2018 15:17
Dois-je comprendre que je suis obligé de passer par une génération de tile avec des boucles afin de créer ma grid? je ne peux donc pas juste les placer(visuellement) comme pour une map classique 2D en utilisant les composants "grid", "tile" "tile renderer" offert par unity?
tu peux parfaitement créer tes levels avec tes tiles au sein de l'éditeur et sauvegarder le tout comme un level. (heureusement d'ailleurs).
Pour aider, tu peux même utiliser le système de snap de l'éditeur, tu maintiens la touche Ctrl tout en bougeant ton objet. Comme sur une grille virtuelle. Pour changer les valeurs du snap, tu peux aller dans les options, Edit->Snap Setting.
;)
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

hercull
Messages : 34
Inscription : 20 Août 2017 00:58

Re: Créer une map isometric 2D

Message par hercull » 15 Avr 2018 10:14

Merci pour vos réponse.

J'ai donc choisit l'option faire mes tiles directement dans l’éditeur pour le moment.
J'ai réussi à créer une map minimum sa a l'aire de fonctionner.

Maintenant le probleme que je rencontre c'est pour le déplacement du joueur , je vous fait une capture:

Image

Mon but est de faire se déplacer mon player du haut de la route jusqu'en bas tout seul, il ne sera pas possible de le déplacer directement par le joueur c'est comme un bot qui bouge tout seul.

Quel est la meilleur solution pour faire ceci, en tenant compte que je veux qu'il se déplace de manière isometric?

Pour un jeu 2D classique j'aurai utiliser un Rigibody 2D et un box collider mais la cela ne fonctionne pas de la même manière. Peut être utiliser un Lerp? mais sur quel élément?

Override
Messages : 143
Inscription : 04 Nov 2016 20:08

Re: Créer une map isometric 2D

Message par Override » 15 Avr 2018 10:35

Je comprends pas trop ce que tu veut faire, un point and click ? Ou plutôt une IA ?

Sinon t'a enooooormément de manière de faire se déplacer un objet, le mieux selon moi si tu veut le faire se déplacer tout seul, c'est de lui assigner un target point, et ensuite tu le fait déplacer vers ce point comme ça

transform.position = Vector3.MoveTowards(transform.positiob, target.position, speed × Time.deltaTime)
:merci:

hercull
Messages : 34
Inscription : 20 Août 2017 00:58

Re: Créer une map isometric 2D

Message par hercull » 15 Avr 2018 12:01

Oui c'est bien ce que je chercher à faire, merci cela fonctionne, par contre j'ai plutôt utiliser Vector2 que Vector3 car mon jue ext en full 2D.

Répondre

Revenir vers « Unity le logiciel »