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.

AnimationNodeStateMachineTransition

Hérite de : Resource < RefCounted < Object

Une transition dans un AnimationNodeStateMachine reliant deux AnimationRootNodes.

Description

Le chemin généré lors de l'utilisation de AnimationNodeStateMachinePlayback.travel() est limité aux nœuds connectés par AnimationNodeStateMachineTransition.

Vous pouvez définir le timing et les conditions de la transition en détail.

Tutoriels

Propriétés

StringName

advance_condition

&""

String

advance_expression

""

AdvanceMode

advance_mode

1

bool

break_loop_at_end

false

int

priority

1

bool

reset

true

SwitchMode

switch_mode

0

Curve

xfade_curve

float

xfade_time

0.0


Signaux

advance_condition_changed() 🔗

Émis quand advance_condition est changé.


Énumérations

enum SwitchMode: 🔗

SwitchMode SWITCH_MODE_IMMEDIATE = 0

Passe à l'état suivant immédiatement. L'état actuel se terminera et se fondra au début du nouveau.

SwitchMode SWITCH_MODE_SYNC = 1

Passe immédiatement à l'état suivant, mais cherchera le nouvel état à la position de lecture de l'ancien état.

SwitchMode SWITCH_MODE_AT_END = 2

Attend que la lecture de l'état actuelle se termine, puis passe au début de la prochaine animation de l'état.


enum AdvanceMode: 🔗

AdvanceMode ADVANCE_MODE_DISABLED = 0

N'utilisez pas cette transition.

AdvanceMode ADVANCE_MODE_ENABLED = 1

Utilisez seulement cette transition pendant AnimationNodeStateMachinePlayback.travel().

AdvanceMode ADVANCE_MODE_AUTO = 2

Utiliser automatiquement cette transition si les vérifications advance_condition et advance_expression valent true (s'ils sont affectés).


Descriptions des propriétés

StringName advance_condition = &"" 🔗

Active l'avance automatique lorsque cette condition est définie. Le nom fourni deviendra un paramètre booléen sur l'AnimationTree qui peut être contrôlé à partir du code (voir Utiliser AnimationTree). Par exemple, si AnimationTree.tree_root est un AnimationNodeStateMachine et advance_condition est défini à "idle" :

$animation_tree.set("parameters/conditions/idle", is_on_floor and (linear_velocity.x == 0)

String advance_expression = "" 🔗

  • void set_advance_expression(value: String)

  • String get_advance_expression()

Utilisez une expression comme condition pour les transitions d'automate. Il est possible de créer des conditions d'avancement d'animation complexes pour changer d'état et donne ainsi beaucoup plus de flexibilité pour créer des automates complexes en interfaçant directement avec des scripts.


AdvanceMode advance_mode = 1 🔗

Détermine si la transition doit être désactivée, activée lors de l'utilisation de AnimationNodeStateMachinePlayback.travel(), ou traversée automatiquement si les vérifications advance_condition et advance_expression valent true (si elles sont attribuées).


bool break_loop_at_end = false 🔗

  • void set_break_loop_at_end(value: bool)

  • bool is_loop_broken_at_end()

Si true, brise la boucle à la fin du cycle de boucle pour la transition, même si l'animation boucle.


int priority = 1 🔗

  • void set_priority(value: int)

  • int get_priority()

Les transitions les moins prioritaires sont préférées lorsque vous traversez l'arborescence via AnimationNodeStateMachinePlayback.travel() ou quand advance_mode est défini à ADVANCE_MODE_AUTO.


bool reset = true 🔗

  • void set_reset(value: bool)

  • bool is_reset()

Si true, l'animation de destination est lue depuis le début lors de la transition.


SwitchMode switch_mode = 0 🔗

Le type de transition.


Curve xfade_curve 🔗

  • void set_xfade_curve(value: Curve)

  • Curve get_xfade_curve()

Courbe d'atténuation pour un meilleur contrôle du fondu enchaîné entre cet état et le prochain. Devrait être une Curve unitaire.


float xfade_time = 0.0 🔗

  • void set_xfade_time(value: float)

  • float get_xfade_time()

Le temps du fondu enchaîné entre cet état et le prochain.

Note : AnimationNodeStateMachine transitionne de l'état actuel immédiatement après le début du fondu. Le temps restant précis ne peut être déduit que de l'animation principale. Si AnimationNodeOutput est considéré comme le plus en amont, le xfade_time n'est pas échelonné selon le delta de l'aval. Voir aussi AnimationNodeOneShot.fadeout_time.