I’m having some major confusion about how Post Normalization skinning works. All the help docs and discussion I can find merely claim how much better it is, but I am running into a problem:
I have a foot with weights painted on the ankle and toe joints. I am now trying to paint in some influence on to a heel joint. Just to keep this example clear, I am painting over the entire foot with the heel joint. The visual feedback shows the entire foot as white for the heel joint.
But nothing happens.
The toes are still deforming the foot, and when I select the toes in the weight list, the color feedback still shows their influence. If I select the heel, it shows up as completely white.
If I switch back to Interactive Normalization, predictably, the forced normalization now shows the heel as having a smooth influence of about 10% and I get a bunch of weird artifacts in unrelated areas of the body. (I have a feeling it is dumping some of the information from my initial Interactive Weights editing.)
Can someone explain this situation to me? What is your workflow? Is there a way I can “bake” down the Post Normalization without getting the weird artifacts?
Or better yet, is there a way that I can force my painting to have full effect?
It seems like I am painting an entirely new influence that overlaps with all the others. So it isn’t over-writing anything or changing anything. Which means I now have to paint AWAY my other influences from the ankle and toes.
Yes- interactive normalization will make it always add up to 1, so adding one influence decreases others. Post normalization will not take away influences when you add one, so you’d need to remove them manually (from what I have read about the feature).
Rob’s got it right, post normalization happens after the fact, so you never see it normalized in your weight values. When you use post you have to look at the weights differently. They are a % of the total value of weights applied to that vert, if you have 1 vert weighted at 1.0 to 5 different joints they are each at 1/5 of the total. Not too easy to see when you can only look at the weights of 1 joint at a time. Though, as far as I know, it does still get normalized before being calculated by the skin cluster. Post is quicker since it’s not re-evaluating the normalization every time you put down weights, but when not hitting any performance problems I’d stick with interactive so you can see the true value of the weights.
Actually once I made the conceptual leap, I see how brilliant this is. You can quickly layer in new influences non-destructively, which means I was able to paint in my heel, paint away my ankle and all the nice weighting on my toes remained untouched.
It’s not a zero-sum game anymore. It also means subtracting weights works now, instead of just randomly throwing weights all over the mesh. :D:
I approve. It’s harder to see the true value of certain vertices, but on the other hand it is easier to keep track of everything, because when you paint something, you know it will stay there.
Another question about Post Normalization weighting:
Does anyone have a workflow for adding an influence while using Post Normalization?
Simply adding an influence appears to force the skinCluster to normalize, which rather breaks everything…
So what I tried was:
delete the skinCluster (with keep history)
re-attach the skinCluster including the new influences
This has caused 3 results:
The first time I tried this it worked. The new influence was added without any weight, so I could then paint it in.
On another model, it threw weights around randomly. Some eyelid weights ended up on the arm for instance. I hit undo and tried again, and now I cannot get past this error when I try:
// Error: Problems occurred with dependency graph setup. //
Does anyone have experience with these problems? Can anyone suggest a work-around? (I’m using Maya 2012)
If I can’t get this to work, my next attempt will be a bit cumbersome. I’ll make a copy of the geometry, copy weights, delete the skinCluster on the first geo and then copy the weights back from the copied geo… Which I suppose should work. :scared: