2
0
Эх сурвалжийг харах

StateMachine: Fix sync mode

Guilherme Felipe 6 жил өмнө
parent
commit
d35eae166c

+ 3 - 3
scene/animation/animation_node_state_machine.cpp

@@ -440,13 +440,13 @@ float AnimationNodeStateMachinePlayback::process(AnimationNodeStateMachine *sm,
 
 		bool goto_next = false;
 
-		if (switch_mode == AnimationNodeStateMachineTransition::SWITCH_MODE_IMMEDIATE) {
-			goto_next = fading_from == StringName();
-		} else {
+		if (switch_mode == AnimationNodeStateMachineTransition::SWITCH_MODE_AT_END) {
 			goto_next = next_xfade >= (len_current - pos_current) || loops_current > 0;
 			if (loops_current > 0) {
 				next_xfade = 0;
 			}
+		} else {
+			goto_next = fading_from == StringName();
 		}
 
 		if (goto_next) { //loops should be used because fade time may be too small or zero and animation may have looped