Navigation2D
Inherits: Node2D < CanvasItem < Node < Object
2D导航和寻路节点。
描述
Navigation2D在2D区域内提供导航和寻路,指定为NavigationPolygon资源的集合。默认情况下,这些资源自动从子NavigationPolygonInstance节点中收集,但其也可以通过navpoly_add即时添加。
注意: 当前的导航系统有许多已知的问题,并不总是能像预期的那样返回最佳的路径。这些问题将在Godot 4.0中得到解决。
教程
方法
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 ) |
方法说明
返回最接近给定点的导航点。点位于局部坐标空间。
返回包含最接近给定点的导航点的 NavigationPolygon 的所有者。这通常是一个 NavigationPolygonInstance。对于通过 navpoly_add 添加的多边形,返回给定的所有者(如果省略 owner
参数,则返回 null
)。
- PoolVector2Array get_simple_path ( Vector2 start, Vector2 end, bool optimize=true )
返回两个给定点之间的路径。点是在局部坐标空间中。如果optimize
为true
(默认值),路径将尽可能地合并路径段,从而平滑。
注意: 这个方法有已知的问题,经常会返回非最佳的路径。这些问题将在Godot 4.0中得到解决。
- int navpoly_add ( NavigationPolygon mesh, Transform2D xform, Object owner=null )
添加 NavigationPolygon。返回用于 navpoly_remove 或 navpoly_set_transform 的 ID。如果给定,则将 Transform2D 应用于多边形。可选的 owner
用作 get_closest_point_owner 的返回值。
- void navpoly_remove ( int id )
移除具有指定ID的NavigationPolygon。
- void navpoly_set_transform ( int id, Transform2D xform )
设置应用于具有指定ID的NavigationPolygon的变换。