Rigify problem

Hi! I have this rig problem that’s been fraustrating me for days.

I use the rigify rig by the way. The problem is, as you see in the picture, the body mesh which is inside the clothes, does come outside of the clothes when it bends. Any tips solving this problem? I want the body mesh to stay inside the clothes when I move the bones

.


The classic solution is to use a mask to hide the body that is underneath the clothing. In some models, the body isn’t hidden, it is simply not even there.

If you are simulating the clothing over the body as a collision mesh, you can try increasing the quality of the simulation, but this will only minimize the problem, not eliminate it. If you go this route, you can always change your camera angles to not show the poke through. This will also tremendously increase the render time, which makes it problematic for animations, so you’re back to the classic solution.

Oh :frowning:

Never had any idea that this can be so tricky XD but I see some models that are perfectly rigged even the body is there.

Using a mask is the easiest route. I agree with Orinoco that it would be the best solution.

Using a deform modifier is another possibility. It’s a little more involved but it works well for clothing.

Example: https://www.youtube.com/watch?v=BucNKZuO6z8

Other tips for weighting clothing: https://www.youtube.com/watch?v=-dwCXMc2V0U A long tutorial, but many tips on adding bones to help autoweighting and other tricks to make clothing behave.

Good luck!

If the topology of the clothing and the underlying mesh is an exact match, and the weight painting is the same, it’s possible to have the clothing move in synch with the body mesh. You’ll still have problems around elbows and knees and shoulders in extreme positions, but this can be handled using shape keys, sometimes driven by bone angles or positions so the animator doesn’t have to worry about it.

That solution isn’t optimal, either, because the clothing doesn’t drape properly. It works with skin tight clothing because skin tight clothes don’t drape. With looser clothing, such as your character’s pants, having the clothes rigidly follow the underlying motion of the limbs won’t look right because of incorrect draping of the loose cloth. In a fast moving action sequence, this might not be visible, but, depending on the clothing design, it might be so obvious as to be a deal breaker.

Which solution to use depends on the type of clothing and how the character moves while wearing it. Skin tight clothing: tee shirts, leggings, swim suits, etc, probably work best using the copied body mesh and the same armature. Looser clothing when the character does not go into extreme poses, hide the body and let the clothing stand in for the body underneath. Loose, flowing clothing: capes, ball gowns, kimono sleeves, jackets, where there will be a lot of secondary motion, a separate rig just for the clothing, animated separately.

You are right: it is tricky. I don’t think there is a universal solution, at least, not one that renders fast enough to be useful.

I successfully manage to lessen the problem by weight transfer. But still, not really contented that much :frowning:

Thanks for the tip guys :smiley:

If you make a simplified version of the clothing that only approximates the volume and without any complex geometry, you can auto weight the simplified version and transfer the weights to the complex mesh. It works very well and you will get better deformations.

I used this method on the shirt in the pic below. Because the collar has normals facing different directions, it’s a pain to weight paint. Also, the shirt buttons and split front cause problems. Folds in the shirt sleeves are another problem area.


Good Luck!