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...
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.
Методы
_process_animation_node(playback_info: PackedFloat64Array, test_only: bool) virtual required |
|
get_remaining_time(node_info: PackedFloat32Array, break_loop: bool) static |
|
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 (закодирован как число с плавающей точкой) и текущий вес смешивания.
Функция должна возвращать PackedFloat32Array временной информации узла, содержащей следующие значения (по порядку): длина анимации, временная позиция, дельта, LoopMode (закодировано как float), заканчивается ли анимация (закодировано как float больше 0) и бесконечна ли анимация (закодировано как float больше 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 является циклической.