AnimationNodeStateMachineTransition
Hereda: Resource < RefCounted < Object
Una transición dentro de un AnimationNodeStateMachine que conecta dos AnimationRootNodes.
Descripción
La ruta generada al usar AnimationNodeStateMachinePlayback.travel() está limitada a los nodos conectados por AnimationNodeStateMachineTransition.
Puedes establecer el tiempo y las condiciones de la transición en detalle.
Tutoriales
Propiedades
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Señales
advance_condition_changed() 🔗
Emitida cuando advance_condition cambia.
Enumeraciones
enum SwitchMode: 🔗
SwitchMode SWITCH_MODE_IMMEDIATE = 0
Intercambia a el proximo estado inmediatamente. El actual estado terminara y se mezclara en el comienzo del nuevo.
SwitchMode SWITCH_MODE_SYNC = 1
Intercambia a el proximo estado inmediatamente, pero buscara el nuevo estado a la reproduccion de la posicion del antiguo estado.
SwitchMode SWITCH_MODE_AT_END = 2
Espera a que termine el actual estado en reproduccion, entonces intercambia con el principio de la proxima animacion.
enum AdvanceMode: 🔗
AdvanceMode ADVANCE_MODE_DISABLED = 0
No usar esta transición.
AdvanceMode ADVANCE_MODE_ENABLED = 1
Utiliza esta transición únicamente durante AnimationNodeStateMachinePlayback.travel().
AdvanceMode ADVANCE_MODE_AUTO = 2
Utiliza automáticamente esta transición si las comprobaciones de advance_condition y advance_expression son true (si están asignadas).
Descripciones de Propiedades
StringName advance_condition = &"" 🔗
void set_advance_condition(value: StringName)
StringName get_advance_condition()
Turn on auto advance when this condition is set. The provided name will become a boolean parameter on the AnimationTree that can be controlled from code (see Using AnimationTree). For example, if AnimationTree.tree_root is an AnimationNodeStateMachine and advance_condition is set to "idle":
$animation_tree.set("parameters/conditions/idle", is_on_floor and (linear_velocity.x == 0))
GetNode<AnimationTree>("animation_tree").Set("parameters/conditions/idle", IsOnFloor && (LinearVelocity.X == 0));
String advance_expression = "" 🔗
Usa una expresión como condición para las transiciones de la máquina de estados. Es posible crear condiciones complejas de avance de animación para cambiar entre estados y da una flexibilidad mucho mayor para crear máquinas de estados complejas al interactuar directamente con el código del script.
AdvanceMode advance_mode = 1 🔗
void set_advance_mode(value: AdvanceMode)
AdvanceMode get_advance_mode()
Determina si la transición debe ser deshabilitada, habilitada cuando se usa AnimationNodeStateMachinePlayback.travel(), o recorrida automáticamente si las comprobaciones de advance_condition y advance_expression son true (si están asignadas).
bool break_loop_at_end = false 🔗
Si es true, interrumpe el bucle al final del ciclo de bucle para la transición, incluso si la animación está en bucle.
Se prefieren las transiciones de menor prioridad cuando se viaja a través del árbol a través de AnimationNodeStateMachinePlayback.travel() o si advance_mode está configurado como ADVANCE_MODE_AUTO.
Si es true, la animación de destino se reproduce desde el principio cuando se cambia.
SwitchMode switch_mode = 0 🔗
void set_switch_mode(value: SwitchMode)
SwitchMode get_switch_mode()
El tipo de transicion.
Curva de suavizado para un mejor control del fundido cruzado entre este estado y el siguiente. Debe ser una Curve de unidad.
El tiempo para el fundido cruzado entre este estado y el siguiente.
Nota: AnimationNodeStateMachine transiciona el estado actual inmediatamente después del inicio del fundido. El tiempo restante preciso sólo puede inferirse de la animación principal. Cuando AnimationNodeOutput se considera como el más ascendente, el xfade_time no se escala dependiendo del delta descendente. Véase también AnimationNodeOneShot.fadeout_time.