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¶
Inherits: Resource < RefCounted < Object
A transition within an AnimationNodeStateMachine connecting two AnimationRootNodes.
描述¶
The path generated when using AnimationNodeStateMachinePlayback.travel is limited to the nodes connected by AnimationNodeStateMachineTransition.
You can set the timing and conditions of the transition in detail.
教程¶
属性¶
|
||
|
||
|
||
|
||
|
||
|
||
|
信号¶
advance_condition_changed ( )
Emitted when advance_condition is changed.
Enumerations¶
enum SwitchMode:
SwitchMode SWITCH_MODE_IMMEDIATE = 0
Switch to the next state immediately. The current state will end and blend into the beginning of the new one.
SwitchMode SWITCH_MODE_SYNC = 1
Switch to the next state immediately, but will seek the new state to the playback position of the old state.
SwitchMode SWITCH_MODE_AT_END = 2
Wait for the current state playback to end, then switch to the beginning of the next state animation.
enum AdvanceMode:
AdvanceMode ADVANCE_MODE_DISABLED = 0
Don't use this transition.
AdvanceMode ADVANCE_MODE_ENABLED = 1
Only use this transition during AnimationNodeStateMachinePlayback.travel.
AdvanceMode ADVANCE_MODE_AUTO = 2
Automatically use this transition if the advance_condition and advance_expression checks are true (if assigned).
Property Descriptions¶
StringName advance_condition = &""
void set_advance_condition ( StringName value )
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 = ""
Use an expression as a condition for state machine transitions. It is possible to create complex animation advance conditions for switching between states and gives much greater flexibility for creating complex state machines by directly interfacing with the script code.
AdvanceMode advance_mode = 1
void set_advance_mode ( AdvanceMode value )
AdvanceMode get_advance_mode ( )
Determines whether the transition should disabled, enabled when using AnimationNodeStateMachinePlayback.travel, or traversed automatically if the advance_condition and advance_expression checks are true (if assigned).
int priority = 1
Lower priority transitions are preferred when travelling through the tree via AnimationNodeStateMachinePlayback.travel or advance_mode is set to ADVANCE_MODE_AUTO.
bool reset = true
If true
, the destination animation is played back from the beginning when switched.
SwitchMode switch_mode = 0
void set_switch_mode ( SwitchMode value )
SwitchMode get_switch_mode ( )
The transition type.
Curve xfade_curve
Ease curve for better control over cross-fade between this state and the next.
float xfade_time = 0.0
The time to cross-fade between this state and the next.