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 является циклической.