Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Curve3D

Inherits: Resource < RefCounted < Object

Describes a Bézier curve in 3D space.

Description

This class describes a Bézier curve in 3D space. It is mainly used to give a shape to a Path3D, 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

0.2

int

point_count

0

bool

up_vector_enabled

true

Methods

void

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

void

clear_points ( )

float

get_baked_length ( ) const

PackedVector3Array

get_baked_points ( ) const

PackedFloat32Array

get_baked_tilts ( ) const

PackedVector3Array

get_baked_up_vectors ( ) const

float

get_closest_offset ( Vector3 to_point ) const

Vector3

get_closest_point ( Vector3 to_point ) const

Vector3

get_point_in ( int idx ) const

Vector3

get_point_out ( int idx ) const

Vector3

get_point_position ( int idx ) const

float

get_point_tilt ( int idx ) const

void

remove_point ( int idx )

Vector3

sample ( int idx, float t ) const

Vector3

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

Vector3

sample_baked_up_vector ( float offset, bool apply_tilt=false ) const

Transform3D

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

Vector3

samplef ( float fofs ) const

void

set_point_in ( int idx, Vector3 position )

void

set_point_out ( int idx, Vector3 position )

void

set_point_position ( int idx, Vector3 position )

void

set_point_tilt ( int idx, float tilt )

PackedVector3Array

tessellate ( int max_stages=5,