Beta, Burst, ORCA - possible bug with elevation - solution suggestion

Hi :slight_smile:

I’m using beta with burst enabled. I have created my variation of LightweightRVO due to my personal needs.

I have noticed a strange problem when my agent needed to go up the stairs. He got stuck under the the stairs and didn’t want to move (screen 1).

For me, the solution (screen 2) was to add
agentData.targetPoint[agentIndex].y - agentData.position[agentIndex].y as second parameter in movementPlane.ToWorld functions inside Pathfinding.RVO.Sampled.JobRVO.ExecuteORCA.

  1. Is that a bug or I missing something?
  2. The code is in Libary\PackageCache and it’s getting overwritten every time I restart Unity. Do you have any proposition how to apply my changes without too much work? :wink:

Thanks!

Hi

RVO generally only handles 2D. So you will need to compute the y component of the velocity yourself. The built-in movement scripts override the y component of the velocity that the RVOController returns.

Hi @aron_granberg.
Can you provide me more information in which script this elevation param is changed?
I’m referring to “RVO” scene (Example 11) where everything is working correctly:

That scene uses the RVOExampleMover script I believe. The RVOExampleMover uses a Physics.Raycast every frame to find the position of the ground and sets the y coordinate of the agent to that.

Thank you, I will check that :slight_smile: