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
Успадковує: Resource < RefCounted < Object
Математична крива.
Опис
Цей ресурс описує математичну криву шляхом визначення набору точок і дотичних у кожній точці. За замовчуванням він коливається від 0 до 1 на осях X і Y, але ці діапазони можна змінити.
Зверніть увагу, що багато ресурсів і вузлів припускають, що їм надано одиничні криві. Одинична крива – це крива, домен якої (вісь X) знаходиться між 0 і 1. Деякі приклади використання одиничної кривої: CPUParticles2D.angle_curve і Line2D.width_curve.
Властивості
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Vector2 |
|
|
|
||
|
Методи
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 |
|
Vector2 |
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) |
Сигнали
domain_changed() 🔗
Видається, коли змінюється max_domain або min_domain.
range_changed() 🔗
Переліки
enum TangentMode: 🔗
TangentMode TANGENT_FREE = 0
Тангент на цьому боці точки визначається користувачем.
TangentMode TANGENT_LINEAR = 1
Крива розраховує танджент на цьому боці точки, як ухилий півход на прилеглу точку.
TangentMode TANGENT_MODE_COUNT = 2
Загальна кількість доступних режимів тангенсу.
Описи властивостей
Кількість точок для включення в запечені (тобто кешовані) дані кривих.
Максимальний домен (координата x), який можуть мати точки.
Максимальне значення (координата y), яке можуть мати точки. Дотичні можуть викликати вищі значення між точками.
Мінімальний домен (координата x), який можуть мати точки.
Мінімальне значення (координата y), яке можуть мати точки. Дотичні можуть спричинити нижчі значення між точками.
Кількість точок, що описують криву.
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.
Описи методів
int add_point(position: Vector2, left_tangent: float = 0, right_tangent: float = 0, left_mode: TangentMode = 0, right_mode: TangentMode = 0) 🔗
Додає точку до вигину. Для кожної сторони, якщо кут *_mode є TANGENT_LINEAR, *_tangent (в градусах) використовує схил кривої половини до прилеглої точки. Дозволяє користувацьким призначенням до кута *_тангента, якщо *_mode встановлюється до TANGENT_FREE.
void bake() 🔗
Знімає запечене кешування точок для кривої.
void clean_dupes() 🔗
Вилучає дублікати точок, тобто точки, які менше 0,00001 одиниць (ціна NeoSeo значення) від їх сусіда на кривій.
void clear_points() 🔗
Видаліть всі точки з кривої.
float get_domain_range() const 🔗
Повертає різницю між min_domain і max_domain.
TangentMode get_point_left_mode(index: int) const 🔗
Повертає ліву TangentMode на точку index.
float get_point_left_tangent(index: int) const 🔗
Повертає лівий кут тангенса (в градусах) для точки в index.
Vector2 get_point_position(index: int) const 🔗
Повертає координати кривої для точки з index.
TangentMode get_point_right_mode(index: int) const 🔗
Повертаємо право TangentMode на точку index.
float get_point_right_tangent(index: int) const 🔗
Повертає правий кут тангенса (в градусах) для точки з index.
float get_value_range() const 🔗
Повертає різницю між min_value і max_value.
void remove_point(index: int) 🔗
Видаляє точку в index з кривої.
float sample(offset: float) const 🔗
Повертає значення Y для точки, яка б існувала в позиції X offset вздовж кривої.
float sample_baked(offset: float) const 🔗
Повертає значення Y для точки, яка буде існувати на позиції X offset вздовж кривої за допомогою запеченого кешу. Випікає вигнуті точки, якщо вже не запечена.
void set_point_left_mode(index: int, mode: TangentMode) 🔗
Встановіть ліву TangentMode для точки в index до mode.
void set_point_left_tangent(index: int, tangent: float) 🔗
Встановлює кут лівої дотичної для точки в 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) 🔗
Налаштовує право TangentMode на точку index до mode.
void set_point_right_tangent(index: int, tangent: float) 🔗
Встановлює кут прямої дотичної для точки в index на tangent.
void set_point_value(index: int, y: float) 🔗
Призначає вертикальну позицію y в точку index.