Procházet zdrojové kódy

TimeScale node: scale return value (time remaining).

Josh Grams před 9 roky
rodič
revize
2e1b1234a3
1 změnil soubory, kde provedl 4 přidání a 2 odebrání
  1. 4 2
      scene/animation/animation_tree_player.cpp

+ 4 - 2
scene/animation/animation_tree_player.cpp

@@ -637,10 +637,12 @@ float AnimationTreePlayer::_process_node(const StringName& p_node,AnimationNode
 		} break;
 		} break;
 		case NODE_TIMESCALE: {
 		case NODE_TIMESCALE: {
 			TimeScaleNode *tsn = static_cast<TimeScaleNode*>(nb);
 			TimeScaleNode *tsn = static_cast<TimeScaleNode*>(nb);
+			float rem;
 			if (p_seek)
 			if (p_seek)
-				return _process_node(tsn->inputs[0].node,r_prev_anim,p_weight,p_time,switched,true,p_filter,p_reverse_weight);
+				rem = _process_node(tsn->inputs[0].node,r_prev_anim,p_weight,p_time,switched,true,p_filter,p_reverse_weight);
 			else
 			else
-				return _process_node(tsn->inputs[0].node,r_prev_anim,p_weight,p_time*tsn->scale,switched,false,p_filter,p_reverse_weight);
+				rem = _process_node(tsn->inputs[0].node,r_prev_anim,p_weight,p_time*tsn->scale,switched,false,p_filter,p_reverse_weight);
+			return rem / tsn->scale;
 
 
 		} break;
 		} break;
 		case NODE_TIMESEEK: {
 		case NODE_TIMESEEK: {