[MY-AL] Faire une recherche d'un GameObject par rapport à son tag et à sa distance.

Pour les scripts écrits en C#
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
LIGHTER91
Messages : 17
Inscription : 28 Oct 2018 17:16

[MY-AL] Faire une recherche d'un GameObject par rapport à son tag et à sa distance.

Message par LIGHTER91 » 22 Déc 2018 12:32

Bonjour je voudrais compléter un de mes script, je m'explique quand mon perso attaque je voudrais qu'il attaque automatiquement vers la position du GameObject avec le tag Enemy ayant la distance par rapport au perso le plus prés.
Je compte utiliser le Nav Agent et définir la distance en écrivant "Distance = Vector3.Distance(Enemy.position, transform.position); " et utiliser donc "agent.destination = Enemy.position;"
Dans la void uptate mon projet serai de définir "Enemy" étant le transform ou le gameobject ayant le tag Enemy avec la distance la plus petite du perso.
Si qu'elle peut éclairer ma lanterne j'en serai réjouit.
Merci à l'avance pour vos réponse.
Joyeux Noël.
Au revoir.

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

Re: [MY-AL] Faire une recherche d'un GameObject par rapport à son tag et à sa distance.

Message par Max » 22 Déc 2018 18:31

Bonjour,

une fois n'est pas coutume, ton explication est quelque peu confuse.
Si tu cherches à connaitre la distance séparant deux GO, alors tu peux passer par des fonctions comme celle que tu cites (Vector3.Distance, et consort). Après je ne vois pas trop le rapport avec les NavMeshAgent (si ce n'est un paramètre lié à leur Stopping Distance ?)
Après, si ton soucis est plutôt de connaitre, parmi un certains nombre d''eni proche de ton player, celui qui est le plus près, alors tu peux par exemple passer par une fonction de Raycast, comme OverlapSphere, qui dans un rayon donné autour de ton player te récupérera tous les eni présent, et la dernière opération sera alors de déterminer (dans le tableau Collider[] fournis par la fonction), celui qui se trouve le plus près.
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

Répondre

Revenir vers « (C#) CSharp »