Comment changer de navmesh en runtime ?

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
yarek
Messages : 1
Inscription : 07 Jan 2020 00:30

Comment changer de navmesh en runtime ?

Message par yarek » 08 Jan 2020 01:11

J'ai 2 navmesh sur ma scène
- 1 gros rectangle "- "navBig"
- 1 cercle A l'INTERIEUR de ce gros rectangle "navCircle"

Je veux pouvoir commuter entre ces 2 navmesh via le script :
ex: un joueur peut commencer dans le gors rectangle ou bien dans le petit cercle

J'ai essayé :

Code : Tout sélectionner

void Start() {
 navCircle = GameObject.Find("navCircle");
        navBig = GameObject.Find("navBig");
        navBig.SetActive(false);
        navCircle.SetActive(true);
}
Mais aucun effet: on ne commute pas entre navCircle et navBig: une idée ?

Avatar de l’utilisateur
Max
Newser
Newser
Messages : 7565
Inscription : 30 Juil 2011 13:57

Re: Comment changer de navmesh en runtime ?

Message par Max » 08 Jan 2020 09:13

Bonjour,

Nativement tu ne peux pas gérer les NavMesh de cette façon.
Si tu veux limiter/gérer la navigation sur certaines zones, il faut passer par les Area Mask.
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

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 5195
Inscription : 28 Avr 2014 11:57
Localisation : Toulouse

Re: Comment changer de navmesh en runtime ?

Message par boubouk50 » 08 Jan 2020 09:17

Je ne crois pas qu'activer ou désactiver un gameObject ait quelconque utilité.
Il faut plutôt affecter le NavMesh désiré à un NavMesh Agent par le NavMesh Agent Type:
https://forum.unity.com/threads/creatin ... es.514305/
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Répondre

Revenir vers « Scripting Javascript, C# et Boo »