-
-
Notifications
You must be signed in to change notification settings - Fork 21k
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
Navigation get_simple_path doesn't optimize straight lines in 3D. #19011
Comments
A habit that I have picked up from other engines is to have a threshold for each waypoint. If they are within a specific distance from a point go to the next one. This avoids the circle dance that sometimes happens, and adds some variation so it does not look exactly the same every run. |
This may have been resolved by #34776 in the |
I do think that my test project (#48361) presents an interesting case that exemplifies how pathfinding with Navigation2D get_simple_path() is broken. Please have a look at it if you're interested in understanding the bug. I would say this is high priority given getting shortest paths easily is an expected basic process in game engines. Sorry if this comment isn't appropriate for here; I'm new! |
The current navigation system is known to be broken in There is some chance that the NavigationServer is backported to |
That's good to know. How can I help update the 3.x documentation to warn users so they don't waste their time? |
Done here: #48367 |
This is the same issue for 3D paths as #60277 for 2D. |
Godot version:
3.0.2
OS
Ubuntu Linux 18.08
I've been using the Godot Navigation system and noticed that my character sometimes does a little dance around nav target when they are very close to each other. I've made the nav targets visible by spawning a cube in the locations and I noticed that the ones in a straight line don't get optimized out. Is this by design?
I use this to generate the nav path.
var path = navigation.get_simple_path(starting_point, end_point)
The text was updated successfully, but these errors were encountered: