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

Experimental: This class may be changed or removed in future versions.

Hereda: AnimationNode < Resource < RefCounted < Object

Clase base para extender AnimationRootNodes desde GDScript, C# o C++.

Descripción

AnimationNodeExtension expone las APIs de AnimationRootNode para permitir a los usuarios extenderlo desde GDScript, C# o C++. Esta clase no está pensada para ser usada directamente, sino para ser extendida por otras clases. Se usa para crear nodos personalizados para el sistema AnimationTree.

Métodos

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


Descripciones de Métodos

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

Una versión del método AnimationNode._process() pensada para ser sobrescrita por un nodo personalizado. Devuelve una PackedFloat32Array con la información de la animación procesada.

El parámetro PackedFloat64Array contiene información de reproducción, conteniendo los siguientes valores codificados como números de punto flotante (en orden): tiempo de reproducción y delta, tiempo de inicio y final, si se ha solicitado una búsqueda (codificado como un float mayor a 0), si la solicitud de búsqueda fue solicitada externamente (codificado como un float mayor a 0), el LoopedFlag actual (codificado como float), y el peso de mezcla actual.

La función debe retornar un PackedFloat32Array de la información de tiempo del nodo, conteniendo los siguientes valores (en orden): largo de la animación, posición en el tiempo, delta, LoopMode (codificado como float), si la animación está por terminar (codificado como un float mayor a 0) y si la animación es infinita (codificado como un float mayor a 0). Todos los valores deben incluirse en la array retornada.


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

Devuelve el tiempo restante de la animación para la información del nodo dada. Para animaciones en bucle, solo devolverá el tiempo restante si break_loop es true, de lo contrario se devolverá un valor entero grande.


bool is_looping(node_info: PackedFloat32Array) static 🔗

Devuelve true si la animación para el node_info dado está en bucle.