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.
Checking the stable version of the documentation...
Curve
Hérite de : Resource < RefCounted < Object
Une courbe mathématique.
Description
Cette ressource décrit une courbe mathématique en définissant un ensemble de points et de tangentes à chaque point. Par défaut, elle s'étend entre 0 et 1 sur les axes X et Y, mais ces plages peuvent être modifiées.
Veuillez noter que de nombreuses ressources et nœuds supposent qu'ils reçoivent des courbes unitaires. Une courbe unitaire est une courbe dont le domaine (l'axe X) est compris entre 0 et 1. Certains exemples d'utilisation de courbes unitaires sont CPUParticles2D.angle_curve et Line2D.width_curve.
Propriétés
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Méthodes
add_point(position: Vector2, left_tangent: float = 0, right_tangent: float = 0, left_mode: TangentMode = 0, right_mode: TangentMode = 0) |
|
void |
bake() |
void |
|
void |
|
get_domain_range() const |
|
get_point_left_mode(index: int) const |
|
get_point_left_tangent(index: int) const |
|
get_point_position(index: int) const |
|
get_point_right_mode(index: int) const |
|
get_point_right_tangent(index: int) const |
|
get_value_range() const |
|
void |
remove_point(index: int) |
sample_baked(offset: float) const |
|
void |
set_point_left_mode(index: int, mode: TangentMode) |
void |
set_point_left_tangent(index: int, tangent: float) |
set_point_offset(index: int, offset: float) |
|
void |
set_point_right_mode(index: int, mode: TangentMode) |
void |
set_point_right_tangent(index: int, tangent: float) |
void |
set_point_value(index: int, y: float) |
Signaux
domain_changed() 🔗
Émis quand max_domain ou min_domain est changé.
range_changed() 🔗
Énumérations
enum TangentMode: 🔗
TangentMode TANGENT_FREE = 0
La tangente de ce côté du point est personnalisée.
TangentMode TANGENT_LINEAR = 1
La courbe calcule la tangente de ce côté du point comme la pente avec la demi-distance du point adjacent.
TangentMode TANGENT_MODE_COUNT = 2
Le nombre total de modes de tangentes disponibles.
Descriptions des propriétés
Le nombre de points à inclure dans les données de cache de la courbe.
Le domaine maximum (coordonnée en X) que les points peuvent avoir.
La valeur maximale (coordonnée en Y) que les points peuvent avoir. Les tangentes peuvent causer des valeurs plus élevées entre les points.
Le domaine minimum (coordonnée en X) que les points peuvent avoir.
La valeur minimale (en coordonnée y) que les points peuvent avoir. Les tangentes peuvent causer des valeurs inférieures entre les points.
Le nombre de points décrivant la courbe.
int point_{index}/left_mode = 0 🔗
The left TangentMode for the point at index.
Note: index is a value in the 0 .. point_count - 1 range.
float point_{index}/left_tangent = 0.0 🔗
The left tangent angle (in degrees) for the point at index.
Note: index is a value in the 0 .. point_count - 1 range.
Vector2 point_{index}/position = Vector2(0, 0) 🔗
The position of the point at index.
Note: index is a value in the 0 .. point_count - 1 range.
int point_{index}/right_mode = 0 🔗
The right TangentMode for the point at index.
Note: index is a value in the 0 .. point_count - 1 range.
float point_{index}/right_tangent = 0.0 🔗
The right tangent angle (in degrees) for the point at index.
Note: index is a value in the 0 .. point_count - 1 range.
Descriptions des méthodes
int add_point(position: Vector2, left_tangent: float = 0, right_tangent: float = 0, left_mode: TangentMode = 0, right_mode: TangentMode = 0) 🔗
Ajoute un point à la courbe. Pour chaque côté, si le *_mode est TANGENT_LINEAR, l'angle *_tangent (en degrés) utilise la pente de la courbe définie par rapport à la demi-distance du point adjacent. Permet des spécifier des tangentes personnalisées avec *_tangent si *_mode est défini à TANGENT_FREE.
void bake() 🔗
Recalcule le cache des points de la courbe.
void clean_dupes() 🔗
Retire les points dupliqués, c'est-à-dire les points qui sont moins de 0,00001 unités (valeur epsilon du moteur) de leur voisin sur la courbe.
void clear_points() 🔗
Supprime tous les points de la courbe.
float get_domain_range() const 🔗
Renvoie la différence entre min_domain et max_domain.
TangentMode get_point_left_mode(index: int) const 🔗
Renvoie le TangentMode de gauche pour le point à l'index index.
float get_point_left_tangent(index: int) const 🔗
Renvoie l'angle de la tangente gauche (en degrés) pour le point à l'index index.
Vector2 get_point_position(index: int) const 🔗
Renvoie les coordonnées de la courbe au point à l'index index.
TangentMode get_point_right_mode(index: int) const 🔗
Renvoie le TangentMode à droite du point à l'index index.
float get_point_right_tangent(index: int) const 🔗
Renvoie l'angle de la tangente droite (en degrés) pour le point à l'index index.
float get_value_range() const 🔗
Renvoie la différence entre min_value et max_value.
void remove_point(index: int) 🔗
Supprime le point à l'index index de la courbe.
float sample(offset: float) const 🔗
Renvoie la valeur Y pour un point qui existerait à la position X offset le long de la courbe.
float sample_baked(offset: float) const 🔗
Renvoie la valeur Y pour un point qui existerait à la position X offset le long de la courbe en utilisant le cache pré-calculé. Pré-calcule les points de la courbe si cela n'a pas déjà été fait.
void set_point_left_mode(index: int, mode: TangentMode) 🔗
Définit la TangentMode à gauche du point d'index index à mode.
void set_point_left_tangent(index: int, tangent: float) 🔗
Définit l'angle de la tangente gauche pour le point d'index index à tangent.
int set_point_offset(index: int, offset: float) 🔗
Assigns the horizontal position offset to the point at index.
void set_point_right_mode(index: int, mode: TangentMode) 🔗
Définit la TangentMode à droite du point d'index index à mode.
void set_point_right_tangent(index: int, tangent: float) 🔗
Définit l'angle de la tangente droite pour le point d'index index à tangent.
void set_point_value(index: int, y: float) 🔗
Assigne la position verticale y au point à l'index index.