I wrote a script to do exactly this at a previous job. I am afraid that there is no way to do this otherwise. Unless something has been updated in latest version of maya or someone knows a clever trick. For your sake I hope to be proven wrong. Good luck!
I wish I had maya on my personal pc so I can give this a go, but maybe you can give this a try? So basically dup and merge all the meshes, reskin to the same joints and then transfer?
You could save the weights as layers in ngSkinTools on 01 and 02, and then transfer from there. Then on the target geo (which has all of 01 and 02 joints in the skinCluster), you’ll have two separate layers, and then it’s just a matter of painting a mask on the second layer to isolate the face area and paint a gentle blending between the two if needed.
Dup and merge skinning would work too, except it sounds like 01 and 02 are the same geo, in which case it won’t really work. There is nothing to “merge”.
Otherwise yeah, scripting works too. It doesn’t have to be an extremely fancy script. Just use a simple script to copy weights to a component selection that corresponds to the separate areas. But this works better when you’re copying to clean separate poly shells. Since this seems to be one body, I’d use ngSkinTools.
RE: ngSkinToools
That could work (i.e. isolate the face area) but its not really robust especially if I’m merging weights other than face and body. That is merging weights that doesn’t have a clear separation.
RE: Transfer Skin Weights
I actually did this above as part of brute force but failed to mention it.
It doesn’t really work since if the joint name doesn’t match, it will click the closest joint to match to.
Or so I believe haha.
So I usually don’t open the option dialog box on commands (Totally my bad). The video showed that and it seems like there is another option that fits my needs. Mainly to match based on name. This solves my problem if there is a joint name mismatch.
I don’t have to paint things out. Of course, the more direct solution is scripting since its literally copying weights point per point. But this works so far.
Thanks again for the insights! Helped me to rethink what I know so far.
Why wouldn’t it have a clear separation? Presumably the face skinning has some kind of a head joint too? In the face layer, cut that influence away, and you’ll have a perfect seam. The head will come from the body. All the face joints will come from the face.
“Painting a blend” was a bad suggestion on my part. But if you cut away the face head, you should have a 100% perfect match with zero loss to your face joints.