Swap skeleton while keeping weighting?


#1

I have a rig here built by someone else that I’d like to make some modifications to so that it’s more optimized for exporting to a game engine. Ideally what I want to do is transfer the skinning of the mesh to a new copy of the skeleton from the source skeleton. I know how to copy weights from one mesh to another but not how to do it from one skeleton to another, is it possible?

What complicates it a little is that ideally I’d like to transfer the weights to a ‘cleaner’ version of the skeleton, right now the original has a bunch of groups and effectors in it and the skeleton I’d like to transfer to should ideally just be one clean hierarchy with just joints.

Any ideas appreciated, I’m pretty comfortable with MEL but a little stuck to find a starting point for this.

Cheers,
Brian


#2

Brian,

Have you tried using Animation > Skin > Edit Smooth Skin > Copy Skin Weights? I think that should do the job.

Cheers, Nureth


#3

Hi Nureth, as I understand it the Copy Skin Weights command will only copy the weighting from one mesh to another, what I want to do is almost the opposite, I want to replace the skeleton, not the mesh.

To clarify, say I have a mesh that is bound to ‘Skeleton A’. Now I have a new ‘Skeleton B’ which has the same joints as Skeleton A but they are in a cleaner hierarchy (Skeleton A has group nodes and other transforms in there that I don’t want, Skeleton B is optimized for export as it contains only joints).

What I want to do is ‘rebind’ the existing mesh to Skeleton B while taking the weighting information from Skeleton A so I don’t have to weight paint from scratch again.

Cheers,
Brian


#4

Brian,

Ok, sorry for the misunderstanding. I did some searching, and I think this might help.
http://forums.cgsociety.org/archive/index.php/t-708255.html

Cheers, Nureth


#5

Thanks Nureth, that might do the trick. I had hoped to find a method of just copying the skin information from one joint to the equivalent in another skeleton with MEL inside the same Maya scene but this might work just as well, I’ll get to testing it!

Cheers,
Brian


#6

If the joints are named the same in the two skeletons then you can do that with Maya’s copy weights. You will need to make a copy of the mesh and skin it to the new skeleton and then use copy weights.

If the new skeleton and mesh are named the same and have the same vert order you can export the skinCluster weights from the deformer menu. Then delete the original skeleton and skint he mesh to the new skeleton and then import the weightMap. This will give the exact same weights to the same verts and joints.


#7

Many thanks, that sounds like a good way to achieve it, I’ll give it a try.

Cheers,
Brian


#8

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.