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.

Animation

Успадковує: Resource < RefCounted < Object

Зберігає дані, які можна використовувати для анімації будь-чого в механізмі.

Опис

Цей ресурс містить дані, які можна використовувати для анімації будь-чого в механізмі. Анімації поділені на доріжки, і кожна доріжка має бути пов’язана з вузлом. Стан цього вузла можна змінювати з часом, додаючи часові ключі (події) до треку.

 # Це створює анімацію, яка змушує вузол «Ворог» рухатися праворуч
 # 100 пікселів за 2,0 секунди.
var animation = Animation.new()
var track_index = animation.add_track(Animation.TYPE_VALUE)
animation.track_set_path(track_index, "Enemy:position:x")
animation.track_insert_key(індекс_доріжки, 0.0, 0)
animation.track_insert_key(track_index, 2.0, 100)
animation.length = 2,0

Анімації — це лише контейнери даних, і для відтворення їх потрібно додати до таких вузлів, як AnimationPlayer. Доріжки анімації мають різні типи, кожна з яких має власний набір спеціальних методів. Перевірте TrackType, щоб побачити доступні типи.

Примітка. Для 3D-положення/обертання/масштабу з міркувань продуктивності рекомендується використовувати спеціалізовані типи треків TYPE_POSITION_3D, TYPE_ROTATION_3D і TYPE_SCALE_3D замість TYPE_VALUE.

Посібники

Властивості

bool

capture_included

false

float

length

1.0

LoopMode

loop_mode

0

float

step

0.033333335

Методи

void

add_marker(name: StringName, time: float)

int

add_track(type: TrackType, at_position: int = -1)

StringName

animation_track_get_key_animation(track_idx: int, key_idx: int) const

int

animation_track_insert_key(track_idx: int, time: float, animation: StringName)

void

animation_track_set_key_animation(track_idx: int, key_idx: int, animation: StringName)

float

audio_track_get_key_end_offset(track_idx: int, key_idx: int) const

float

audio_track_get_key_start_offset(track_idx: int, key_idx: int) const

Resource

audio_track_get_key_stream(track_idx: int, key_idx: int) const

int

audio_track_insert_key(track_idx: int, time: float, stream: Resource, start_offset: float = 0, end_offset: float = 0)

bool

audio_track_is_use_blend(track_idx: int) const

void

audio_track_set_key_end_offset(track_idx: int, key_idx: int, offset: float)

void

audio_track_set_key_start_offset(track_idx: int, key_idx: int, offset: float)

void

audio_track_set_key_stream(track_idx: int, key_idx: int, stream: Resource)

void

audio_track_set_use_blend(track_idx: int, enable: bool)

Vector2

bezier_track_get_key_in_handle(track_idx: int, key_idx: int) const

Vector2

bezier_track_get_key_out_handle(track_idx: int, key_idx: int) const

float

bezier_track_get_key_value(track_idx: int, key_idx: int) const

int

bezier_track_insert_key(track_idx: int, time: float, value: float, in_handle: Vector2 = Vector2(0, 0), out_handle: Vector2 = Vector2(0, 0))

float

bezier_track_interpolate(track_idx: int, time: float) const

void

bezier_track_set_key_in_handle(track_idx: int, key_idx: int, in_handle: Vector2, balanced_value_time_ratio: float = 1.0)

void

bezier_track_set_key_out_handle(track_idx: int, key_idx: int, out_handle: Vector2, balanced_value_time_ratio: float = 1.0)

void

bezier_track_set_key_value(track_idx: int, key_idx: int, value: float)

int

blend_shape_track_insert_key(track_idx: int, time: float, amount: float)

float

blend_shape_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const

void

clear()

void

compress(page_size: int = 8192, fps: int = 120, split_tolerance: float = 4.0)

void

copy_track(track_idx: int, to_animation: Animation)

int

find_track(path: NodePath, type: TrackType) const

StringName

get_marker_at_time(time: float) const

Color

get_marker_color(name: StringName) const

PackedStringArray

get_marker_names() const

float

get_marker_time(name: StringName) const

StringName

get_next_marker(time: float) const

StringName

get_prev_marker(time: float) const

int

get_track_count() const

bool

has_marker(name: StringName) const

StringName

method_track_get_name(track_idx: int, key_idx: int) const

Array

method_track_get_params(track_idx: int, key_idx: int) const

void

optimize(allowed_velocity_err: float = 0.01, allowed_angular_err: float = 0.01, precision: int = 3)

int

position_track_insert_key(track_idx: int, time: float, position: Vector3)

Vector3

position_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const

void

remove_marker(name: StringName)

void

remove_track(track_idx: int)

int

rotation_track_insert_key(track_idx: int, time: float, rotation: Quaternion)

Quaternion

rotation_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const

int

scale_track_insert_key(track_idx: int, time: float, scale: Vector3)

Vector3

scale_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const

void

set_marker_color(name: StringName, color: Color)

int

track_find_key(track_idx: int, time: float, find_mode: FindMode = 0, limit: bool = false, backward: bool = false) const

bool

track_get_interpolation_loop_wrap(track_idx: int) const

InterpolationType

track_get_interpolation_type(track_idx: int) const

int

track_get_key_count(track_idx: int) const

float

track_get_key_time(track_idx: int, key_idx: int) const

float

track_get_key_transition(track_idx: int, key_idx: int) const

Variant

track_get_key_value(track_idx: int, key_idx: int) const

NodePath

track_get_path(track_idx: int) const

TrackType

track_get_type(track_idx: int) const

int

track_insert_key(track_idx: int, time: float, key: Variant, transition: float = 1)

bool

track_is_compressed(track_idx: int) const

bool

track_is_enabled(track_idx: int) const

bool

track_is_imported(track_idx: int) const

void

track_move_down(track_idx: int)

void

track_move_to(track_idx: int, to_idx: int)

void

track_move_up(track_idx: int)

void

track_remove_key(track_idx: int, key_idx: int)

void

track_remove_key_at_time(track_idx: int, time: float)

void

track_set_enabled(track_idx: int, enabled: bool)

void

track_set_imported(track_idx: int, imported: bool)

void

track_set_interpolation_loop_wrap(track_idx: int, interpolation: bool)

void

track_set_interpolation_type(track_idx: int, interpolation: InterpolationType)

void

track_set_key_time(track_idx: int, key_idx: int, time: float)

void

track_set_key_transition(track_idx: int, key_idx: int, transition: float)

void

track_set_key_value(track_idx: int, key: int, value: Variant)

void

track_set_path(track_idx: int, path: NodePath)

void

track_swap(track_idx: int, with_idx: int)

UpdateMode

value_track_get_update_mode(track_idx: int) const

Variant

value_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const

void

value_track_set_update_mode(track_idx: int, mode: UpdateMode)


Переліки

enum TrackType: 🔗

TrackType TYPE_VALUE = 0

Доріжки значення задають значення у властивостях вузла, але тільки ті, які можна інтерполювати. Для 3D-розташування/обертання/масштабу рекомендується використовувати спеціальні типи доріжок TYPE_POSITION_3D, TYPE_ROTATION_3D і TYPE_SCALE_3D замість TYPE_VALUE з міркувань продуктивності.

TrackType TYPE_POSITION_3D = 1

Доріжка 3D-розташування (значення зберігаються у Vector3ах).

TrackType TYPE_ROTATION_3D = 2

Доріжка 3D-обертання (значення зберігаються у Quaternionах).

TrackType TYPE_SCALE_3D = 3

Доріжка 3D-масштабування (значення зберігаються в Vector3ах).

TrackType TYPE_BLEND_SHAPE = 4

Доріжка форми змішування.

TrackType TYPE_METHOD = 5

Доріжка методу викликає функції із заданими аргументами на кожен ключ.

TrackType TYPE_BEZIER = 6

Доріжки Безьє використовуються для інтерполяції значення за допомогою користувацьких кривих. Їх також можна використовувати для анімування підвластивостей векторів і кольорів (наприклад, значення альфа-параметру Color).

TrackType TYPE_AUDIO = 7

Звукові доріжки використовуються для відтворення аудіопотоку за допомогою будь-якого типу AudioStreamPlayer. Потік можна обрізати та попередньо переглянути в анімації.

TrackType TYPE_ANIMATION = 8

Доріжки анімації відтворюють анімацію в інших вузлах AnimationPlayer.


enum InterpolationType: 🔗

InterpolationType INTERPOLATION_NEAREST = 0

Без інтерполяції (найближче значення).

InterpolationType INTERPOLATION_LINEAR = 1

Лінійна інтерполяція.

InterpolationType INTERPOLATION_CUBIC = 2

Кубічна інтерполяція. Виглядає більш плавно, ніж лінійна інтерполяція, але більш затратна. Використовуйте значення INTERPOLATION_LINEAR для складних 3D-анімацій, імпортованих із зовнішнього програмного забезпечення, навіть якщо це вимагає використання більшої частоти кадрів анімації.

