NavigationPolygon

Inherits: Resource < Reference < Object

A node that has methods to draw outlines or use indices of vertices to create navigation polygons.

Description

There are two ways to create polygons. Either by using the add_outline method, or using the add_polygon method.

Using add_outline:

var polygon = NavigationPolygon.new()
var outline = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
polygon.add_outline(outline)
polygon.make_polygons_from_outlines()
$NavigationPolygonInstance.navpoly = polygon

Using add_polygon and indices of the vertices array.

var polygon = NavigationPolygon.new()
var vertices = PoolVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)])
polygon.set_vertices(vertices)
var indices = PoolIntArray(0, 3, 1)
polygon.add_polygon(indices)
$NavigationPolygonInstance.navpoly = polygon

Method Descriptions

Appends a PoolVector2Array that contains the vertices of an outline to the internal array that contains all the outlines. You have to call make_polygons_from_outlines in order for this array to be converted to polygons that the engine will use.


Adds a PoolVector2Array that contains the vertices of an outline to the internal array that contains all the outlines at a fixed position. You have to call make_polygons_from_outlines in order for this array to be converted to polygons that the engine will use.


Adds a polygon using the indices of the vertices you get when calling get_vertices.


  • void clear_outlines ( )

Clears the array of the outlines, but it doesn’t clear the vertices and the polygons that were created by them.


  • void clear_polygons ( )

Clears the array of polygons, but it doesn’t clear the array of outlines and vertices.


Returns a PoolVector2Array containing the vertices of an outline that was created in the editor or by script.


  • int get_outline_count ( ) const

Returns the number of outlines that were created in the editor or by script.


Returns a PoolIntArray containing the indices of the vertices of a created polygon.


  • int get_polygon_count ( ) const

Returns the count of all polygons.


Returns a PoolVector2Array containing all the vertices being used to create the polygons.


  • void make_polygons_from_outlines ( )

Creates polygons from the outlines added in the editor or by script.


  • void remove_outline ( int idx )

Removes an outline created in the editor or by script. You have to call make_polygons_from_outlines for the polygons to update.


Changes an outline created in the editor or by script. You have to call make_polygons_from_outlines for the polygons to update.


Sets the vertices that can be then indexed to create polygons with the add_polygon method.

Doc ID missing

Disclaimer: This page has been automaticaly and directly extracted from the official Godot Docs website, the 1970-01-01 at 00:00:00. It’s the English Stable version because it’s what most Godot users should use. The Copyright owners are Juan Linietsky, Ariel Manzur and the Godot community. CC-BY 3.0. Thanks for your patience and generosity.