AnimationNodeStateMachinePlayback

Eredita: Resource < RefCounted < Object

Fornisce il controllo della riproduzione per un AnimationNodeStateMachine.

Descrizione

Permette il controllo delle macchine a stati create con AnimationNodeStateMachine in un AnimationTree. Recuperato con $AnimationTree.get("parameters/playback").

var state_machine = $AnimationTree.get("parameters/playback")
state_machine.travel("some_state")

Tutorial

Proprietà

bool

resource_local_to_scene

true (overrides Resource)

Metodi

float

get_current_length() const

StringName

get_current_node() const

float

get_current_play_position() const

StringName

get_fading_from_node() const

Array[StringName]

get_travel_path() const

bool

is_playing() const

void

next()

void

start(node: StringName, reset: bool = true)

void

stop()

void

travel(to_node: StringName, reset_on_teleport: bool = true)


Segnali

state_finished(state: StringName) 🔗

Emesso quando lo stato state termina la riproduzione. Se state è una macchina a stati impostata in modalità raggruppata, i suoi segnali vengono trasmessi con il suo nome come prefisso.

Se è presente una dissolvenza incrociata, questo segnale verrà attivato quando l'influenza dell'animazione di get_fading_from_node() non sarà più presente.


state_started(state: StringName) 🔗

Emesso quando lo stato state avvia la riproduzione. Se state è una macchina a stati impostata in modalità raggruppata, i suoi segnali vengono trasmessi con il suo nome come prefisso.


Descrizioni dei metodi

float get_current_length() const 🔗

Restituisce la durata dello stato attuale.

Nota: È possibile che qualsiasi AnimationRootNode possa essere dei nodi e animazioni. Ciò significa che ci possono essere più di un'animazione all'interno di un singolo stato. Quale durata d'animazione ha la priorità dipende dai nodi collegati al suo interno. Inoltre, se una transizione non viene ripristinata, la durata rimanente a quel punto sarà restituita.


StringName get_current_node() const 🔗

Restituisce lo stato di animazione attualmente in riproduzione.

Nota: Quando si usa una diffusione incrociata, lo stato attuale cambia allo stato successivo immediatamente dopo l'inizio della dissolvenza incrociata.


float get_current_play_position() const 🔗

Restituisce la posizione di riproduzione all'interno dello stato di animazione attuale.


StringName get_fading_from_node() const 🔗

Restituisce lo stato di partenza dell'animazione attualmente in dissolvenza.


Array[StringName] get_travel_path() const 🔗

Restituisce il percorso di viaggio attuale come calcolato internamente dall'algoritmo A*.


bool is_playing() const 🔗

Restituisce true se un'animazione è in riproduzione.


void next() 🔗

Se è presente un percorso di viaggio prossimo o avanzamento automatico, passa immediatamente dallo stato attuale al prossimo stato.


void start(node: StringName, reset: bool = true) 🔗

Inizia a riprodurre l'animazione fornita.

Se reset è true, l'animazione è riprodotta dall'inizio.


void stop() 🔗

Interrompe l'animazione attualmente in riproduzione.


void travel(to_node: StringName, reset_on_teleport: bool = true) 🔗

Passa dallo stato attuale a un altro, seguendo il percorso più breve.

Se il percorso non si collega dallo stato attuale, l'animazione sarà riprodotta dopo che lo stato si teletrasporta.

Se reset_on_teleport è true, l'animazione è riprodotta dall'inizio quando il viaggio causa un teletrasporto.