How to Implement Bone-Specific Animation Weighting in Three.js?

Hello everyone,

I’m currently working on a Three.js project where I need to blend different animations on a character model based on specific bones. My goal is to have a character running with a full-body running animation while simultaneously playing an upper-body animation (like holding a weapon) that only affects the upper body bones. This is somewhat similar to the Layered Blend per Bone in Unreal Engine or the Avatar Mask in Unity.

Here’s what I’m trying to achieve:

The lower body bones should continue the running animation.
The upper body bones should transition to a weapon holding animation, overriding the running animation just for those bones.
I’ve considered using multiple AnimationMixers, one for each group of bones (upper and lower), but I am unsure if this is the best approach, or even if there is a direct method in Three.js to specify animation weights per bone.

Does anyone have experience with this, or can you suggest how to achieve such a bone-specific animation control in Three.js? Any example codes or guidance would be greatly appreciated.

Thank you!