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.

AnimationNodeExtension

Експериментальний: This class may be changed or removed in future versions.

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

Базовий клас для розширення AnimationRootNode з GDScript, C# або C++.

Опис

AnimationNodeExtension надає API AnimationRootNode, щоб дозволити користувачам розширювати його з GDScript, C# або C++. Цей клас не призначений для безпосереднього використання, а для розширення іншими класами. Він використовується для створення спеціальних вузлів для системи AnimationTree.

Методи

PackedFloat32Array

_process_animation_node(playback_info: PackedFloat64Array, test_only: bool) virtual required

float

get_remaining_time(node_info: PackedFloat32Array, break_loop: bool) static

bool

is_looping(node_info: PackedFloat32Array) static


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

PackedFloat32Array _process_animation_node(playback_info: PackedFloat64Array, test_only: bool) virtual required 🔗

Версія методу AnimationNode._process(), призначена для перевизначення користувацькими вузлами. Він повертає PackedFloat32Array з обробленими даними анімації.

Параметр PackedFloat64Array містить інформацію про відтворення, що містить такі значення, закодовані як числа з плаваючою комою (у порядку): час відтворення та дельта, час початку та завершення, чи був запит на пошук (закодований як число з плаваючою точкою, більше ніж 0), чи був запит на пошук іззовні (закодований як число з плаваючою точкою, більше ніж 0), поточний LoopedFlag (закодований як float) і поточна вага змішування.

Функція має повертати PackedFloat32Array інформації про час вузла, що містить такі значення (за порядком): тривалість анімації, позиція часу, дельта, LoopMode (закодована як число з плаваючою точкою), чи завершується анімація (закодовано як число з плаваючою речовиною, більше за 0) і чи є анімація нескінченною (закодовано як число з плаваючою речовиною). більше 0). Усі значення мають бути включені до поверненого масиву.


float get_remaining_time(node_info: PackedFloat32Array, break_loop: bool) static 🔗

Повертає час анімації, що залишився, для даної інформації вузла. Для циклічної анімації він повертатиме час, що залишився, лише якщо break_loop має значення true, інакше повертатиметься велике ціле значення.


bool is_looping(node_info: PackedFloat32Array) static 🔗

Повертає true, якщо анімація для даного node_info повторюється.