Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Curve2D

Inherits: Resource < RefCounted < Object

Describes a Bézier curve in 2D space.

Description

This class describes a Bézier curve in 2D space. It is mainly used to give a shape to a Path2D, but can be manually sampled for other purposes.

It keeps a cache of precalculated points along the curve, to speed up further calculations.

Properties

float

bake_interval

5.0

int

point_count

0

Methods

void

add_point ( Vector2 position, Vector2 in=Vector2(0, 0), Vector2 out=Vector2(0, 0), int index=-1 )

void

clear_points ( )

float

get_baked_length ( ) const

PackedVector2Array

get_baked_points ( ) const

float

get_closest_offset ( Vector2 to_point ) const

Vector2

get_closest_point ( Vector2 to_point ) const

Vector2

get_point_in ( int idx ) const

Vector2

get_point_out ( int idx ) const

Vector2

get_point_position ( int idx ) const

void

remove_point ( int idx )

Vector2

sample ( int idx, float t ) const

Vector2

sample_baked ( float offset=0.0, bool cubic=false ) const

Transform2D

sample_baked_with_rotation ( float offset=0.0, bool cubic=false ) const

Vector2

samplef ( float fofs ) const

void

set_point_in ( int idx, Vector2 position )

void

set_point_out ( int idx, Vector2 position )

void

set_point_position ( int idx, Vector2 position )

PackedVector2Array

tessellate ( int max_stages=5, float tolerance_degrees=4 ) const

PackedVector2Array

tessellate_even_length ( int max_stages=5, float tolerance_length=20.0 ) const


Property Descriptions

float bake_interval = 5.0

  • void set_bake_interval ( float value )

  • float get_bake_interval ( )

The distance in pixels between two adjacent cached points. Changing it forces the cache to be recomputed the next time the get_baked_points or get_baked_length function is called. The smaller the distance, the more points in the cache and the more memory it will consume, so use with care.


int point_count = 0

  • void set_point_count (