RVO stuck in place


We have some problems with RVOController.
Im attaching the video to show You where is the problem.

Also im attaching some settings from RVO.
(RVOController for selected character + RVO Simulator).

I will expect that the woman will try do avoid the group of NPCs, but for some reason it’s not working.

Video: https://youtu.be/4oVnDs7LHbs.

RVO Selected object:

RVO Simulator:
(changing symmetry breaking bias not helping)

RVOController for nearby npc:

Agent time horizon and obstacle time modification not helping…

seems like problem just grows, NPCs are not able to avoid each other for some reason :pensive:

Some more screens:

That image is interesting, NPCs rotation seems good, however they cannot move… idk if RVO is making his velocity as 0 maybe ?

Debug settings:

Idk why but i can not even see desired velocity and chosen velocity for that NPC.
And ideas where to look for a problem ? @aron_granberg

Of course disabling RVOController fixes the problem, so that have to be somehow connected to RVOControler

@aron_granberg any chance for any advice ?
We are encounter such a issues everywhere, if one RVOController stays in place, rest of controllers are not able to avoid it.

This, unfortunately, makes RVO a completely unusable system, because even if during the dialogue we expect the controller to stand still, all other controllers passing by will simply stop without seeing an opportunity to bypass.
I understand that RVOController should only be used to change velocity locally, but then is there another system that would solve such a problem using Recast Graph ?


Local avoidance is very local. It will move towards the direction that seems best at the moment, without any global path planning. However, if agents are locked, this significantly impacts local avoidance quality, and they can indeed get stuck like this. For agents that are stationary for a longer time, you may want to consider making them into proper obstacles in the pathfinding graph.

Yeah, what i did is that if agent is idling / talking (just staying in place) im enabling navmesh cut for that gameobject and disabling rvo. And also all agents in player’s frustum update their path often, so that solves problem for NPCs who are idling but with root motion animation which moves agents anyways.
Once agent will start to walk again, im disabling navmesh cut and again using rvo controller for that object.

Kinda mixture of solutions but effects are good :slight_smile:

1 Like