Polygon2D¶
Inherits: Node2D < CanvasItem < Node < Object
A 2D polygon.
Description¶
A Polygon2D is defined by a set of points. Each point is connected to the next, with the final point being connected to the first, resulting in a closed polygon. Polygon2Ds can be filled with color (solid or gradient) or filled with a given texture.
Note: By default, Redot can only draw up to 4,096 polygon points at a time. To increase this limit, open the Project Settings and increase ProjectSettings.rendering/limits/buffers/canvas_polygon_buffer_size_kb and ProjectSettings.rendering/limits/buffers/canvas_polygon_index_buffer_size_kb.
Properties¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Methods¶
void |
add_bone ( NodePath path, PoolRealArray weights ) |
void |
clear_bones ( ) |
void |
erase_bone ( int index ) |
get_bone_count ( ) const |
|
get_bone_path ( int index ) const |
|
get_bone_weights ( int index ) const |
|
void |
set_bone_path ( int index, NodePath path ) |
void |
set_bone_weights ( int index, PoolRealArray weights ) |
Property Descriptions¶
bool antialiased = false
If true
, attempts to perform antialiasing for polygon edges by drawing a thin OpenGL smooth line on the edges.
Note: Due to how it works, built-in antialiasing will not look correct for translucent polygons and may not work on certain platforms. As a workaround, install the Antialiased Line2D add-on then create an AntialiasedPolygon2D node. That node relies on a texture with custom mipmaps to perform antialiasing.
Array bones = [ ]
There is currently no description for this property. Please help us by contributing one!
Color color = Color( 1, 1, 1, 1 )
The polygon's fill color. If texture
is defined, it will be multiplied by this color. It will also be the default color for vertices not set in vertex_colors
.
int internal_vertex_count = 0
There is currently no description for this property. Please help us by contributing one!
float invert_border = 100.0
Added padding applied to the bounding box when using invert
. Setting this value too small may result in a "Bad Polygon" error.
bool invert_enable = false
If true
, polygon will be inverted, containing the area outside the defined points and extending to the invert_border
.
Vector2 offset = Vector2( 0, 0 )
The offset applied to each vertex.
PoolVector2Array polygon = PoolVector2Array( )
void set_polygon ( PoolVector2Array value )
PoolVector2Array get_polygon ( )
The polygon's list of vertices. The final point will be connected to the first.
Note: This returns a copy of the PoolVector2Array rather than a reference.
Array polygons = [ ]
The list of polygons, in case more than one is being represented. Every individual polygon is stored as a PoolIntArray where each int is an index to a point in polygon. If empty, this property will be ignored, and the resulting single polygon will be composed of all points in polygon, using the order they are stored in.
NodePath skeleton = NodePath("")
There is currently no description for this property. Please help us by contributing one!
Texture texture
The polygon's fill texture. Use uv
to set texture coordinates.
Vector2 texture_offset = Vector2( 0, 0 )
Amount to offset the polygon's texture
. If (0, 0)
the texture's origin (its top-left corner) will be placed at the polygon's position
.
float texture_rotation
The texture's rotation in radians.
float texture_rotation_degrees = 0.0
The texture's rotation in degrees.
Vector2 texture_scale = Vector2( 1, 1 )
Amount to multiply the uv
coordinates when using a texture
. Larger values make the texture smaller, and vice versa.
PoolVector2Array uv = PoolVector2Array( )
void set_uv ( PoolVector2Array value )
PoolVector2Array get_uv ( )
Texture coordinates for each vertex of the polygon. There should be one uv
per polygon vertex. If there are fewer, undefined vertices will use (0, 0)
.
PoolColorArray vertex_colors = PoolColorArray( )
void set_vertex_colors ( PoolColorArray value )
PoolColorArray get_vertex_colors ( )
Color for each vertex. Colors are interpolated between vertices, resulting in smooth gradients. There should be one per polygon vertex. If there are fewer, undefined vertices will use color
.
Method Descriptions¶
void add_bone ( NodePath path, PoolRealArray weights )
Adds a bone with the specified path
and weights
.
void clear_bones ( )
Removes all bones from this Polygon2D.
void erase_bone ( int index )
Removes the specified bone from this Polygon2D.
int get_bone_count ( ) const
Returns the number of bones in this Polygon2D.
NodePath get_bone_path ( int index ) const
Returns the path to the node associated with the specified bone.
PoolRealArray get_bone_weights ( int index ) const
Returns the height values of the specified bone.
void set_bone_path ( int index, NodePath path )
Sets the path to the node associated with the specified bone.
void set_bone_weights ( int index, PoolRealArray weights )
Sets the weight values for the specified bone.