I’ve been ripping my hair out over this.
So, when I apply automatic weights to the top and to the rig, it does this weird thing and I have no idea how to solve it. Any help is greatly appreciated.
Separate the cloth and use the automatic weight option on the body and cloth.
You can also separate them and use automatic weight on one of them and then use the data transfer modifier to copy the weights from one to the other…
I’ve tried this already and unfortunately this hasn’t solved the issue ![]()
As @ArtPomelo mentioned,
The Data Transfer Modifier can be used for that purpose. And Transfer Weights Operation < Armature Menu, is an equivalent technique in that regard (but need to configure settings in the Adjust Last Operation Region)
However, these methods can be tricky to get right everytime.
-
It’s better to set the whole Rigged Model in
Rest PositionRadio Button < Skeleton Panel < Properties Editor, before doing any Transfer of Weights between Mesh Objects. Because the Rest Position (or Binding Posed State) guaranties there will be World space matching of all the Meshes’ Vertices. -
For the simplest cases, of Transfer of Weights, it’s better to have the Cloth Mesh Object (which will receive the Weights from the Body Mesh Object) completely cleared out of Vertex Groups related to Deform Bones. So (in addition to Rest Position Radio Button), have all Vertex Groups Deleted of the Cloth Mesh before any new attempt.
-
Both Data Transfer Modifier and Transfer Weights have mostly equivalent settings. Besides the settings that were already considered, usually, the best results people say for such cases are with Vertex Mapping set to
Nearest Face Interpolated. Also, do not forget to set Source Layers Selection toBy Name(and also, don’t forget to Apply, in the case you’re using the Data Transfer Modifier approach). -
Then, of course, turn Radio Button to
Pose Positionin the end, to check the Rig.
If nothing here works despite the efforts, then you might need to consider, that the Puffy Sleeves of the Sweatshirt are too far away to receive Auto-Weights and/or Weights Transferring; in such case, alternatives such as manual Weight Painting to fix the Cloth Rig might be required, extra Cloth Bones as Helper Bones can help but usually are dedicated to even more complicated Cloth Designs, or, if you really want to try out something different, there exist in Blender this old system that apparently very few use, of Bone Envelope, that perhaps could work expanding the Auto-Weights to the further Vertices of the Sleeves, but in that case it would be Set Parent To Armature Deform With Envelope Weights (only for the Cloth Mesh Object). Bone Display Type should be set to Envelope, on Edit Mode, there is a Bone Envelope Tool [ Ctrl+Alt+S ] (stacking with Bone Size Tool) to adjust the Envelope which the the extension of the Auto-Weights it would generate. I have never use this method before; theoretically, it should be useful in cases like that though. I do not guarantie it would work seamlessly, because this is a Cloth Rigging problematic: it’s not simply about reaching all the Mesh of the Cloth, but of matching Cloth Weights with Body Weights in some valid ways.
For me it looks like armature has keyframed pose (arms were lowered), and the jacket’s “rest pose” doesn’t match rest pose of the armature. Not a failure of automatic weights (though they can be garbage sometimes)
Yes, excellent proposition.
I believe that could be the case actually.
Because many things can go wrong because of the freedom of Pose Position, this is why I started doing any Transfer of Weights for Cloth Rigging, in ‘full’ Rest Position only. I’m not sure if the same problematics, are equivalent to Auto-Weights as well --I think yes.