InterpolationType INTERPOLATION_LINEAR_ANGLE = 3

Лінійна інтерполяція з обертанням по найкоротшому шляху.

Примітка: Значення результату завжди нормалізоване і може не збігатися зі значенням ключа.

InterpolationType INTERPOLATION_CUBIC_ANGLE = 4

Кубічна інтерполяція з обертанням по найкоротшому шляху.

Примітка: Значення результату завжди нормалізоване і може не збігатися зі значенням ключа.


enum UpdateMode: 🔗

UpdateMode UPDATE_CONTINUOUS = 0

Оновлення між ключовими кадрами та утриманням значення.

UpdateMode UPDATE_DISCRETE = 1

Оновлення на ключових кадрах.

UpdateMode UPDATE_CAPTURE = 2

Те саме, що UPDATE_CONTINUOUS, але працює як прапорець для захоплення значення поточного об’єкта та виконання інтерполяції в деяких методах. Дивіться також AnimationMixer.capture, AnimationPlayer.playback_auto_capture і AnimationPlayer.play_with_capture().


enum LoopMode: 🔗

LoopMode LOOP_NONE = 0

На обох кінцях анімації відтворення анімації буде зупинено.

LoopMode LOOP_LINEAR = 1

В обох кінцях анімації анімація повторюватиметься без зміни напрямку відтворення.

LoopMode LOOP_PINGPONG = 2

Повторюється відтворення та зворотне відтворення на обох кінцях анімації.


enum LoopedFlag: 🔗

LoopedFlag LOOPED_FLAG_NONE = 0

Ця позначка вказує на те, що анімація виконується без зациклення.

LoopedFlag LOOPED_FLAG_END = 1

Ця позначка вказує на те, що анімація досягла кінця і щойно завершився цикл.

LoopedFlag LOOPED_FLAG_START = 2

Ця позначка вказує на те, що анімація досягла початку анімації і щойно завершився цикл.


enum FindMode: 🔗

FindMode FIND_MODE_NEAREST = 0

Знаходить найближчий часовий ключ.

FindMode FIND_MODE_APPROX = 1

Знаходить тільки ключ з наближеним часом.

FindMode FIND_MODE_EXACT = 2

Знаходить тільки той ключ, який збігається за часом.


Описи властивостей

bool capture_included = false 🔗

  • bool is_capture_included()

Повертає true, якщо включений контроль захоплення. Це окреме значення для виконання.


float length = 1.0 🔗

  • void set_length(value: float)

  • float get_length()

Загальна тривалість анімації (у секундах).

Примітка: Довжина не обмежується останнім ключем, оскільки вона може бути до, або після, кінця, щоб забезпечити правильну інтерполяцію та зациклення.


LoopMode loop_mode = 0 🔗

Визначає поведінку обох кінців часової шкали анімації під час відтворення анімації. Це вказує, чи слід перезапускати анімацію і як, а також використовується для правильної інтерполяції циклів анімації.


float step = 0.033333335 🔗

Значення кроку анімації.


Описи методів

void add_marker(name: StringName, time: float) 🔗

Додає маркер до цієї анімації.


int add_track(type: TrackType, at_position: int = -1) 🔗

Додає доріжку до анімації.


StringName animation_track_get_key_animation(track_idx: int, key_idx: int) const 🔗

Повертає назву анімації за ключем, визначеним key_idx. track_idx має бути індексом Доріжки Анімації.


int animation_track_insert_key(track_idx: int, time: float, animation: StringName) 🔗

Вставляє ключ зі значенням animation на заданий time (у секундах). track_idx має бути індексом Доріжки Анімації.


void animation_track_set_key_animation(track_idx: int, key_idx: int, animation: StringName) 🔗

Встановлює ключ, визначений key_idx, на значення animation. track_idx має бути індексом Доріжки Анімації.


float audio_track_get_key_end_offset(track_idx: int, key_idx: int) const 🔗

Повертає кінцеве зміщення ключа, визначеного key_idx. track_idx має бути індексом Звукової Доріжки.

Кінцеве зміщення - це кількість секунд, що відсікаються в кінці аудіопотоку.


float audio_track_get_key_start_offset(track_idx: int, key_idx: int) const 🔗

Повертає початкове зміщення ключа, визначеного параметром key_idx. track_idx має бути індексом Звукової Доріжки.

Початкове зміщення - це кількість секунд, відрізаних на початку аудіопотоку.


