On this page
Navigation2D
Inherits: Node2D < CanvasItem < Node < Object
2D navigation and pathfinding node.
Description
Navigation2D provides navigation and pathfinding within a 2D area, specified as a collection of NavigationPolygon resources. By default, these are automatically collected from child NavigationPolygonInstance nodes, but they can also be added on the fly with navpoly_add.
Note: The current navigation system has many known issues and will not always return optimal paths as expected. These issues will be fixed in Godot 4.0.
Tutorials
Methods
get_closest_point ( Vector2 to_point ) |
|
get_closest_point_owner ( Vector2 to_point ) |
|
get_simple_path ( Vector2 start, Vector2 end, bool optimize=true ) |
|
navpoly_add ( NavigationPolygon mesh, Transform2D xform, Object owner=null ) |
|
void |
navpoly_remove ( int id ) |
void |
navpoly_set_transform ( int id, Transform2D xform ) |
Method Descriptions
Vector2 get_closest_point ( Vector2 to_point )
Returns the navigation point closest to the point given. Points are in local coordinate space.
Object get_closest_point_owner ( Vector2 to_point )
Returns the owner of the NavigationPolygon which contains the navigation point closest to the point given. This is usually a NavigationPolygonInstance. For polygons added via navpoly_add, returns the owner that was given (or null if the owner parameter was omitted).
PoolVector2Array get_simple_path ( Vector2 start, Vector2 end, bool optimize=true )
Returns the path between two given points. Points are in local coordinate space. If optimize is true (the default), the path is smoothed by merging path segments where possible.
Note: This method has known issues and will often return non-optimal paths. These issues will be fixed in Godot 4.0.
int navpoly_add ( NavigationPolygon mesh, Transform2D xform, Object owner=null )
Adds a NavigationPolygon. Returns an ID for use with navpoly_remove or navpoly_set_transform. If given, a Transform2D is applied to the polygon. The optional owner is used as return value for get_closest_point_owner.
void navpoly_remove ( int id )
Removes the NavigationPolygon with the given ID.
void navpoly_set_transform ( int id, Transform2D xform )
Sets the transform applied to the NavigationPolygon with the given ID.
© 2014–2022 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.4/classes/class_navigation2d.html