问题
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.
回答1:
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 )
animationMixer = new THREE.AnimationMixer( obj )
animation = animationMixer.clipAction( obj.animations[ 0 ] )
animation.setLoop( THREE.LoopOnce )
animation.clampWhenFinished = true
animation.enable = true
animation.play()
})
I'm referring to ThreeJS r84
.
回答2:
Set the loop
property on the Animation
object to false.
documentation here: http://threejs.org/docs/#Reference/Extras.Animation/Animation
来源:https://stackoverflow.com/questions/33959167/play-animation-once-instead-of-looping-three-js