PDA

View Full Version : Skin Weight Problem


Ziyun
11-07-2005, 10:49 AM
Hey everyone,

I'm new to using Maya 6.5, and I have no idea what is wrong with my skin weights. When I try and use the paint skin weight tool Maya does not remember the weight. So once I go back to joint that I was working on all the work I had done is reverted back to what it was originally. The odd part is that it only does this for some of the joints. Any ideas on what the problem could be?

john_homer
11-07-2005, 06:43 PM
this happens if you have "hold" on for some joints. this is not reflected in the display while painting, but is when updated (ie, it never changed the weights)

.j

Ziyun
11-08-2005, 04:49 AM
hi j,

I don't think I have hold on the joints. I've turned that option on and off, but the problem persists. Thanks for the tip though.

seven6ty
11-08-2005, 05:47 AM
Are your UV's unwrapped?

Ziyun
11-08-2005, 06:01 AM
yep, they're unwrapped

ruukki
11-08-2005, 07:42 AM
Hi, I've found that Maya usually "remembers" only added skin weights, and only positive values. At least I got it working properly only after I did all of it like that (well, smoothing seems to work too). Explanation: I tried to add negative values to some joint, and after I switched on to painting another joint, the values of the first joint were back or somewhere in-between. So then, if I need a joint to have zero influence on a certain area, I'll paint more influence for another joint(s) until it's fixed. It seems the longer way around but in practice - well, you know already.

If you need to substract a really serious amount of influence on a limb that needs no influence from a certain joint, or, for instance, fingers, which can mess each other up, use the component editor. Pick the vertices that you don't want influenced at all by a certain joint (also works if you want to smooth things more precisely), open component editor, and just fix the values under Smooth skins tab. It works very well, I've noticed.

kryoboy
11-08-2005, 12:02 PM
first of all.. dont ever subtract weights!!!

When you subtract or smooth weights maya needs to put the values removed somwhere else on the body.. and this could become a quite serious mess!

Soo.. your wondering how do i subtract the weights ? Heres an easy one for you.

Lock all the joints except the one you want to subtract and a joint where you want the values to go!

you can Then add on the joint you want the value to go to.. and therefore subtracting the value from the original joint u wanted subtracted.

or subtract from the joint u want the value to be removed.. and maya has no other option than to put the value into the other joint that is unlocked.

Few pointers to remember and a tip or two.

Get Comets skin wieghts v1.01. It will allow you to lock all joints at once.. select joints effected by a vertice or group of.. and unlock just those to work with. Has a nice slider to tweak with, and input like mayas editor.

Never subtract weights unless you have made the decision for maya on where to weights are to be transfered.

john_homer
11-08-2005, 06:03 PM
Never subtract weights unless you have made the decision for maya on where to weights are to be transfered.

thats good advice.. I second that.


Get Comets skin wieghts v1.01. It will allow you to lock all joints at once..

or you could just throw this on a shelf... select the surface (or some components of the surface) and click it...
NOTE: set $val to on of off, to have it turn the holds on or off...


// ON OR OFF
int $val = 1;

// GET THE JOINTS IN THE SKIN CLUSTER
// ON THE SELECTED OBJECT
string $sel[] = `ls -sl`;
string $history[] = `listHistory $sel[0]`;
string $clusterName[] = `ls -type skinCluster $history`;
string $infs[] = `skinCluster -q -inf $clusterName[0]`;

for ($current in $infs)
{
setAttr ($current + ".liw") $val;
}
// UPDATE COMPONENT EDITOR
compEdMenuCmd CEMIAutoUpdate componentEditorPanel1WindowComponEditor;

utpal
11-13-2005, 05:47 PM
i third what kryoboy has said. i used to make mistake of subtracting, and sometimes, i even turned the brush value to 0 and clicked flood :argh: thankfully those days are past....but, i still hate skinning...
mr. homer, can you elaborate a bit on your script? i am a MEL illiterate.... :banghead:

john_homer
11-13-2005, 06:01 PM
just drop the script on your shelf or hotkey..

select a skinned surface and run it to turn hold ON for all joints that it is skinned to.

have another version of the script where the first line is int $val = 0; rather than int $val = 1; and it will turn hold OFF for all the joints.

.j

utpal
11-13-2005, 08:40 PM
Ahh, makes sense now..
thanks for the script.
i am making a model right now, and it will come to skinning in few days. so, your script comes in just the right time..

kryoboy
11-14-2005, 12:06 AM
nice script, but i still prefet comets tool, because u can select vertices and it can select all joints effecting, unlock them, and remove all weights not needed..

like if you are paint the legs, and u select the verts around the leg.. u can lock all joints, and unlock all joints that effect selected verts, go to the chin joint type 0 for weights, lock it and go down to next joint, type 0 and lock.. untill you are down to the two joints that you want to be affecting the weights.


or whatever way you want to do it.. i just really like the fact i can have it heighlight all the joints that are effeting selected verts,

DIGICHIU
12-12-2005, 03:38 AM
I used to have a lot of problem with weight painting, but my friend just taught me this useful method recently that I think is quite effective. What you need to do is before you start weight painting, "HOLD" all the joints, after that, "un-hold" the joints that you want to weight paint that are in relation to each other, for example,if you are weight painting the elbow, you want to turn on "hold" on every joints except "elbow joints", "forearm joint" and "upper arm joint"
after you finished, BE SURE to "hold" it again so it won't shift weight. One problem is for some reason, in Maya, whenever you use "smooth" tool, it distribute out to all the joints in the body that are not "hold", so make sure that your joints are "un-hold" only when you are weight painting that specific area.


hope this helps.
-------------------------------------------------------------------------------------
I don't think I have hold on the joints. I've turned that option on and off, but the problem persists. Thanks for the tip though.[/QUOTE]

_vine_
12-13-2005, 01:05 AM
Just thought I would chime in one this thread.

I found this mentioned:
Lock all the joints except the one you want to subtract and a joint where you want the values to go!

I don't know how much skin weighting every here has done in 6.5, but it is pretty well know that weight normalization is broken in Maya 6.5. Sometime holding weights doesn't work at all. Following the above advice may send weights all over your skeleton instead of to just the unheld destination joint. I find a common occurence is that I'll try to flood my root joint with 1.0 using "replace" as my first step in binding, only to find the root received .990 and every other joint .001 or .01. Continuously clicking flood will not add any weights at all to the root joint.

You can find quite a few tools around here to help keep 6.5's binding problems to a minimum, but I would suggest downgrading to 6.0 for binding, or upgrading to 7.0. I only suggest this because it is a problem known to even Alias' technical support, and the same advice they gave me.

I hope this helps.

kryoboy
12-13-2005, 10:35 AM
i wasnt aware of the issue, but then again i went from 6.0 to 7.0

MauricioArias
12-13-2005, 05:16 PM
Yea, they are right.....
For me, the best way it works, is go from the outside in...
Start from the fingers throw all the unnessary weight trow it in the the stomach
after you've got it completed Place a Hold on the certain ARM...
Continue to the next arm and then legs... trow it all the in the middle..
after that take some of that weight of the stomach and toss in the head...
after that is done.. place a hold on the stomach and the just Fill the HEAD with Weight
instead of trying to take off weight Fill it up with max weight....

Let me knw if it makes sence and helps you out...

---Maurice

CGTalk Moderation
12-13-2005, 05:16 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.