Giving agents different local avoidance behavior

Context: I have a large and small agents and i want the small agents to stay far away from the large agent while other large agents can get close. (Think large monsters like the Balrog from Lotr that don’t fear each other can walk side by side, but all the goblins i Moria avoid them keeping a large distance to them.)

However i cannot figure a way to do this since the RVO controller uses the agents radius, which complicates my initial plan of giving the large agents 2 controllers with different radius and then use the layers to choose which agent uses which radius for local avoidance.

What would the suggested way to go about this issue be?

Hi

That’s not easily solved with the RVO system alone. I would think that a force-based approach would work well in addition to the RVO. This would require you to modify the movement scripts, though.

1 Like