I am tring to integrate the RVO part of the project into my game. The game is an ARPG kind game, I want the monsters could avoid each other when moving.
I found the RVOAgent will get stuck in the situation which showed in the picture. The moving agent wants to go to the target position, the locked agent is in the way. There are wall obstalecs beside the locked agent. Sometimes the moving agent will go across the locked agent from left side, but sometimes it will go to the right side, which get itself stucked (I am using CharacterController to avoid wall pentration).
<img src="/uploads/default/original/1X/305e6917e37b01f0c11b9ae50eb48c35908b084d.jpg" width="365" height="467">
I was thinking the wall force of the RVOController.cs (line 257-277) will solve the problem, but I digged into the code, find the rvoAgent.NeighbourObstacles is always null which leads to no wall force on agent.
So I got stuck and do not know how to solve the problem. The locked agent needs to be locked since I do not want it to be pushed away when it is not moving (maybe it is casting skill or doing other things). I am wondering, whether the stucked situation is a normal result of RVO algorithm? If it is, is there any way to solve this problem?