diff --git a/src/extras/animation/Animation.js b/src/extras/animation/Animation.js index 9cdb93819b1e4..7038e00c22b15 100644 --- a/src/extras/animation/Animation.js +++ b/src/extras/animation/Animation.js @@ -115,9 +115,10 @@ THREE.Animation.prototype.update = function ( delta ) { var duration = this.data.length; - if ( this.loop === true ) { + if ( this.loop === true && this.currentTime > duration ) { this.currentTime %= duration; + this.reset(); } @@ -230,8 +231,6 @@ THREE.Animation.prototype.update = function ( delta ) { if ( this.currentTime > duration ) { - this.reset(); - if ( this.loop === false ) { this.stop(); diff --git a/src/extras/animation/KeyFrameAnimation.js b/src/extras/animation/KeyFrameAnimation.js index 56bf998ac4444..ea77ef23217f2 100644 --- a/src/extras/animation/KeyFrameAnimation.js +++ b/src/extras/animation/KeyFrameAnimation.js @@ -178,7 +178,7 @@ THREE.KeyFrameAnimation.prototype.update = function ( delta ) { var duration = this.data.length; - if ( this.loop === true ) { + if ( this.loop === true && this.currentTime > duration ) { this.currentTime %= duration;