Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solo navsmesh generation fails for big terrain #149

Closed
yelouafi opened this issue Sep 23, 2023 · 5 comments
Closed

Solo navsmesh generation fails for big terrain #149

yelouafi opened this issue Sep 23, 2023 · 5 comments

Comments

@yelouafi
Copy link

yelouafi commented Sep 23, 2023

Trying to generate a solo navmesh with a 0.2 for the scene attached below; fails with the error Failed to build regions or Failed to create Detour navmesh data;

It succeeds though if I use 0.5 voxel size

scene.glb

@isaac-mason
Copy link
Owner

isaac-mason commented Sep 24, 2023

Thank you for reporting the issue and providing the model!

I believe I've reproduced this issue in Recast itself using RecastDemo. I'll need to investigate further, but we might need to:
a) Check if this is fixed in the latest Recast versions.
b) If not, consider upstreaming this issue.

RecastDemo also fails to generate a navmesh with cell size and cell height both set to 0.2 and a slope angle of 60. I'll need to confirm if this failure is for the same reason.

Interestingly, these variations also succeed:

  • Using a "Walkable Slope Angle" of 45 instead of 60 (45 is RecastDemo's default)
  • Using a cell size of 0.3 and a cell height of 0.2
image image

Here's the model as a obj, RecastDemo doesn't support gltf/glb - big-terrain.obj.zip

@isaac-mason
Copy link
Owner

isaac-mason commented Sep 24, 2023

Looking at the buildContext logs, this appears to be the root cause:

https://github.com/recastnavigation/recastnavigation/blob/cd898904b72a300011fbb24d578620bafa08ef2c/Recast/Source/RecastRegion.cpp#L1621

This looks like a limitation of the watershed partitioning method that recast-navigation-js uses for it's default solo nav mesh generator.

If you're interested, you can read more about the different partitioning options here: https://github.com/recastnavigation/recastnavigation/blob/cd898904b72a300011fbb24d578620bafa08ef2c/RecastDemo/Source/Sample_SoloMesh.cpp#L522

@isaac-mason
Copy link
Owner

The general advise I've read on recast's google discussions + github is to create tiled navmeshes for large maps.

That said, the tiled nav mesh generator also appears to have some bugs. Generation succeeds, but tiles aren't connected.

Let's at least leave this issue open until tiled nav mesh generation issues are fixed 🙂

image

@isaac-mason
Copy link
Owner

Fix for tiled nav mesh generation incoming 🙂

image

@isaac-mason
Copy link
Owner

v0.10.2 will be released shortly with the tiled nav mesh generator fix, and navmesh.isaacmason.com has been updated now.

Let's convert this issue to a discussion, I think others will benefit from this.

LMK if you have any questions!

Repository owner locked and limited conversation to collaborators Sep 24, 2023
@isaac-mason isaac-mason converted this issue into discussion #151 Sep 24, 2023

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants