I have exported blender JSON animation into THREE.js, everything works fine, but I want to play the animation only once and stop instead of looping the animation.
Old question, but in case anyone needs it the solution is to set animation.setLoop(THREE.LoopOnce)
let objLoader = new THREE.ObjectLoader();
objLoader.load('./your.json', function(obj)
{
scene.add(obj);
let animationMixer = new THREE.AnimationMixer(obj);
let animation = animationMixer.clipAction(obj.animations[0]);
animation.setLoop(THREE.LoopOnce);
animation.clampWhenFinished = true;
animation.enable = true;
animation.play();
})
I'm referring to ThreeJS r84
.
Set the loop
property on the Animation
object to false.
documentation here: http://threejs.org/docs/#Reference/Extras.Animation/Animation
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With