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

Hereda: AnimationNodeSync < AnimationNode < Resource < RefCounted < Object

Una transición dentro de un AnimationTree que conecta dos AnimationNode.

Descripción

Máquina de estados sencilla para casos que no requieren un AnimationNodeStateMachine más avanzado. Las animaciones pueden conectarse a las entradas y se pueden especificar los tiempos de transición.

Después de establecer la solicitud y cambiar la reproducción de la animación, el nodo de transición automáticamente borra la solicitud en el siguiente fotograma de procesamiento al establecer su valor transition_request como vacío.

Nota: Al usar un cross-fade, current_state y current_index cambian al siguiente estado inmediatamente después de que comienza el cross-fade.

# Reproducir la animación hija conectada al puerto "state_2".
animation_tree.set("parameters/Transition/transition_request", "state_2")
# Sintaxis alternativa (mismo resultado que arriba).
animation_tree["parameters/Transition/transition_request"] = "state_2"

# Obtener el nombre del estado actual (solo lectura).
animation_tree.get("parameters/Transition/current_state")
# Sintaxis alternativa (mismo resultado que arriba).
animation_tree["parameters/Transition/current_state"]

# Obtener el índice del estado actual (solo lectura).
animation_tree.get("parameters/Transition/current_index")
# Sintaxis alternativa (mismo resultado que arriba).
animation_tree["parameters/Transition/current_index"]

Tutoriales

Propiedades

bool

allow_transition_to_self

false

int

input_count

0

Curve

xfade_curve

float

xfade_time

0.0

Métodos

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)


Descripciones de Propiedades

bool allow_transition_to_self = false 🔗

  • void set_allow_transition_to_self(value: bool)

  • bool is_allow_transition_to_self()

Si es true, permite la transición al estado propio. Cuando la opción de reinicio está habilitada en la entrada, la animación se reinicia. Si es false, no sucede nada en la transición al estado propio.


int input_count = 0 🔗

  • void set_input_count(value: int)

  • int get_input_count()

El número de puertos de entrada habilitados para este nodo de animación.


Curve xfade_curve 🔗

  • void set_xfade_curve(value: Curve)

  • Curve get_xfade_curve()

Determina cómo se suaviza el fundido cruzado (cross-fading) entre animaciones. Si está vacío, la transición será lineal. Debe ser una Curve unitaria.


float xfade_time = 0.0 🔗

  • void set_xfade_time(value: float)

  • float get_xfade_time()

La duración del cross-fading (en segundos) entre cada animación conecta las entradas.

Note: AnimationNodeTransition transiciona el estado actual inmediatamente después de iniciar el fading. El tiempo restante exacto solo puede ser inferido de la ai¿nimación principal. Cuando AnimationNodeOutput es considerado el punto más alto, mientras el xfade_time no se escala en función del delta downstream. Véase también AnimationNodeOneShot.fadeout_time.


Descripciones de Métodos

bool is_input_loop_broken_at_end(input: int) const 🔗

Devuelve si la animación interrumpe el bucle al final del ciclo de bucle para la transición.


bool is_input_reset(input: int) const 🔗

Devuelve si la animación se reinicia cuando la animación pasa de la otra animación.


bool is_input_set_as_auto_advance(input: int) const 🔗

Devuelve true si el avance automático está habilitado para el índice de input dado.


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

Habilita o deshabilita el avance automático para el índice de input dado. Si está habilitado, el estado cambia a la siguiente entrada después de reproducir la animación una vez. Si está habilitado para el último estado de entrada, vuelve al primero.


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

Si es true, interrumpe el bucle al final del ciclo de bucle para la transición, incluso si la animación está en bucle.


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

Si es true, la animación de destino se reinicia cuando la animación realiza la transición.