Transfer Weight Paint and/or Armatures

I realize this is probably ambitious and I won’t likely get what I want, but I wanna ask anyway. I have a model who is 6’ 4” and full of muscle. I have a scrawny model who is 5’ 1”. One of them has a perfect armature and the other has a perfect weight paint. Is there a way to translate armatures and/or weight paint between two models of differing sizes?

i find i get a better response when i add a picture

His armature is perfect, but I’m not so worried about that. Even though it took me a while to make the perfect armature for him, I can duplicate that to any one of my 50 characters in less than a minute.

Her weight paint is perfect, but it was a long tedious process that I don’t want to sit through for my other 50 characters, who all have a weight paint but hers I’m actually proud of.

Are they sharing the same topology?

Probably not. But you can try, if you want…

Copying armatures: Can you scale it in X, Y, Z to match the other model’s rest pose? Then do that, and apply scale. No? Then scale it as close as you can, then pose the armature to match the rest pose, then ctrl-a apply as rest pose, then apply scale on the armature object. You may need to clean up some constraints afterwards (stretch to comes to mind as one that breaks on this, you need to refigure rest lengths.)

When I mean, matching rest poses, I don’t just mean, they’re both T poses or whatever. I mean, the crotch is at the same level, the knees are at the same level and width, the shoulders are at the same level and width, etc. You’ll probably need to do some bone scaling, which may mean unlocking transform channels on some rigs.

But doing all that isn’t much different than just making a new rig anyways…

Copying weights: probably not going to work well. Get the model with good weights on a rig. Do the same transformations to your rig as above, to match rest poses, but don’t apply anything. When models have matching rest poses, you can use a data transfer modifier to copy weights (on nearest face interpolated) from one model to the other.)