Browse Source

Fixed Animation Playback Track not seeking properly

Fixes #38093.
Espeute Clement 5 years ago
parent
commit
aa72af4f46
1 changed files with 2 additions and 1 deletions
  1. 2 1
      scene/animation/animation_player.cpp

+ 2 - 1
scene/animation/animation_player.cpp

@@ -737,7 +737,7 @@ void AnimationPlayer::_animation_process_animation(AnimationData *p_anim, double
 					if (anim->has_loop()) {
 						at_anim_pos = Math::fposmod(p_time - pos, (double)anim->get_length()); //seek to loop
 					} else {
-						at_anim_pos = MAX((double)anim->get_length(), p_time - pos); //seek to end
+						at_anim_pos = MIN((double)anim->get_length(), p_time - pos); //seek to end
 					}
 
 					if (player->is_playing() || p_seeked) {
@@ -765,6 +765,7 @@ void AnimationPlayer::_animation_process_animation(AnimationData *p_anim, double
 							}
 						} else {
 							player->play(anim_name);
+							player->seek(0.0, true);
 							nc->animation_playing = true;
 							playing_caches.insert(nc);
 						}