NavMeshAgent Radius...

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
Edrahil511
Messages : 19
Inscription : 13 Déc 2020 16:54

NavMeshAgent Radius...

Message par Edrahil511 » 24 Mars 2021 16:00

Bonjour,

Je n'ai pas réussi à comprendre à quoi correspondait le paramètre "Radius" dans le component NavMeshAgent.

Quand je regarde la doc unity je comprend qu'il s'agit du rayon de notre navMeshAgent mais celui ci n'est il pas déjà définit par le type d'agent choisi et configuré dans l'onglet "Agents" de la fenêtre navigation ?

Je fait pas le lien entre les deux. Si je configure un agent "Humanoid" de rayon 0.5 et que je créé un GameObject avec un navmeshAgent de type humanoid mais dans le component je met un rayon de 1 au final il a quel rayon mon GameObject ?

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

Re: NavMeshAgent Radius...

Message par Max » 24 Mars 2021 17:11

Salut,

Nativement, le radius au niveau du NavMeshAgent ne sert pas vraiment niveau navigation sur le NavMesh. Tu peux backer avec un radius de 0.5, et un agent avec un radius de 3 passera sans problème (je sais c'est con). Par contre il sert surtout entre agents.
Mais il est malgré tout possible d'avoir plusieurs types d'agent (Humanoid, Golem, ou ce que tu veux), avec chacun leurs caractéristiques (taille, vitesse, etc..). Et faire en sorte par exemple que certains types d'agents ne puissent pas passer à certains endroit, trop étroits.
Mais pour cela il faut passer par un addon et les NavMeshSurfaces. Voir la doc sur ce point.
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

Edrahil511
Messages : 19
Inscription : 13 Déc 2020 16:54

Re: NavMeshAgent Radius...

Message par Edrahil511 » 24 Mars 2021 17:32

Ok merci, j'ai pas encore lu toute la doc sur le navmesh (notamment les surfaces qui avait l'air d'être plus complexe). Donc pour le moment je m'occupe surtout du radius definit dans le setting de mes agents (humanoid, golem etc....) :super:

Avatar de l’utilisateur
jmhoubre
Messages : 851
Inscription : 05 Oct 2019 22:05

Re: NavMeshAgent Radius...

Message par jmhoubre » 24 Mars 2021 19:41

C'est exactement cela, comme c'est écrit dans la doc :
The avoidance radius for the agent.
This is the agent's "personal space" within which obstacles and other agents should not pass.
Si tu cuis ton Navmesh avec un agent radius de 1 par exemple, la zone non walkable comprendra les obstacles, entourés d'une zone d'une unité.
Voici par exemple un navmesh (un plane et 2 cubes) avec le radius par défaut de 0,5 :
Image
Le même avec un radius de 3 :
Image

On remarque que le dessus des cubes (qui font 2 et 3 de large) n'est plus wallkable.

Le Radius du NavMeshAgent n'est pas de même nature que le Radius du NavMesh. Pour le NavMeshAgent, il s'agit (c'est le nom du header dans l'inspecteur) de l'Obstacle Avoidance, c'est à dire le rayon de la zone autour de l'agent qui est interdite aux autres agents.

Et quelque soit le radius du NavMeshAgent dans Obstacle Avoidance, il passera entre les deux cubes.

Répondre

Revenir vers « Unity le logiciel »