How to blend fbx and glb animations

I’m controlling a GLB animation manually using AnimationMixer.setTime() so that the animation progress is tied to scroll position.

mixer.setTime(clip.duration * progress);

Here, progress is a value between 0 and 1, (which allows the animation to play forward when scrolling down and reverse when scrolling up). This works well when I have a single animation.

Now I want to play a second animation (from an FBX file) after the first one, and when transitioning between the two animations, I want to crossfade smoothly.

The problem is that crossfading normally relies on AnimationAction.play() and time-based updates, but my first animation is being driven manually via setTime().

1 Like

Just get the clips from the FBX import and add them to the first mixer you already have. All the pieces are composable, and in the same format (doesn’t matter if the clips came from a GLTF file or a FBX file, they’re the same format on the Three.js side), so you can move them around. In the same way you added clips to the first mixer, just add more clips from wherever else you get them from.