RVO avoidance in vehicle BP

I’m just looking at this. My approach is to convert the angle/speed a velocity vector (which is simple enough [theta & speed into 2d velocity vector]), go through the process of changing the velocity to avoid collision and then converting it back into the angle of steering.

The converting back [vector to theta,speed] however is not a simple equation and you need to use numerical methods to do this. I’ve found that the speed converges really quickly (~1 iteration), but no so the angle (~5 iterations). I’ve also found that I need to use double point precision. So this is not cheap. The partial derivatives for angle are quite long as well.

I’m still trying to work out a good system that allows it to respond to a pure sideways movement (suggested by rvo)
which of course is impossible with a car.

My task is for fish, so I’m working on 3d obstacles (which is an interesting task in itself).

I hope this helps and gives you some ideas. I’m just giving pointers so don’t expect anything on github.

My fish video…fish demo