-
-
Notifications
You must be signed in to change notification settings - Fork 20.2k
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
NavigationServer3D::query_path
does not find optimal path across multiple aligned navigation meshes.
#96516
Comments
That is a result of the path corridor that A* creates with the given polygon layout. A* travels through closest possible polygon edge points towards the target position. The path post processing options try their best but can not work miracles when the A* path corridior is already suboptimal. For comparison most other navengines use polygon centers or edge midpoints for A* travel which creates even less optimal corridors with very splintered polygon layouts. The way to really change this, apart from changing layout, would be with a different algorithm that spends performance on either searching far more neighboring polygons or does line of sight checks along the polygon corridors (e.g. what Detour agents use to hide the issue). There is no buildin option atm that does this, you would need to use a custom build to change that. |
Even more testing revealed that the synchronization error did not disappear due to changing the partition type, the error just only prints once. |
Tested versions
4.3-stable
System information
Windows 11
Issue description
It seems that
NavigationServer3D::query_path
has some issues optimizing/finding longer paths. All individual optimal path segments exist, even across mesh borders. However the full path takes a totally different route that is way longer. I have tried withsimplify_path
true
and false, andPATH_POSTPROCESSING_CORRIDORFUNNEL
andPATH_POSTPROCESSING_EDGECENTERED
.simplify_path=true
andPATH_POSTPROCESSING_CORRIDORFUNNEL
produces the best result from all options but it is still far from optimal.Steps to reproduce
Minimal reproduction project (MRP)
The text was updated successfully, but these errors were encountered: