-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
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
NavigationServer errors #56786
Comments
I can confirm I've had a lot of errors of type:
from the very beginning of new navigation implementation. These errors used to happen even if In the past I've been analyzing this issue a bit and the only observation was that it happens on complex geometries only. |
Also these errors appear if NavigationAgent.radius != NavigationMesh.agent.radius |
Getting a lot of these errors as well, attached an example project. Just run and you'll get the errors. if you delete some of the meshes and rebake you won't get them anymore. E 0:00:02.699 sync: Attempted to merge a navigation mesh triangle edge with another already-merged edge. This happens when the Navigation's Also I've found that having npcs do get_simple_path calls or use NavigationAgent.get_next_location() on these navmeshes will randomly spam this error: |
It's related to the pairing algorithm used to find the near vertices and combine the triangles godot/modules/navigation/nav_map.cpp Line 596 in 585231a
If it happens with complex geometries, I think that algorithm should be changed with something else. |
I've narrowed down the issue and found 2 problems:
Due to the above, we've been losing 1 triangle per each error reported by Godot. It was further leading to "holes" in geometry - invisible in debug navmesh, but leading to problems with agents. Regarding problem (1): Regarding problem (2): Since in both cases the triangles which are getting crippled (degraded to line) are very narrow ones, I think it's safe to bypass them in this algorithm just by skipping them. It should have no real impact on anything (maybe with exception of the case (1) where we potentially may lose very narrow triangles at the edges of navmesh). |
- improved `detail/sample_max_error` default value - improved floating point precision handling in cell key calculations - improved `merge error` error message - exposed `cell_height` of `nav_map` to the `Navigation` - fixed cell key `y` calculation
Fixed by #56879. |
- improved `detail/sample_max_error` default value - improved floating point precision handling in cell key calculations - improved `merge error` error message - exposed `cell_height` of `nav_map` to the `Navigation` - fixed cell key `y` calculation
Godot version
Godot 3.5 beta 1
System information
Windows 10 Intel i7-7700K 4.20 GHz RAM 64,0 GB
Issue description
Run NavigationServer: print error mesage
imported scene with or generate colision: ConcavePolygonShape or ConvexPolygonShape
Steps to reproduce
Minimal reproduction project
NavigationAgent.zip
The text was updated successfully, but these errors were encountered: