Bonjour,
Je travail sur un RPG au tour par tour avec comme base de déplacement : Divinity Original Sin : https://youtu.be/rciO3bG3tjU?t=17s
J'aimerais savoir comment il est possible de tracer un chemin de la même manière que ce qu'il y a dans la vidéo (tracé de point).
Je sais qu'il est possible de récupérer les "corners" du path. Mais une fois le "chemin" récupéré comment je peux le tracer ? Je regarde du coté de LineRenderer.
Autre petite particularité c'est que pour chaque personnage il y a une valeur de mouvement. C'est à dire qu'une unité ne peut se déplacer que de X unités (mètre). J'aimerais donc aussi pouvoir faire en sorte qu'entre chaque unité (de mesure) ce soint un autre type de point : O . . . O . . . O . . . O (avec O . . . O = 1 unité de mesure)
Merci de votre aide/conseil
[MY-AL]Draw Navmesh
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :
Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé
Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie
Exemple :
[DB-RS] Mouvement perso multijoueur
Re: [MY-AL]Draw Navmesh
Peut être avec la fonction OnDrawGizmos, il est possible de "dessiner" forme, texture, mesh ...
Tu peux éventuellement calculer la position de ton prochain point dessiné à l'aide de la direction entre tes deux corner.
Tu déclares une intervalle de distance entre tes points. Tu récupères la position du corner1, puis la direction jusqu'au corner2.
Tu créer donc une texture de rond au point 1, que tu orientes sa position vers le point 2.
Ensuite pour avoir la position suivante, tu fais un nouveau vecteur de position que tu déclares comme ceci :
En gros chaque position de point représente le point précédent additionné de ton intervalle.
Par contre pour calculer une direction entre deux positions, pour ma part (dans un cas qui n'a rien à voir mais qui utilise les mêmes calculs) je m'y suis pris de cette manière :
Une fois réussi à faire ça, tu rencontreras un autre problème. Tu auras un calcul de position qui "dépassera" le corner2. Là il y aura juste à mettre des conditions de position pour dire qu'il ne faut pas aller plus loin, et qu'à partir de la position de ce corner2 il faut continuer dans la direction vers le corner3.
Tu peux éventuellement calculer la position de ton prochain point dessiné à l'aide de la direction entre tes deux corner.
Tu déclares une intervalle de distance entre tes points. Tu récupères la position du corner1, puis la direction jusqu'au corner2.
Tu créer donc une texture de rond au point 1, que tu orientes sa position vers le point 2.
Ensuite pour avoir la position suivante, tu fais un nouveau vecteur de position que tu déclares comme ceci :
Code : Tout sélectionner
Vector3 point2 = point1;
point2.x += interval;
Par contre pour calculer une direction entre deux positions, pour ma part (dans un cas qui n'a rien à voir mais qui utilise les mêmes calculs) je m'y suis pris de cette manière :
Code : Tout sélectionner
Transform newPoint = new GameObject().transform;
// ce que tu obtiens avec le code ci dessus :
newPoint.position = point1;
Vector point2 = newPoint.transform.position;
point2.x += interval;
// Direction du corner1 vers le corner2
// Orienter point1 dans la direction calculée
// et ne surtout pas oublier de détruire cet objet à la fin comme ceci quand tu as fini
DestroyImmediate (newPoint);
Douille ou l'ail que pote étaux ? Yes I like.
Re: [MY-AL]Draw Navmesh
attention, les Gizmos ne sont disponible que dans l'éditeur, donc très utile par exemple dans les phases de debug, mais pas vraiment en runtime lors de l’exécution de l'applicationAxel74 a écrit :Peut être avec la fonction OnDrawGizmos, il est possible de "dessiner" forme, texture, mesh ...
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
Re: [MY-AL]Draw Navmesh
Ah autant pour moi, je me sers que depuis peu cette fonction Dans ce cas en utilisant des instances d'UI ou d'un objet c'est réalisable je suppose. Je ne sais pas si il y a des méthodes moins gourmande en ressource mais voilà une idée !Max a écrit :attention, les Gizmos ne sont disponible que dans l'éditeur, donc très utile par exemple dans les phases de debug, mais pas vraiment en runtime lors de l’exécution de l'applicationAxel74 a écrit :Peut être avec la fonction OnDrawGizmos, il est possible de "dessiner" forme, texture, mesh ...
Douille ou l'ail que pote étaux ? Yes I like.