NavigationRegion3D Merging Showing Unexpected Behavior
Asked Answered
E

2

0

I am currently working on getting a 3D tile-system running with predefined navigation meshes. To this end, I am creating my tiles all of the same size as follows in block bench:

I am directly importing them and then I get the following result in godot:

which is basically what I expect. Now I read in the documentation that upon scene creation navigation meshes are fused automatically by some mechanism that detects aligned edges. In my case I expect this to be super simple, since due to the tile system everything is really well aligned.

If I set up a more complicated scene with several tiles as follows:

I get the following edge fusing when using the navigation debug mode:

where the red lines are lines I would expect, but I am not getting. Is there some rationale I am not getting? I have already tried reversing some normals, chancing some triangulation schemes, etc... In even more complicated scenes I get the following error:

I have even tried to read the godot code the error mentions but to be honest the code there is a function spanning hundreds of lines without making any sense... So I am kinda lost right now. What am I not getting? 🙁

Estrade answered 16/11, 2023 at 20:22 Comment(0)
E
0

I have not written a single line of code as of yet that involves NavigationRegion3D or anything else, since from reading tutorials I understood that navigation mesh baking is something that automates the generation of navigation meshes from other existing geometry. However, I have been creating my own navigation meshes and just want to merge them.

Looking at my pictures again and at the godot source I think what happens is that one a vertice has been used to automatically draw an edge connection, it cannot be used another time. Which in my case is problematic, since up to 4 navigation regions touch at the same vertex.

EDIT: I found out that rotating the imported assets in fact changes the edge connections. So, dunno. I guess I am going to file an issue on github.

Estrade answered 17/11, 2023 at 7:16 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.