Resource audio_track_get_key_stream(track_idx: int, key_idx: int) const 🔗

Повертає аудіопотік ключа, визначеного параметром key_idx. track_idx має бути індексом Звукової Доріжки.


int audio_track_insert_key(track_idx: int, time: float, stream: Resource, start_offset: float = 0, end_offset: float = 0) 🔗

Вставляє ключ Звукової Доріжки на заданий time у секундах. track_idx має бути індексом Звукової Доріжки.

stream - це ресурс AudioStream для відтворення. start_offset - це кількість секунд, що відсікаються на початку аудіопотоку, а end_offset - наприкінці.


bool audio_track_is_use_blend(track_idx: int) const 🔗

Повертає true, якщо доріжка track_idx буде змішана з іншими анімаціями.


void audio_track_set_key_end_offset(track_idx: int, key_idx: int, offset: float) 🔗

Встановлює кінцеве зміщення ключа, визначеного параметром key_idx, на значення offset. track_idx має бути індексом Звукової Доріжки.


void audio_track_set_key_start_offset(track_idx: int, key_idx: int, offset: float) 🔗

Встановлює початкове зміщення ключа визначеної key_idx, на значення offset. track_idx має бути індексом Звукової Доріжки.


void audio_track_set_key_stream(track_idx: int, key_idx: int, stream: Resource) 🔗

Встановлює потік ключа, визначеного key_idx, на значення stream. track_idx має бути індексом Звукової Доріжки.


void audio_track_set_use_blend(track_idx: int, enable: bool) 🔗

Дозволяє вказати, чи буде доріжку змішано з іншими анімаціями. Якщо true, гучність відтворення звуку змінюється залежно від значення змішування.


Vector2 bezier_track_get_key_in_handle(track_idx: int, key_idx: int) const 🔗

Повертає дескриптор ключа, визначеного key_idx. track_idx має бути індексом Доріжки Безьє.


Vector2 bezier_track_get_key_out_handle(track_idx: int, key_idx: int) const 🔗

Повертає вихідний дескриптор ключа, визначеного key_idx. track_idx має бути індексом Доріжки Безьє.


float bezier_track_get_key_value(track_idx: int, key_idx: int) const 🔗

Повертає значення ключа, визначеного key_idx. track_idx має бути індексом Доріжки Безьє.


int bezier_track_insert_key(track_idx: int, time: float, value: float, in_handle: Vector2 = Vector2(0, 0), out_handle: Vector2 = Vector2(0, 0)) 🔗

Вставляє ключ Доріжки Безьє на заданий time у секундах. track_idx має бути індексом Доріжки Безьє.

in_handle — вплив лівої сторони доданої точки кривої Безьє, out_handle — правої, а value — фактичне значення в цій точці.


float bezier_track_interpolate(track_idx: int, time: float) const 🔗

Повертає інтерпольоване значення на заданий time (у секундах). track_idx має бути індексом Доріжки Безьє.


void bezier_track_set_key_in_handle(track_idx: int, key_idx: int, in_handle: Vector2, balanced_value_time_ratio: float = 1.0) 🔗

Встановлює для дескриптора ключа, визначеного key_idx, значення in_handle. track_idx має бути індексом Доріжки Безьє.


void bezier_track_set_key_out_handle(track_idx: int, key_idx: int, out_handle: Vector2, balanced_value_time_ratio: float = 1.0) 🔗

Встановлює вихідний дескриптор ключа, визначеного key_idx, на значення out_handle. track_idx має бути індексом Доріжки Безьє.


void bezier_track_set_key_value(track_idx: int, key_idx: int, value: float) 🔗

Встановлює значення ключа, визначеного параметром key_idx, на задане значення. track_idx має бути індексом Доріжки Безьє.


int blend_shape_track_insert_key(track_idx: int, time: float, amount: float) 🔗

Вставляє ключ на задану доріжку форми змішування. Повертає індекс ключа.


float blend_shape_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const 🔗

Повертає інтерпольоване значення форми змішування в заданий час (у секундах). track_idx має бути індексом доріжки форми змішування.


void clear() 🔗

Очистить анімацію (очищає всі доріжки і все скидає).


void compress(page_size: int = 8192, fps: int = 120, split_tolerance: float = 4.0) 🔗

