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 (закодирован как число с плавающей точкой) и текущий вес смешивания.

Функция должна возвращать 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 является циклической.