Navigation2D

Inherits: Node2D < CanvasItem < Node < Object

2D导航和寻路节点。

描述

Navigation2D在2D区域内提供导航和寻路,指定为NavigationPolygon资源的集合。默认情况下,这些资源自动从子NavigationPolygonInstance节点中收集,但其也可以通过navpoly_add即时添加。

注意: 当前的导航系统有许多已知的问题,并不总是能像预期的那样返回最佳的路径。这些问题将在Godot 4.0中得到解决。

教程

方法

Vector2

get_closest_point ( Vector2 to_point )

Object

get_closest_point_owner ( Vector2 to_point )

PoolVector2Array

get_simple_path ( Vector2 start, Vector2 end, bool optimize=true )

int

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)。


返回两个给定点之间的路径。点是在局部坐标空间中。如果optimizetrue(默认值),路径将尽可能地合并路径段,从而平滑。

注意: 这个方法有已知的问题,经常会返回非最佳的路径。这些问题将在Godot 4.0中得到解决。


添加 NavigationPolygon。返回用于 navpoly_removenavpoly_set_transform 的 ID。如果给定,则将 Transform2D 应用于多边形。可选的 owner 用作 get_closest_point_owner 的返回值。


  • void navpoly_remove ( int id )

移除具有指定ID的NavigationPolygon


设置应用于具有指定ID的NavigationPolygon的变换。