Стискає анімацію та всі її доріжки на місці. Це призведе до того, що track_is_compressed() поверне true після виклику на цій Animation. Стиснуті доріжки вимагають менше пам'яті для відтворення і призначені для використання у складних 3D-анімаціях (таких як ролики), імпортованих із зовнішнього 3D-програмного забезпечення. Стиснення призводить до втрат, але в реальних умовах різниця зазвичай не помітна.

Примітка: Стиснуті доріжки мають різні обмеження (наприклад, їх не можна редагувати у редакторі), тому використовуйте стиснуту анімацію лише тоді, коли вона вам справді потрібна.


void copy_track(track_idx: int, to_animation: Animation) 🔗

Додає новий трек до to_animation, який є копією заданого треку з цієї анімації.


int find_track(path: NodePath, type: TrackType) const 🔗

Повертає індекс заданої доріжки. Якщо доріжку не знайдено, повертається -1.


StringName get_marker_at_time(time: float) const 🔗

Повертає назву маркера, розташованого в заданий час.


Color get_marker_color(name: StringName) const 🔗

Повертає заданий колір маркера.


PackedStringArray get_marker_names() const 🔗

Повертає кожен маркер у цій анімації, відсортований за зростанням за часом.


float get_marker_time(name: StringName) const 🔗

Повертає заданий час маркера.


StringName get_next_marker(time: float) const 🔗

Повертає найближчий маркер після заданого часу. Якщо такий маркер не існує, повертається порожній рядок.


StringName get_prev_marker(time: float) const 🔗

Повертає найближчий маркер, який передує вказаному часу. Якщо такий маркер не існує, повертається порожній рядок.


int get_track_count() const 🔗

Повертає кількість доріжок в анімації.


bool has_marker(name: StringName) const 🔗

Повертає true, якщо ця анімація містить маркер із вказаною назвою.


StringName method_track_get_name(track_idx: int, key_idx: int) const 🔗

Повертає назву методу доріжки методу.


Array method_track_get_params(track_idx: int, key_idx: int) const 🔗

Повертає значення аргументів, які потрібно викликати на доріжці методів для заданого ключа на даній доріжці.


void optimize(allowed_velocity_err: float = 0.01, allowed_angular_err: float = 0.01, precision: int = 3) 🔗

Оптимізуйте анімацію та всі її доріжки на місці. Це збереже лише стільки ключів, скільки необхідно для збереження анімації у вказаних межах.


int position_track_insert_key(track_idx: int, time: float, position: Vector3) 🔗

Вставляє ключ у задану доріжку 3D-розташування. Повертає індекс ключа.


Vector3 position_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const 🔗

Повертає інтерпольоване значення позиції в заданий час (у секундах). track_idx має бути індексом 3D-треку позиції.


void remove_marker(name: StringName) 🔗

Видаляє маркер із вказаною назвою з цієї анімації.


void remove_track(track_idx: int) 🔗

Видаляє доріжку, вказавши її індекс.


int rotation_track_insert_key(track_idx: int, time: float, rotation: Quaternion) 🔗

Вставляє ключ у задану доріжку 3D-обертання. Повертає індекс ключа.


Quaternion rotation_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const 🔗

Повертає інтерпольоване значення обертання в заданий час (у секундах). track_idx має бути індексом 3D-доріжки обертання.


int scale_track_insert_key(track_idx: int, time: float, scale: Vector3) 🔗

Вставляє ключ у задану доріжку 3D-масштабування. Повертає індекс ключа.


Vector3 scale_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const 🔗

Повертає інтерпольоване значення масштабу в заданий час (у секундах). Параметр track_idx має бути індексом доріжки 3D-масштабування.


void set_marker_color(name: StringName, color: Color) 🔗

Встановлює заданий колір маркера.


int track_find_key(track_idx: int, time: float, find_mode: FindMode = 0, limit: bool = false, backward: bool = false) const 🔗

Знаходить індекс ключа за часом у даній доріжці. За бажанням знайдіть його, лише якщо вказано приблизний/точний час.

Якщо limit має значення true, ключі за межами діапазону анімації не повертаються.

Якщо backward має значення true, напрямок змінюється на протилежний у методах, які покладаються на односпрямовану обробку.

Наприклад, якщо find_mode дорівнює FIND_MODE_NEAREST, якщо в поточній позиції відразу після пошуку немає ключа, перший знайдений ключ витягується шляхом пошуку перед позицією, але якщо backward дорівнює `` true``, перший знайдений ключ витягується після позиції.


bool track_get_interpolation_loop_wrap(track_idx: int) const 🔗

Повертає true, якщо доріжка в track_idx обертає цикл інтерполяції. Нові доріжки обертають цикл інтерполяції за замовчуванням.


