NavigationRegion2D
Experimental: This class may be changed or removed in future versions.
Hereda: Node2D < CanvasItem < Node < Object
Una región 2D transitable que los NavigationAgent2Ds pueden usar para la búsqueda de rutas.
Descripción
A traversable 2D region based on a NavigationPolygon that NavigationAgent2Ds can use for pathfinding.
Two regions can be connected to each other if they share a similar edge. You can set the minimum distance between two vertices required to connect two edges by using NavigationServer2D.map_set_edge_connection_margin().
Note: Overlapping two regions' navigation polygons is not enough for connecting two regions. They must share a similar edge.
The pathfinding cost of entering a region from another region can be controlled with the enter_cost value.
Note: This value is not added to the path cost when the start position is already inside this region.
The pathfinding cost of traveling distances inside this region can be controlled with the travel_cost multiplier.
Note: This node caches changes to its properties, so if you make changes to the underlying region RID in NavigationServer2D, they will not be reflected in this node's properties.
Tutoriales
Propiedades
|
||
|
||
|
||
|
||
|
Métodos
void |
bake_navigation_polygon(on_thread: bool = true) |
get_bounds() const |
|
get_navigation_layer_value(layer_number: int) const |
|
get_navigation_map() const |
|
get_region_rid() const |
|
get_rid() const |
|
is_baking() const |
|
void |
set_navigation_layer_value(layer_number: int, value: bool) |
void |
set_navigation_map(navigation_map: RID) |
Señales
bake_finished() 🔗
Emitida cuando se completa una operación de procesado de polígono de navegación.
navigation_polygon_changed() 🔗
Se emite cuando el polígono de navegación utilizado se reemplaza o se confirman los cambios en los elementos internos del polígono de navegación actual.
Descripciones de Propiedades
Determina si el NavigationRegion2D está habilitado o deshabilitado.
Cuando la búsqueda de rutas entra en la malla de navegación de esta región desde la malla de navegación de otra región, el valor de enter_cost se agrega a la distancia de la ruta para determinar la ruta más corta.
Un campo de bits que determina todas las capas de navegación a las que pertenece la región. Estas capas de navegación se pueden verificar al solicitar una ruta con NavigationServer2D.map_get_path().
NavigationPolygon navigation_polygon 🔗
void set_navigation_polygon(value: NavigationPolygon)
NavigationPolygon get_navigation_polygon()
El recurso NavigationPolygon a utilizar.
Cuando la búsqueda de rutas se mueve dentro de la malla de navegación de esta región, las distancias recorridas se multiplican por travel_cost para determinar la ruta más corta.
bool use_edge_connections = true 🔗
Si está habilitada, la región de navegación utilizará conexiones de borde para conectarse con otras regiones de navegación dentro de la proximidad del margen de conexión de borde del mapa de navegación.
Descripciones de Métodos
void bake_navigation_polygon(on_thread: bool = true) 🔗
Procesa el NavigationPolygon. Si on_thread se establece como true (predeterminado), el procesamiento se realiza en un hilo separado.
Devuelve el rectángulo alineado con los ejes para la malla de navegación transformada de la región.
bool get_navigation_layer_value(layer_number: int) const 🔗
Devuelve si la capa especificada de la máscara de bits navigation_layers está habilitada, dado un layer_number entre 1 y 32.
RID get_navigation_map() const 🔗
Devuelve el RID del mapa de navegación actual utilizado por esta región.
Obsoleto: Use get_rid() instead.
Devuelve el RID de esta región en el NavigationServer2D.
Devuelve el RID de esta región en el NavigationServer2D. Combinado con NavigationServer2D.map_get_closest_point_owner() se puede usar para identificar el NavigationRegion2D más cercano a un punto en el mapa de navegación fusionado.
Devuelve true cuando el NavigationPolygon se está procesando en un hilo en segundo plano.
void set_navigation_layer_value(layer_number: int, value: bool) 🔗
Based on value, enables or disables the specified layer in the navigation_layers bitmask, given a layer_number between 1 and 32.
void set_navigation_map(navigation_map: RID) 🔗
Establece el RID del mapa de navegación que debe usar esta región. De forma predeterminada, la región se unirá automáticamente al mapa de navegación predeterminado de World2D, por lo que esta función solo es necesaria para sobrescribir el mapa predeterminado.