- Home /
NavMeshAgent CalculatePath not working as expected
I have a circle of nav mesh agents with a priority of 1 with one agent in the center with an avoidance priority of 99.
I have then attempted to calculate a path outside of the circle the trapped agent is inside.
For some reason the status of the returned path is "PathComplete" when this quite obviously is not possible.
Is there any way to make the CalcuatePath method actually respect obstructions?
Answer by Richie_V · Dec 21, 2018 at 08:50 PM
I know this is super old, but for anyone who needs an answer, the fact is that Unity's NavMeshAgent doesn't actually calculate it's path with obstacle avoidance in mind, it just takes into account the NavMesh data and then tries to follow the path as best as it can avoiding near obstacles but without modifying the path, so when you use CalcuatePath, it only uses the NavMesh data. You could use the NavMeshObstacle to carve a hole in the NavMesh in real time so that the path takes the obstacle into account, but that's really resource intensive and should be used with caution.
Right, to be more clear: The path that it calculates only involves "static" obstacles that has been baked into the mesh data. The collision avoidance is just a slight "dynamical" adjustment to the movement direction along the path to bypass dynamically changing / placed obstacles.
Since Unity 5.6 we now also have the additional Nav$$anonymous$$esh building components which have to be loaded from the store which provide runtime navemesh baking / rebaking. You may want to have a look at the training videos about those "new" features
Your answer
Follow this Question
Related Questions
How to redirect a navmesh agent's path based on area costs? 0 Answers
Randomize NavMeshAgents path finding with same destination 1 Answer
Is it possible to store NavMeshAgents paths and assign them to other NavMeshAgents later? 1 Answer
Trouble with Navmesh Agent and Navmesh Obstacle 0 Answers
NavMeshAgent and NavMeshObstacle together, unit jumping a small distance on toggle 2 Answers