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.
Checking the stable version of the documentation...
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
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
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 = &"" 🔗
void set_advance_condition(value: StringName)
StringName get_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)
GetNode<AnimationTree>("animation_tree").Set("parameters/conditions/idle", IsOnFloor && (LinearVelocity.X == 0));
String 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 🔗
void set_advance_mode(value: AdvanceMode)
AdvanceMode get_advance_mode()
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 🔗
Si true, brise la boucle à la fin du cycle de boucle pour la transition, même si l'animation boucle.
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.
Si true, l'animation de destination est lue depuis le début lors de la transition.
SwitchMode switch_mode = 0 🔗
void set_switch_mode(value: SwitchMode)
SwitchMode get_switch_mode()
Le type de transition.
Courbe d'atténuation pour un meilleur contrôle du fondu enchaîné entre cet état et le prochain. Devrait être une Curve unitaire.
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.