jeudi 28 juin 2018

[Unity3D][Défi50Jours] Jour 10 - Pose de routes à la souris

Bon, je vais être honnête, aujourd'hui j'étais trop défoncé pour faire une heure complète. Cependant, j'ai quand même pu avancer sur les routes et ajouter la fonctionnalité pour créer des sections de routes à la main.
Du coup l'article d'aujourd'hui va être très court, mais c'est pas plus mal pour une fois :)


Pour expliquer comment marche ce système, lorsqu'un clic est détecté, on créée un  Nœud de départ à la position de la souris. On créée par la même occasion un noeud de fin. Puis tant que le bouton est enfoncé, si la position de la souris change, on change aussi la position du noeud final, et on créée la route en appelant A* et la fonction de traçage de route.

Lorsqu'on change la souris de place d'une case, le chemin calculé ne passe plus forcément par le même endroit que celui calculé pour la case précédente. Et du coup si on se contente d'afficher la route à chaque fois sans rien faire d'autre, on se retrouve vite avec tous les "essais" de chemins sur la carte, et c'est très moche.

C'est bien mais pas top

Il faut donc supprimer à chaque fois ces chemins. La solution la plus simple est de garder dans une liste tous les blocs instanciés, et à chaque fois que la souris bouge, on supprime tous les blocs et on vide la liste, avant d'afficher la nouvelle route et d'y ajouter les nouveaux blocs.


Là on est pas mal

Enfin, comme vous pouvez le constater, le dernier problème à résoudre est qu'avec ce système de liste, on efface la route actuelle si on essaie d'en poser une nouvelle. Pour résoudre ce problème, il suffit de créer une nouvelle liste à chaque fois qu'un clic est détecté, et d'effectuer les mêmes étapes que précédemment sur cette nouvelle liste.



Et voilà le travail :) Ce n'est pas encore tout à fait parfait, mais ça marche déjà très bien et fait ce qu'on veut. Et c'est très visuel donc j'ai pu faire péter les gifs. Du coup je suis plutôt très satisfait!


Le résultat final qui pète des culs


Voilà, comme convenu, un billet très court, mais avec un résultat bien visible. J'espère que ces progrès vous hypent autant que moi. N'hésitez pas à laisser vos remarques, impressions, conseils, questions, et à partager ça fait toujours plaisir, des bisous poilus

Aucun commentaire:

Enregistrer un commentaire