Rigify and the pinching

Hey guys, I’m using rigify to rig up a simple biped, and I’m getting this on twisting the upper_arm’s

http://davidra.net/theory/rigifytwist.png

We’ve racked our brains at the studio trying to figure it out. Unlocking the forearm and spreading the weighs has proven helpful. Anyone else have any ideas?

Would really need to see the file to see what’s going on. From the looks of the picture, you might be trying to pose the character in an almost ‘impossible’ way. For example, take a character in a t-pose - arms outstretched, palms facing down - and if you tried to make the palms face upwards by only rotating the upper arm, you’d probably get pinching like that. You’d probably have to rotate the upper arm some, the lower arm some, and the hand some too to achieve such a thing. Of course, topology and weight painting come into play as well.

But yeah, would really need to see the file to see the topology and how it’s being posed…

Randy

Have you spread the weight to both of the upper arm deformation bones? It seems weird that you’d get the twisting deformation in that exact place with a Rigify rig, unless all weight is on the second bone.

Now that I tried it out one of my rigify-characters (which actually turned out to have badly painted bones and the same twist)… when I tried to shift weight to the first upper arm deformation bone (DEF-upper_arm.L.01) I accidentally weight-painted the “rig bone” instead (upper_arm.L), so watch out for that if you don’t paint with only the DEF-layer visible.

I’ll post this up tomorrow, I’m curious what you guys think. Spreading the weight might work, but actually, how about the hand position? I had the hands facing down, should they be rigged facing forward?

The hand position (palms up or down) doesn’t matter really, what I meant by that was how you posed the character. Say the character is in a t-pose, palms facing down. Looking at your picture, if you are animating in FK, you could have posed him by rotating the forearm 90 degrees forwards, the rotating the upper arm 90 degrees upwards. If I do that with my Joe rig, this is the result:



Some pinching going on. To avoid this, starting at the t-pose, I again rotate the forearm forward 90 degrees, rotate the upper are 45 degrees upwards, then rotate the forearm another 45 degrees to achieve the same pose (more or less):


No pinching. (note the difference in the upperarm controller’s rotation)

As for topology, the other day I was looking at somebody’s model and it had severe pinching going on similar to yours, but it was at the hand/forearm joint. Careful weight painting corrected some of it, but in the end the real problem was the fact there was only one edge loop in that area. 3 edge loops in that area would allow more blending of the weight painting to eliminate the pinching.

But anyway, post up the model posed in that pose, and I’ll take a look at it.

Randy

This may seem like a silly question, but to you have something to simulate some thing like the clavicle/shoulder?

From the look in your 1st screen shot it doesn’t look like you have a controller for it. I only see a controller for the forearm and upper arm.

When you rotate your arm like that your humerus, clavicle & all that make up the scapula bone rotate, to let your arm move like you are wanting.

If this isn’t the problem, I apologize. :slight_smile:

Happy Blending

Ok so our team was able to re-rig it and change quite a bit. It deforms so much better. But you can find the old one here:

http://davidra.net/theory/clovis.blend

What was I doing wrong? This is my first attempt at using rigify so I know I’ve made mistakes.

A couple of things I noticed, but first, that’s not the same character in the same pose as your first post, so I can’t say what was wrong there. With this character, I noticed a few things… First off, if I rotate the upper arm 90 degrees so the palms of the hands are facing forwards, it pinches in the shoulder area again. I think a bit more careful weight painting might cure some of it and again, as I showed with my illustration, just don’t pose it in such extreme poses. If you must pose in extreme poses, then there are other methods for correcting the pinching problems. However, I firmly believe that good topology and careful weight painting can correct 90% of all problems, then if it’s still a problem, look to the other methods to correct the problems.

So after I rotated the upper arm and got the pinching, I rotated the lower arm in an attempt to match the pose in the pic you posted and there were more problems in the elbow area. Try it for yourself, just rotate the lower arm and look at how it deforms… It’s really bad and here’s what is causing the most of the problems:



In this screenshot, the blue dot is where the elbow joint is on your rig, according to the topology, the red dot is where the elbow joint should be. The two yellow lines indicate how I’d have those edge loops flow in that area, sort of spread out on the inside of the arm.

Did you weight paint this yourself, of just use auto weighting? When I rig a character, I create the basic rig & weight paint it by hand, auto-weighting is sloppy at best. Then I pose the character in extreme poses, and correct the weight paint as needed. As I add controllers & constraints to the basic rig & test them out, I’ll stumble across bad deformations again, so it’s back to weight painting again to correct the problems. So basically, the entire time I’m rigging, I’m refining the weight painting. In the end, I end up with a really good weight paint job.

Hope this helps,
Randy

Edit: I also noticed but forgot to mention that you’re not using the subsurface modifier on this character, that can help to smooth out problems as well.

Agree with revolt_randy. Although It’s significantly slower to weight a mesh to a rig by hand, via weight-paint or by assigning vertices directly to bones, it actually saves time due to much less clean-up afterwards.
When using auto-weighting I usually ended up going through vertex group by vertex group, bone by bone, in order to un-assign stray verts.

revolt_randy you nailed it on the head. We’re actively rebuilding the rig and getting it there, and I think this could help us significantly.
FXR, do you have any techniques you like to use?