RVOObstacle KeepIn Mode not working properly

Hi,

Recently I’ve found the RVOController can move outside the keep-in obstacle easily when the controller is going out from the corner. Like the pic below.

I’m using 3.8.2, please help:(

Hi

Try the latest beta. I think it should be a bit more stable in that scenario.
Note however that the beta has some major changes to the RVO system, so it will likely not work out of the box with your current scene (I haven’t added any compatibility code yet).

Thank you, aron!

I’ve just tried the beta version, the RVO system became very simple and easy to use.

However, it doesn’t solve the obstacle problem.

And what worse is my RVO agent becomes a little jitter in the movement:(not very obviously but really annoying. I already checked off the Double Buffering option). And my character is moved by call SetTarget function in every frame which set the goal pos to the mouse position, and used var movementDelta = RVO.CalculateMovementDelta(Time.deltaTime); to calculate the desired pos.I noticed there are not any interpolate function in the rvo simulator anymore, maybe it could be the problem?

The RVO system is really import for my project, I would be very appreciate if you can give me some advice, Thanks in advance!

Hi

Ok, that’s odd, it was working fine in my test scenes. I do know however that it is not a very stable system, if it does go outside the obstacle (at the corner) just a bit it would not be pushed back in again (since that is definitely a valid position outside the obstacle). You can create 4 obstacles around the room instead (preferably with some overlap around the corners), that would probably work around the instability.

I’m not sure why it would be jittering. If you would have only used RVO.velocity then I could understand that, but I designed CalculateMovementDelta so that would not be the same if the character is ordered to move to a fixed point. Could you post a video or maybe share an example scene where this happens?

Hi, Thanks for the quick reply!

It turned out that the jittering is caused by my script which call SetTarget in Update() and call CalculateMovementDelta() in the LateUpdate() function.

Many thanks for your advice, keep the great work!!

1 Like

Just a quick question to this - where can we find the betas? I’d be very interested in trying the updated RVO system :slight_smile:
EDIT: Found it in the most obvious of places, sorry :stuck_out_tongue:

@Lasseastrup
You can find them here: http://arongranberg.com/astar/download