with the backhand animation, there is a global translate that moves all the child objects along the y axis.
Either remove this in the original animation source,
or
you can find and remove the specific track using JavaScript after its loaded
I.e.,
after you load the J_Forced_Backhand.fbx
animation,
try deleting the relevant QuaternionKeyframeTrack
from the animations array.
It just so happens that it is the first QuaternionKeyframeTrack
in the animation array, so you can just
object.animations[0].tracks.shift()
If you can edit the original animation files, then I think that is the best solution. Its these translations that are conflicting with what you want it to do after you’ve loaded it in threejs.
Otherwise you have to hack all your animations one by one after you’ve loaded them.
I also noticed that the J_Run_F.fbx
also works better when you delete the first QuaternionKeyframeTrack