RichAI + RVOController doesn't work, even only 3 Agents

  • A* version: [5.1.4]
  • Unity version: [2022.3.29]

I use RichAI for moving monsters (agents), and I added RVOController on each one to avoid they overlap together.
What I expected was : when reach player, the monsters will avoid each other and surround player character.
The problem is , even if there are only monster agents in the scene, and if 2 of them has found character and started attacking, the rest 1 will be blocked and still running along the same route, but cannot move (still in moving state).

In addition , the ROVController component is attached before runtime.

How can I fix this? there is a RVO Simulator in the scene, and I tried adjust radius already, nothing worked.
@aron_granberg

issue video

Hi

How are you making the agents stop when they attack the agent?

I capsulate RichAI’s .canMove and SetPath , and set them with false and null.

protected override void StopMoving()
{
monsterPathFinding.canMove = false;
monsterPathFinding.SetPath(null);
}

Hi

I would recommend that you instead set rvoController.locked = true. This will inform the local avoidance system that the agent is still there, but that it shouldn’t move.

Nice ! it worked Aron. It could be one of the best Christmas gifts for me this year. Although, we don’t celebrate it here.

1 Like