New local avoidance : Agents not staying on navmesh, slow down time leads to overshoot

Hi,

I tried out the new local avoidance code in Release 3.5 and have some effects.

In the scene there is a Recast Navmesh Graph.

  1. I have eight agents with this components on it: Seeker, Rich AI, RVOController. All agents try to get to the same target which is on the top of a stair. Some agents climb up to the target, a few others are falling off of the navmesh without touching each other. How can I prevent the agents from not staying on the navmesh?

  2. Agents travelling to the target overshoot the target if “Slowdown time” on the RichAI component is > 0. Agents are oscillating around the target, never reaching it. If “Slowdown time” is set to 0 AND “Precise slowdown” is activated, the oscillation is gone.

Thus the second issue is under control in my scene only issue one is a problem for me. Don’t know how to force the agents to stay on the navmesh.

Any ideas?

Best regards,

Josef

The scene is built in a way so the agents have to make a u turn before they can climb up the stairs. It seems as if they are to fast to stay in “the curve” and are therefore thrown off the navmesh.

I played around with the “Max Speed” settings in both the RichAI and RVOController components and a reduction of this parameters seems to fix the problem.

Is it possible that the agents are getting to fast so they are thrown “out of the curve” / off the navmesh? In my opinion it would be better if there is an automatic check which ensures that agents stay on the navmesh.

Ok. It doesn’t work: a reduction of “max speed” ensures now that my agents don’t fall off the navmesh while climbing up the stairs but they fall off the navmesh while going down the stairs if the target changes from the top to the bottom.

This worked better with the old local avoidance code.

Here is a video which describes the problem:

youtu.be/ALOtic8rhEU

It seems as if it has nothing to do with local avoidance. It even doesn’t work with a normal CharacterController instead of a RVOController. Agents are falling off the Navmesh :-/

Hi

The main problem is that the rotation speed of your characters is very low for that map. Try to increase it. You could also try increasing the acceleration, which looks a bit low as well.

With the previous system there were also local avoidance obstacles which could be used to e.g make sure the characters stayed on the navmesh. Local avoidance obstacles are not supported with the new system yet, but they will be soon.

Hi Aron,

thx. Increasing the acceleration brings the agents through the curve now.

But … If the target for the agent jumps from the stairs some agents fall from the stair too.

It seems as if the pathfinding has problems if there is no valid path to the target cause the target is not on the navmesh while being in the air?

Hi

That they jump from the stairs will be solved in the future with local avoidance obstacles.

Ok. Thanks.