Copy weights from separate objects but same armature w/out copying bone connections to the weights?

Good day. I apologize if this is a super common thing and I just didn’t know how to word it when searching, but I couldn’t find anything online to fix my problem. For a character, I am transferring weights for different pieces of clothing (shirt, pants, etc. that are separate objects) and it’s all well and good; Transfer Weights for clothing works as intended.

The problem is that I manually adjusted one of the character’s shoes to look more realistic as I move its controlling bone, but because the two shoes are separate objects, I don’t know how to properly copy the tweaks that I made from one shoe to the other. I tried using Transfer Weights and the Data Transfer modifier with the topology setting to copy the vertex groups from the tweaked shoe to the un-tweaked one, but what ends up happening is the bone that controls the tweaked shoe now also affects the shoe that the vertex groups were copied to… Hopefully that makes sense.

So how can I copy the weights from the shoe I tweaked to the other shoe without also copying the bone attachments? In other words, how can I copy weights from one object to another, using the same armature, but using different bones with those copied weights?

Vertex groups are assigned to bones on the basis of their name. Just rename the vg with the name of the bone you want it affected by.

1 Like

I knew it was something simple! Thank you so much for your quick response.

What ended up working, for anyone interested, was this: In the object’s Data tab I deleted all of the unnecessary vertex groups from the good tweaked shoe, called Shoe.L (I did this in Weight Paint mode because it made the “heat” of painted weights from a vertex group visible) > I used the Data Transfer modifier on Shoe.R > checked Vertex Data > set the Vertex Mapping method to Topology > selected the “Vertex Group(s)” option (All Layers, By Name) > I clicked Generate Data Layers (this step may not be necessary) > I applied the modifier.

What this ended up doing was creating two sets of vertex groups with weights on the same shoe, the good copied ones (from Shoe.L) and the unwanted original ones. The problem now was that the unwanted set of vertex groups were named things like foot.R, toe.R, heel.R, etc., which were assigned to the desired bones, and the new set was named things like foot.L, toe.L, heel.L, etc. Looking in Weight Paint Mode while clicking them, I could see that “foot.L” was the good one and “foot.R” was the unwanted original one. To fix the situation, I first deleted all the original ones (foot.R, toe.R, etc.) and then renamed all the ones ending in “.L” to end in “.R” [note: there were some stragglers, so when I tried to rename some of them to “.R” they were changed to something like “foot.R.001” because vertex groups cannot have the same name. This let me know to delete one of them].

Now, as Hadriscus said, because the vertex groups are named after the corresponding bones, the desired bone now worked with the desired new vertex groups. Thanks again!

As a future work flow buff. When renaming results in a .001 name renaming it again will force the name change and rename the old duplicate to .001. That way you can power through all the renaming, then use the name filter set to “.001” and delete all the old duplicates at one.

1 Like