• Navmesh et A*Pathfinding

    De l’intelligence artificielle pour trouver son chemin

  • Notre controler simple au clic droit n’irait pas très bien sans un peu d’intelligence artificielle.

    Dans cet exemple, on lui dit d’aller du point A au point B, il le fait.... mais ce n’est pas très efficace !

    Navigation point and click sans A*Pathfinding.

    Je place des obstacles statiques et je demande à UNITY de me calculer le navmesh.
    C’est une couche supplémentaire, invisible en jeu, qui va indiquer les zones "walkable".
    ça se dit "marchable" en français ?

    On va avoir besoin de cette zone afin d’appliquer un algorithme A* pathfinding qui sera chargé de calculer le chemin le plus court entre la position actuelle de l’avatar et l’endroit ou vous voulez l’envoyer.

    L’algorithme A* est un algorithme de recherche de chemin dans un graphe entre un nœud initial et un nœud final. Il utilise une évaluation heuristique sur chaque nœud pour estimer le meilleur chemin y passant, et visite ensuite les nœuds par ordre de cette évaluation heuristique. C’est un algorithme simple, ne nécessitant pas de prétraitement, et ne consommant que peu de mémoire.

    En allant sur wikipedia (https://fr.wikipedia.org/wiki/Algorithme_A*) pour avoir l’histoire de cet algorithme, j’ai trouvé cette image.

    Un labyrinthe simple, où l’algorithme A* ne sera pas très efficace... disent-ils en légende.
    Ni une ni deux, je vous ai concoté notre petite sceynette avec ce labyrinthe. Et bien moi je trouve que mon avatar se débrouille vraiment très bien !

    Qu’en pensez vous ?

    https://f-et-t.com/squelettes/WebGL_ApathFinding/