PDA

View Full Version : Skin Weights: Poly reduction causes random reweighting


goldenchild
08-25-2005, 01:58 AM
Hi,

I've got an issue with skin weights and poly reduction on a skinned model and I was hoping someone had an easy solution. After collapsing an edge, the newly positioned vert gets a skin weight assignment to a random joint that is nowhere near the vicinity of the original verts (ie. the verts on the head previously assigned a 1.0 weight to the 'head' joint get reassigned to the 'knee' joint). I would make sense that the new vert would inherit the combined weight of its 'predecessors', or if not, its immediate neighbors, but this isn't happening.

In most cases the head verts would get reassigned to the knee joint. Attempting to zero out the knee influence within the component editor moves that assignment to the thigh joint. Why is it not doing what is logical and reassigning the weights of the vert to the nearest joint? Its seems a massive reweighting of around 50% of the verts would be the only recourse if there is no other remedy. If there is a solution out there, please help.

Thanks.

darkjedi1929
08-25-2005, 10:22 AM
If you are using Maya 7.0, you could try substitute geometry.

Basically, Every vertex has a unique id (a number) which identifies the vertex. When you skinned your object, you assigned each vertex some influence. When you did a poly reduce after that, the vertex ids got totally messed up. Unfortunately, the skin cluster below the poly reduce solves for the older vertex ids. Therefore, you have the head vertices moving when you move the knee. If you could, in the deformer list, try moving the poly reduce below the skin cluster (its just a thought, I never tried doing that.).

goldenchild
08-25-2005, 05:23 PM
Thanks for the reply. I'm using 6.0 so I don't think I can try subsititute geometry. Your suggestion about rearranging the deformer list? It sounds like you are referring to a function in MAX. In Maya there is that input list found in the channel box, but I don't think there is much freedom to move them up or down the list. Anyways, I've deleted non-skin history to speed things up, so those inputs are history.

Here's an update of what I've discovered since my original post. A model that I've previously poly reduced works just fine. There was no random distribution of influences to bones nowhere near the area I was working. In my second model - for some reason, maybe I checked a flag by mistake - Maya decided to ignore the influences of the original verts and assigned the newly collapsed verts influences by random. The worse case was in the bicep region which started out with 4 influences and after being reduced, ended up having 26 influences to joints ranging from the hip all the way to the tips of the fingers.

What am I doing wrong here? Anyone? Please?

goldenchild
08-25-2005, 05:55 PM
EUREKA!!! ...and duh. I hadn't noticed that there was a list of inputs I hadn't deleted. Deleting the non-skin history one last time did the trick. Thanks CGtalk for allowing me to think out loud.

Andrei2k
08-25-2005, 07:29 PM
You should avoid ever having to do a poly reduce or any poly related functions after you skin the mode because it changes topology and could have adverse effects to the rigging dramatically sometimes. I never use poly reduce anyways but after skinning and painting is done you shouldnt have to do something like that.

goldenchild
08-25-2005, 09:15 PM
In game development poly reducing a model is quite necessary when doing a port from PS2 to PSP. I wish all us had more glamorous jobs.

Digit
08-26-2005, 07:08 AM
In game development poly reducing a model is quite necessary when doing a port from PS2 to PSP. I wish all us had more glamorous jobs.

Tell me about it...

CGTalk Moderation
08-26-2005, 07:08 AM
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.