Problem with rigging clothes

I’m trying to rig clothing for a character, but I’m having a weird problem with automatic bone weights: while the “outside” seems to get painted pretty much perfectly, the “inside” acts as though the bones have a much lower strength, so quite a bit of it ends up with a weight of 0, and therefore remains in place when the armature moves.

For example, this is what happens to the sleeve:


I’ve double-checked the normals, made sure there are no coincident vertices, and so on. (I’d just delete the inside, but I do need the clothing to have visible thickness, and the (differently textured) lining will have to be visible from time to time.)

What am I doing wrong?

It won’t fix your exact problem (the weight painting) but I usually use the mesh deform modifier when dealing with clothes on a model.

Does the cloth need to have thickness?

Usually, if a character is wearing clothing, the cloth has no thickness (it’s a single ‘layer’ of faces, just the side of the cloth facing outward) and the parts of the character mesh covered by the cloth are also removed. So, if you have a shirt with sleeves that come down to the wrists, for example, the character itself will have no arm meshes above the wrist.

Will that work if there’s also a cloth modifier on parts of the clothing?

I’m afraid so, for two reasons:

First, I’m trying to make it look as much as possible like a physical stop-motion puppet. Without some thickness to the edges of the clothing, its CG nature is a bit obvious in close-ups.

And second, it’s got a lining with a different texture (which I guess is still part of making it look as real as possible). If there’s a way to texture two sides of the same geometry differently, I’ve been unable to find it with Google - everything I’ve found suggests duplicating the geometry, offsetting it slightly, and applying different textures to each copy.

I suppose I could remove the interior bits of it that won’t have a cloth modifier applied, but I’ll still need the torso and arm meshes underneath so that the cloth parts have something to collide with (my attempts at manually producing the folds and wrinkles in the fabric as the joints bent didn’t turn out very convincing).

try something, delete everything of the interior and add a solidify modifier after your armature modifier and in last a Subsurf modifier. It should do what you want.

Mathias.

you can even put different material on the ream and the inside!

Yes. See this tutorial:

Well, that was how I created the interior in the first place, but I applied the modifiers because I couldn’t figure out how to apply a different material to it - when I enter Edit mode, I can only select the original vertices, not the ones created by the modifiers. So how does one go about applying a material to those vertices? (Actually, just a subset of them, as clothing linings don’t typically go all the way out to the edge.)

Splendid, thanks!

for the material, with the solidify, you put 3 material on your object then in modifier you change Material index offset.
for example if your outside material is 0, then you can put 1 for the inside and 2 for the Rim. and I think they us the same UV that the outside so that you can make is create a texture that won’t go all the way out to the edge.