Avoidance with Influence maps

Hello everyone!

I’m creating the Influence map system for my game. With information from the map, I apply penalties to the nodes from the NavGraph in the cell region, but I’m not super happy with the results.

Instead of penalties for nodes, I thought about applying the penalty on unit avoidance, but I can’t come up with the proper solution for that. Creating and destroying the obstacles on the RVO map is not something I would like to do, because managing thousands of obstacles will kill the performance.

Is there a way to manipulate the vectors of the RVO agents based on my influence map? So I can make them run away from high penalty zone or don’t go into it?

Hi

It’s not possible to hook into the RVO calculations themselves. But you can give the RVO system a different desired velocity as input. I think that should be sufficient and pretty much equivalent.

Hi, @aron_granberg.
Sorry for the very late response. Do you have some examples of giving RVO a custom velocity as an input? Because I don’t have much experience with RVO

Hi

You will have to modify whatever points gets sent to the RVOController.SetTarget method (https://arongranberg.com/astar/docs/rvocontroller.html#SetTarget). I’m not sure what movement script you are using, but that movment script will have code that sets the RVOController target.