RichAI using the RVOController

I am using a very basic AI that sets a target transform and chases it. It is Behavior Designer’s Seek example using RichAI except I’ve added the RVOController. It starts out great, the agent will run right at the player and stop once he gets there. The problem I am having occurs when I move the player. The agent will just circle the him about with meter or two radius. It’s like the agent is unable to rotate and face the player. If I disable the RVO Controller, the agent immediately turns to face the player and works as expected. I have tried playing with the rotation speed values on both the RVO Controller and RichAI but nothing seems to work. Am I doing something wrong?


Try increasing the desired frame rate on the RVOSimulator and possibly disabling Double Buffering if you have that enabled. Having a low frame rate can cause it to be less responsive.

Thanks for the quick reply. That didn’t seem to help. He is still just slowly orbiting the player, never facing him. Once I uncheck the rvo controller script he immediately faces the player and runs towards him.

Do you have any other suggestions?

Does the rvocontroller perhaps have rotation enabled? That should probably be disabled since the rich ai will handle rotation. I should add a custom editor for it really…

Rotation is not enabled. Also, I am confused about some of the properties when using both the RVOController and Rich AIAgent. There is a max speed and a rotation speed in both. Which ones are used in this scenario. I apologize if this is detailed somewhere. I could not find an in depth example on how to use these together. If it does not exist would it be possible for you to provide one? If it does, just point me in the right direction. Thanks!

I was having this same problem this evening. I’m not sure if it was just that I had things set up wrong (i’m just learning how everything works at the moment), but in my case the issue was in RichAI adding its default gravity value to velocity every frame. RVOController’s desiredVelocity was therefore pointing further and further into the ground every frame, making my character go in circles and move seemingly randomly. Setting Gravity to zero in the RichAI component fixed everything.