InterpolationType track_get_interpolation_type(track_idx: int) const 🔗

Повертає тип інтерполяції заданої доріжки.


int track_get_key_count(track_idx: int) const 🔗

Повертає кількість ключів на заданій доріжці.


float track_get_key_time(track_idx: int, key_idx: int) const 🔗

Повертає час, на якому розміщений ключ.


float track_get_key_transition(track_idx: int, key_idx: int) const 🔗

Повертає криву переходу (послаблення) для певного ключа (дивіться вбудовану математичну функцію @GlobalScope.ease()).


Variant track_get_key_value(track_idx: int, key_idx: int) const 🔗

Повертає значення заданого ключа на заданій доріжці.


NodePath track_get_path(track_idx: int) const 🔗

Отримує шлях до доріжки. Докладнішу інформацію про формат шляху можна знайти у track_set_path().


TrackType track_get_type(track_idx: int) const 🔗

Отримує тип доріжки.


int track_insert_key(track_idx: int, time: float, key: Variant, transition: float = 1) 🔗

Вставляє загальний ключ у задану доріжку. Повертає індекс ключа.


bool track_is_compressed(track_idx: int) const 🔗

Повертає true, якщо доріжку стиснуто, інакше false. Дивіться також compress().


bool track_is_enabled(track_idx: int) const 🔗

Повертає true, якщо доріжка за індексом track_idx увімкнена.


bool track_is_imported(track_idx: int) const 🔗

Повертає true, якщо задану доріжку імпортовано. Інакше повертає false.


void track_move_down(track_idx: int) 🔗

Переміщує доріжку вниз.


void track_move_to(track_idx: int, to_idx: int) 🔗

Змінює індексну позицію доріжки track_idx на позицію, визначену у to_idx.


void track_move_up(track_idx: int) 🔗

Переміщує доріжку вгору.


void track_remove_key(track_idx: int, key_idx: int) 🔗

Видаляє ключ за індексом на заданій доріжці.


void track_remove_key_at_time(track_idx: int, time: float) 🔗

Видаляє ключ на time у заданій доріжці.


void track_set_enabled(track_idx: int, enabled: bool) 🔗

Вмикає/вимикає задану доріжку. За замовчуванням доріжки увімкнені.


void track_set_imported(track_idx: int, imported: bool) 🔗

Визначає імпортовану доріжку як імпортовану чи ні.


void track_set_interpolation_loop_wrap(track_idx: int, interpolation: bool) 🔗

Якщо true, доріжка в track_idx обертає цикл інтерполяції.


void track_set_interpolation_type(track_idx: int, interpolation: InterpolationType) 🔗

Задає тип інтерполяції для даної доріжки.


void track_set_key_time(track_idx: int, key_idx: int, time: float) 🔗

Встановлює час існуючого ключа.


void track_set_key_transition(track_idx: int, key_idx: int, transition: float) 🔗

Встановлює криву переходу (послаблення) для певного ключа (див. вбудовану математичну функцію @GlobalScope.ease()).


void track_set_key_value(track_idx: int, key: int, value: Variant) 🔗

Встановлює значення існуючого ключа.


void track_set_path(track_idx: int, path: NodePath) 🔗

Встановлює шлях доріжки. Шляхи мають бути дійсними шляхами дерева сцен до вузла та мають бути вказані, починаючи з AnimationMixer.root_node, який відтворюватиме анімацію. Треки, які керують властивостями або кістками, мають додавати свою назву після шляху, розділеного ":".

Наприклад, "character/skeleton:ankle" або "character/mesh:transform/local".


void track_swap(track_idx: int, with_idx: int) 🔗

Міняє місцями індексну позицію доріжки track_idx та доріжки with_idx.


UpdateMode value_track_get_update_mode(track_idx: int) const 🔗

Повертає режим оновлення значень доріжки.


Variant value_track_interpolate(track_idx: int, time_sec: float, backward: bool = false) const 🔗

Повертає інтерпольоване значення в заданий час (у секундах). track_idx має бути індексом доріжки значення.

backward головним чином впливає на напрямок пошуку ключа треку з UPDATE_DISCRETE, перетвореною AnimationMixer.ANIMATION_CALLBACK_MODE_DISCRETE_FORCE_CONTINUOUS, щоб відповідати результату track_find_key().


void value_track_set_update_mode(track_idx: int, mode: UpdateMode) 🔗

Встановлює режим оновлення відстеження вартості.