Can I apply a mixamo animation to another model that has already been rigged?

I want to load and animate the rigged mixamo GLTF model separately for Body, Head, Arm, and other parts.

In this case, if all parts have the same animation data, the file size will become heavy.

So I want to have the animation in one file only. I want to use the same animation for the other parts.

Is this possible?

1 Like

did you try to just use another object as mixer argument

YES.I created bellow demo.
https://kidapu.com/a/forum/01-threejs-bone-anim/02-multi-gltf-anim.html

The body and nose models are separated.
The body and nose models have mixamo bones with the same name.
The nose model does not have any animation data.
I tried to play the nose animation using the body animation data, but it does not work.

This demo has an animation on the nose.
https://kidapu.com/a/forum/01-threejs-bone-anim/01-multi-gltf-anim.html

However, the file size of the model with animation is large. I would like to use animations from other models as much as possible.

I tried to use the SkeletonUtils.retargetClip(). However, I get an error.
https://kidapu.com/a/forum/01-threejs-bone-anim/03-multi-gltf-anim.html

See this example.
examples : Sharing Animation Clips - Three.js Tutorials

There are two different Mixamo models loaded and three separate animation clips. The models have the same bones.

I cloned the goofyrunning animation clip, then removed all tracks that are not related to the right arm. See the clonedRightArm buttons.

2 Likes

@seanwasere
Thank you! I referenced the demo on your site, it worked fine for me too!
https://kidapu.com/a/forum/01-threejs-bone-anim/04-multi-gltf-anim.html

This is the first time I have seen your site and it is very informative. Thank you very much.

1 Like

I got this system long time ago, but now I have a case where the model has different body proportion. The structures are very similar as they both use mixamoRig. But the animation, if shared, will produce strange movement (as expected, since they are different proportion).

If I try to use the retarget function from SkeletonUtils, this is what I get:

Meanwhile if I use the retargetClip function:

@etm @kidapu If your model have the same exact bones, you do not need SkeletonUtils.retarget() or SkeletonUtils.retargetClip(), just apply the animation clips from one model to the other. You only need SkeletonUtils.retarget() or SkeletonUtils.retargetClip() if you are trying to apply the animation to a model with different bones.