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.

AnimationNodeTransition

Eredita: AnimationNodeSync < AnimationNode < Resource < RefCounted < Object

Una transizione all'interno di un AnimationTree che collega due AnimationNode.

Descrizione

Macchina a stati semplice per i casi che non richiedono un AnimationNodeStateMachine più avanzato. Le animazioni possono essere collegate agli ingressi e i tempi di transizione possono essere specificati.

Dopo aver impostato la richiesta e cambiata la riproduzione dell'animazione, il nodo di transizione cancella automaticamente la richiesta al prossimo frame di processo svuotato il suo valore di transition_request.

Nota: Quando si usa una dissolvenza incrociata, current_state e current_index cambiano allo stato successivo immediatamente dopo l'inizio della dissolvenza.

# Riproduce l'animazione figlia collegata alla porta "state_2".
animation_tree.set("parameters/Transition/transition_request", "state_2")
# Sintassi alternativa (stesso risultato di sopra).
animation_tree["parameters/Transition/transition_request"] = "state_2"

# Ottiene il nome dello stato attuale (di sola lettura).
animation_tree.get("parameters/Transition/current_state")
# Sintassi alternativa (stesso risultato di sopra).
animation_tree["parameters/Transition/current_state"]

# Ottiene l'indice dello stato attuale (di sola lettura).
animation_tree.get("parameters/Transition/current_index")
# Sintassi alternativa (stesso risultato di sopra).
animation_tree["parameters/Transition/current_index"]

Tutorial

Proprietà

bool

allow_transition_to_self

false

int

input_count

0

Curve

xfade_curve

float

xfade_time

0.0

Metodi

bool

is_input_loop_broken_at_end(input: int) const

bool

is_input_reset(input: int) const

bool

is_input_set_as_auto_advance(input: int) const

void

set_input_as_auto_advance(input: int, enable: bool)

void

set_input_break_loop_at_end(input: int, enable: bool)

void

set_input_reset(input: int, enable: bool)


Descrizioni delle proprietà

bool allow_transition_to_self = false 🔗

  • void set_allow_transition_to_self(value: bool)

  • bool is_allow_transition_to_self()

Se true, permette la transizione allo stesso stato attuale. Quando l'opzione di reset è attivata in ingresso, l'animazione è riavviata. Se false, non succede niente alla transizione allo stesso stato attuale.


int input_count = 0 🔗

  • void set_input_count(value: int)

  • int get_input_count()

Il numero di porte di ingresso abilitate per questo nodo di animazione.


Curve xfade_curve 🔗

  • void set_xfade_curve(value: Curve)

  • Curve get_xfade_curve()

Determina il modo in cui la dissolvenza incrociata tra le animazioni è allentata. Se vuoto, la transizione sarà lineare. Dovrebbe essere una Curve unitaria.


float xfade_time = 0.0 🔗

  • void set_xfade_time(value: float)

  • float get_xfade_time()

Tempo di dissolvenza incrociata (in secondi) tra ogni animazione collegata agli ingressi.

Nota: AnimationNodeTransition passa dallo stato attuale immediatamente dopo l'inizio della dissolvenza. Il tempo esatto rimanente può essere solo dedotto dall'animazione principale. Quando AnimationNodeOutput è considerato il più upstream, quindi il xfade_time non è scalato a seconda del delta downstream. Vedi anche AnimationNodeOneShot.fadeout_time.


Descrizioni dei metodi

bool is_input_loop_broken_at_end(input: int) const 🔗

Restituisce se l'animazione interrompe il ciclo alla fine del ciclo per la transizione.


bool is_input_reset(input: int) const 🔗

Restituisce se l'animazione si riavvia quando l'animazione passa dall'altra animazione.


bool is_input_set_as_auto_advance(input: int) const 🔗

Restituisce true se l'avanzamento automatico è abilitato per l'indice input indicato.


void set_input_as_auto_advance(input: int, enable: bool) 🔗

Abilita o disabilita l'avanzamento automatico per l'ingresso all'indice input indicato. Se abilitato, lo stato passa al prossimo stato in ingresso dopo aver riprodotto l'animazione una volta. Se abilitato per l'ultimo stato in ingresso, ritorna al primo stato.


void set_input_break_loop_at_end(input: int, enable: bool) 🔗

Se true, interrompe la ripetizione alla fine del ciclo per la transizione, anche se l'animazione è in ripetizione.


void set_input_reset(input: int, enable: bool) 🔗

Se true, l'animazione di destinazione è riavviata quando l'animazione passa.