RVO navmesh dynamic obstacle


I’m looking for an optimized way to create dynamic obstacles using RVO. It’s not a moving obstacle, but it will be turning on for 3 seconds and then off again, for example. I believe recast graphs would solve this but updating recast graphs at runtime seems extremely slow for me. I could also use grid graphs but I’m looking for a more open-area path result (with grid graphs I get rigid/steppy paths even with smooth modifier and I also get a lot of back-and-forth pathfinding with many enemies - unlike navmesh). So I’ve been using navmesh but then creating an obstacle removes the entire triangle instead of just the one area within the triangle I want to avoid.

  • Can I create RVO obstacles that only block part of navmesh triangles?
  • Is there a way I can treat a grid graph like an open-area navmesh so that I can obstruct certain areas easier? (I tried tiles in navmesh but created the same grid graph problems)




I think you should be looking at navmesh cutting. It is a way to update recast/navmesh graphs very efficiently, but it is more limited than full graph updates (it can, as the name implies only cut away the existing navmesh, not add any new surfaces). See https://arongranberg.com/astar/docs/navmeshcutting.php