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

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

Eredita: AnimationNode < Resource < RefCounted < Object

Classe base per estendere gli AnimationRootNode da GDScript, C# o C++.

Descrizione

AnimationNodeExtension espone le API di AnimationRootNode per consentire agli utenti di estenderlo da GDScript, C# o C++. Questa classe non è pensata per essere usata direttamente, ma per essere estesa da altre classi. Serve per creare nodi personalizzati per il sistema di AnimationTree.

Metodi

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


Descrizioni dei metodi

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

Una versione del metodo AnimationNode._process() che è pensata per essere sovrascritta dai nodi personalizzati. Restituisce un PackedFloat32Array con i dati di animazione elaborati.

Il parametro PackedFloat64Array contiene le informazioni di riproduzione, con i seguenti valori codificati come numeri in virgola mobile (in ordine): tempo di riproduzione e delta, tempo di inizio e fine, se è stata richiesta una ricerca (codificata come un float maggiore di 0), se la richiesta di ricerca è stata richiesta esternamente (codificata come un float maggiore di 0), il LoopedFlag attuale (codificato come un float) e l'attuale peso di fusione.

La funzione deve restituire un PackedFloat32Array delle informazioni temporali del nodo, contenente i seguenti valori (in ordine): durata dell'animazione, posizione nel tempo, delta, LoopMode (codificato come float), se l'animazione sta per terminare (codificato come float maggiore di 0) e se l'animazione è infinita (codificato come float maggiore di 0). Tutti i valori devono essere inclusi nell'array restituito.


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

Restituisce il tempo rimanente dell'animazione per le informazioni sul nodo specificate. Per le animazioni in ripetizione, verrà restituito il tempo rimanente solo se break_loop è true, altrimenti verrà restituito un valore intero alto.


bool is_looping(node_info: PackedFloat32Array) static 🔗

Restituisce true se l'animazione per il node_info fornito è in ripetizione.