AnimationNodeStateMachineTransition
Eredita: Resource < RefCounted < Object
Una transizione all'interno di un AnimationNodeStateMachine che collega due AnimationRootNode.
Descrizione
Il percorso generator quando si utilizza AnimationNodeStateMachinePlayback.travel() è limitato ai nodi collegati da AnimationNodeStateMachineTransition.
Puoi impostare la tempistica e condizioni della transizione in dettaglio.
Tutorial
Proprietà
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Segnali
advance_condition_changed() 🔗
Emesso quando advance_condition è cambiato.
Enumerazioni
enum SwitchMode: 🔗
SwitchMode SWITCH_MODE_IMMEDIATE = 0
Passa subito allo stato successivo. Lo stato attuale terminerà e verrà fuso all'inizio del nuovo stato.
SwitchMode SWITCH_MODE_SYNC = 1
Passa immediatamente allo stato successivo, ma cercherà il nuovo stato alla posizione di riproduzione del vecchio stato.
SwitchMode SWITCH_MODE_AT_END = 2
Attende il termine della riproduzione dello stato attuale, poi passa all'inizio della prossima animazione di stato.
enum AdvanceMode: 🔗
AdvanceMode ADVANCE_MODE_DISABLED = 0
Non usare questa transizione.
AdvanceMode ADVANCE_MODE_ENABLED = 1
Utilizza questa transizione solo durante AnimationNodeStateMachinePlayback.travel().
AdvanceMode ADVANCE_MODE_AUTO = 2
Utilizza automaticamente questa transizione se le verifiche di advance_condition e advance_expression sono pari a true (se assegnati).
Descrizioni delle proprietà
StringName advance_condition = &"" 🔗
void set_advance_condition(value: StringName)
StringName get_advance_condition()
Attiva l'avanzamento automatico quando questa condizione è impostata. Il nome fornito diventerà un parametro booleano nell'AnimationTree che può essere controllato in codice (vedi Utilizzo dell'AnimationTree). Per esempio, se AnimationTree.tree_root è un AnimationNodeStateMachine e advance_condition è impostato a "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 un'espressione come condizione per le transizioni della machina a stati. È possibile creare condizioni complesse di avanzamento d'animazioni per passare tra vari stati, e permette una maggiore flessibilità nella creazione di macchine a stati complesse, interfacciandosi direttamente con il codice di script.
AdvanceMode advance_mode = 1 🔗
void set_advance_mode(value: AdvanceMode)
AdvanceMode get_advance_mode()
Determina se la transizione dovrebbe essere disattivata, abilitata quando si utilizza AnimationNodeStateMachinePlayback.travel(), o attraversata automaticamente se le verifiche di advance_condition e advance_expression sono pari a true (se assegnati).
bool break_loop_at_end = false 🔗
Se true, interrompe la ripetizione alla fine del ciclo per la transizione, anche se l'animazione è in ripetizione.
Le transizioni di priorità più basse sono preferite quando si viaggia attraverso l'albero tramite AnimationNodeStateMachinePlayback.travel() o advance_mode è impostato su ADVANCE_MODE_AUTO.
Se true, l'animazione di destinazione è riprodotta dall'inizio quando avviene il passaggio.
SwitchMode switch_mode = 0 🔗
void set_switch_mode(value: SwitchMode)
SwitchMode get_switch_mode()
Il tipo di transizione.
Curva di allentamento per un miglior controllo sulla dissolvenza incrociata tra questo stato e quello successivo. Dovrebbe essere una Curve unitaria.
Il tempo per attraversare tra questo stato e il successivo.
Nota: AnimationNodeStateMachine 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.