PDA

View Full Version : pruning weights


sliny
06-24-2003, 02:12 AM
I have a character I'm trying to rig but the arm joints are influencing the vertices in the cheek. I can solve this by just going into the component editor and selecting those verts and turning them to zero and holding the joint. This way works, but I looked in the Maya help library and found "pruning weights", that's supposed to reduce all weight values below a threshold down to zero. I tried using this but nothing seems to happen.

The library says to "select the skin or the specific skin points", but neither seems to have any effect. Can someone clarify how this tool is used, or if there is an even better way to get rid of all those slight weights distributed over the body?

misterdi
06-24-2003, 06:31 AM
What is your thershold value?.

Try to set it to higher value and do another prune.
What you should watch out is the way pruning and weight normalization work.

If you prune weight value (in other word set the weight to 0) then other influence will have their value increase so the total sum still goes to 1.0

So you might have as result, pruning one influence will affect weight value of other influence. Sometime it confusing me especially if the first distribution is not right/almost right.

My workflow usually will be paint weight tool first, remove all noticable wrong influence of joints (painted as black) then do pruning to clean it up more. Do another pass on painting the weight and if I'm happy then smooth out everything.

Best regards,

sliny
06-24-2003, 08:04 AM
The threshold value i am using is 0.1, which should be a good enough value to get rid of all the 0.004's in there. I tried painting now and pruning after, then I noticed that there were a few 0.004's lying around. So I pruned it, and this time something actually happened. The verts that were beneath the threshold actually moved, so that now my model is messed up...see below.

http://www.ocf.berkeley.edu/~sliny/badprune.JPG

misterdi
06-24-2003, 08:34 AM
Have you enable weight normalization?.

If you have enable, try normalize weight first.

Best regards,

sliny
06-24-2003, 09:58 AM
Oddly enough, it happens whether weight normalization is on or not.

misterdi
06-24-2003, 10:29 AM
Have you check which joint influencing that offending vertex?

Does it influence by any joint? Maybe you should paint the weight back to the nearest joint (finger joint).

Best regards,

sliny
06-24-2003, 10:50 AM
I checked which joint is influencing the vertex, which is why I know it's wrong. For instance, a certain vert is being influenced 0.04 by a joint it's not supposed to be influenced by. If I reduce that to zero through the component editor, it spreads the value out to other joints. If I set all the joints to zero for that vert, (and deactivate normalization), then what you see above happens. It also happens certain times when I try to prune the small influences away.

MDuffy
06-24-2003, 06:31 PM
Make sure that you don't have any influences locked (on "hold"). That will prevent pruning of small weights.

Cheers,
Michael Duffy
mduffy@ionet.net

misterdi
06-25-2003, 10:08 AM
Hmmm, that explain the spiky look on your model.

If all the weight goes to zero, don't you think maya just confused. She will say, what this guy want? Ok, you give me zero, I'll bring all that vertices to 0,0,0.

I think it's better to give value 1.0 to one of the finger joint, so she behave well. You give me 1.0 I'll go to that joint.

The reason why other influences weight change when you change one influence weight is call normalization, sum of all influence object should go 1.0

If you take influence out from spine joint 0.1, then make the sum to 1.0 maybe Maya will add 0.05 to pelvis joint and another 0.05 the left leg joint :rolleyes: . It will distribute the 0.1 value proportional to existing value contribute to that vertex.

Best regards,

CGTalk Moderation
01-15-2006, 12:00 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.