How do I avoid idle characters using navmesh?

Hello guys.

I am trying to find a good solution that a problem that haunts me a long time. Smooth paths that don’t collide with idle units.

Take a look on picture 1. I am using Grid graph. The yellow line is default path, the blue line is smoothed path (with funnel modifier), the red objects are idle characters with penalties in their nodes. Crash!!

For Dark Frontier (picture 2) my solution was use simple smooth modifier with very tunned strength. With many hacks it works nice for almost 80% of cases.

Is there any solution pattern to this when using navymesh? My options for now are:

a) Local avoidance. I didn’t try the A* code, but my own implementations create some undesired behaviours, like the idle character start to move (separation force).

b) Uses Navmesh Cutting. I think that could be a little hard for a mobile game where characters move and stop a lot. Not?

Any light for options with naymesh or grid will be welcome. Because I am work alone, discuss this type of stuff with myself is not very productive :stuck_out_tongue:


I found this statement put the end my plan b)
“This can be used to create obstacles, however they cannot add any new geometry, only removing existing.”

Ok, after some research I discover that is a global problem. Starcraft 2 for example appear to use navymesh with steerning for agents, but I didn’t get how they get around static objects. Others references I found that local avoidance is much more dificult for static obstacles. That explain why my simple solutions works so bad.

Question closed…