Community
Maya Animation and Rigging
Welcome to Autodesk’s Maya Forums. Share your knowledge, ask questions, and explore popular Maya animation topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Weight Normalization

21 REPLIES 21
SOLVED
Reply
Message 1 of 22
FalconCrest
4198 Views, 21 Replies

Weight Normalization

Does Maya weight normalization still hold weight in 2015 or is that not of a concern ?

21 REPLIES 21
Message 2 of 22
santd
in reply to: FalconCrest

Hello,

 

Thanks for posting to The Area Forums.

 

Would you be able to provide me with more information as to the issue with Normalize Weights?

 

I know there was an issue in the past with undo of painting weights going to random joints rather than to their respective joints, but from the testing I have done it seems that issue no longer occurs.

 

If you provide me with more informatio no the Normalize Weights issue, I will test it and let you know if it still occurs in Maya 2015.

 

Cheers,




David Santos

Message 3 of 22
FalconCrest
in reply to: santd

I've been informed the nature of how Maya normalizes weights, when you erase weight it always goes to another joint ?

All weights in Maya have to add up to 1.0 when using interactive mode, I'm trying to make sense of this ?
Message 4 of 22
3dMastermind
in reply to: FalconCrest

Hi Christopher,

Looking at the Component Editor after a skin.

It seems that even if you try to edit values from a vertex towards a particular joint.
It will edit the influence it has on the other joints so that the total is "1".
Even if you enter "2" it will default to "1" for that joint and remove the influence on the others.


Same thing seems to happen when painting the weight.



Let us know if this helps.


Manny Papamanos
StingRay | MotionBuilder | Maya | Mudbox
Games QA Specialist



Message 5 of 22
FalconCrest
in reply to: 3dMastermind

I choose paint skin weights tool with the component editor open I then proceed to go to the smooth skins tab, then I become stuck on using the component editor when I have skinned mesh ?

If the influence of a Joint is "1", it will as I read elsewhere, remove the influences of the other joints making them below one, I thought when you paint on a joint it has a influence of "1", another joint on the other hand also has an influence of "1".  From my understanding if one joint has an influence of "1" other joints could be .6 or .4 etc ? Does this only apply when using "interactive mode" when painting weights ?

If I lock a joint or joints what happens to the joint in which I'm erasing from and what happens to other joints that are not locked, how does the weight distribute ?

Message 6 of 22
3dMastermind
in reply to: FalconCrest

From my tests things looked OK.

 

When you turn off normalize weights, the weight does spike for vertices past 1.

 

In 'interactive' normalization mode and with locked joint weight influence, it seemed not to function very well.

 

This is because the weight is 'locked' and it would need to normalize it but it can't mod the value for the weight since some joint's weigh influence is locked.

 

Therefore, locking joint influence worked better with Normalization set "off".

 

 

ps: I don't know if you use 'weight hammer', but it seems to do a pretty good job to fix selected problem verts.

 


Manny Papamanos
StingRay | MotionBuilder | Maya | Mudbox
Games QA Specialist



Message 7 of 22
FalconCrest
in reply to: 3dMastermind

When normalization is off weights will spike past 1 or will transfer there weights to other joints, correct ?

 

If you are in interactive normalization painting mode with locked joints, normalization won't occur because obviously the influence, or th weight is locked, and so if you keep all weights unlocked the weight of all the joints will evenly distrubte amoungst all the joints until all the joints equal in total to one, and does this depend on the painting mode you are in ?

 

What is better to paint weights with, post or interactive ?

 

You missed my question about how I can use the component editor with weights, the manual explains I can adjust the weight of the joints in the component editor but not how to use if you've hit a road block ?

 

--------------------------------------------------------------------------------------

When you turn off normalize weights, the weight does spike for vertices past 1.

 

In 'interactive' normalization mode and with locked joint weight influence, it seemed not to function very well.

 

This is because the weight is 'locked' and it would need to normalize it but it can't mod the value for the weight since some joint's weigh influence is locked.

Message 8 of 22
3dMastermind
in reply to: FalconCrest

Personally, I'd keep it on interactive unless I need something out of the ordinary.

I also don't see a reason to 'lock' weight unless you are doing something quite fancy.

 

 

 


Manny Papamanos
StingRay | MotionBuilder | Maya | Mudbox
Games QA Specialist



Message 9 of 22
FalconCrest
in reply to: 3dMastermind

I want to understand this ! 🙂

 

You personally keep it on Interactive, this is what I was told from another Maya user;

--------------------------------------------------------------------------------------------------------------

When you erase weight it always goes to another joint due to the way maya will normalize weights. Probably it is going to a joint below the one you are rotating.

Rule 1: Do not erase weight, or flood a joint with zero weight. Add weight to another joint instead so you will know where it is going.

Dont even think about locking joints until you understand why this first rule is important.

-------------------------------------------------------------------------------------------------------------

When normalization is off and you are painting in post mode, weights will spike past 1 or will transfer there weights to other joints ? This user mentioned the weight will transfer to the joint before the current joint you are painting or will it transfer the weight amoungst all the joints in the mesh ? While painting in Interactive mode does not cause this problem, or what problem does it create ?

 

Another quote from a Maya user

------------------------------------------------------------------------------------------------

You can't just erase weights, because those values need to go somewhere so that the total weight from all influences adds up to 1.0. The only way erasing or smoothing will work in any predictable way, is if you lock all influences except the one you're erasing from, and the one you want those erased values to be added to.

-----------------------------------------------------------------------------------------------------

 

This page may help with the questions I have, I've read the page a few times but there is unresolved questions which were asked earlier in this post.

 

I'm still facing a road block when it comes to use the Component Editor and Skin Weights, and how to use 🙂

Message 10 of 22
3dMastermind
in reply to: FalconCrest

In interactive, when you first make the bind you can set a "Max Influences", you can check/change the "max influences" on the skin cluster tab in Attribute editor.

Let's say its 3.

If you mod the weight while in "interactive" it will add or remove weight from the the vertices towards their 3 closest Joints and their total will equal 100 in the component editor.

 

Personally, I have never had a need to use the 'component editor' unless you want to do some really precise work like having an edge loop on a wrist be affected by a single joint or 50/50 with another.

Lets say you want them 50/50 with the hand and forearm, if you have 3 for Max influences, the 3rd joint will have zero influence.

 

 

 


Manny Papamanos
StingRay | MotionBuilder | Maya | Mudbox
Games QA Specialist



Message 11 of 22
FalconCrest
in reply to: 3dMastermind


@3dMastermind wrote:

In interactive, when you first make the bind you can set a "Max Influences", you can check/change the "max influences" on the skin cluster tab in Attribute editor.

Let's say its 3.

If you mod the weight while in "interactive" it will add or remove weight from the the vertices towards their 3 closest Joints and their total will equal 100 in the component editor.

 

Personally, I have never had a need to use the 'component editor' unless you want to do some really precise work like having an edge loop on a wrist be affected by a single joint or 50/50 with another.

Lets say you want them 50/50 with the hand and forearm, if you have 3 for Max influences, the 3rd joint will have zero influence.

 

 

 


When painting weights in interactive mode, using your example, it will add or remove weights from the vertices towards the three closests joints therefore equallying 100 in the component editor, correct ?

 

 

 

If you had thirty-five joints then painting in interactive mode would add or remove weights to the thirty-five joints therefore equalling 100 in the component editor, correct ?

 

 

 

What is the difference when using Post ?

 

 

 

You can't erase weights, because the value for the weight you are erasing had transfer to another weight, so the only solution to erasing weights is lock all the other weights whose values you want to remain the same, correct ?

 

 

 

Do you know of any tutorials on how to use the component editor for precise weighting, the documentation is bland in this area ?

 

 



Lets say you want them 50/50 with the hand and forearm, if you have 3 for Max influences, the 3rd joint will have zero influence.

 



What is the third joint ? The last joint created in the chain, or the first joint that would have zero influences ?

Message 12 of 22
3dMastermind
in reply to: FalconCrest

When painting weights in interactive mode, using your example, it will add or remove weights from the vertices towards the three closests joints therefore equallying 100 in the component editor, correct ?

 

>>>yes

 

If you had thirty-five joints then painting in interactive mode would add or remove weights to the thirty-five joints therefore equalling 100 in the component editor, correct ?

 

>>>yes

 

What is the difference when using Post ?

>>>I don't have adequate experience here, I always use interactive because I want my weight to be normalized.

 

 

You can't erase weights, because the value for the weight you are erasing had transfer to another weight, so the only solution to erasing weights is lock all the other weights whose values you want to remain the same, correct ?

 

 

>>>Umm no...the way I see it..Lets say your clavicle has too much influence on the chest...

Then I select any joint closest to chest like the vertibrae and add (paint) that influence in then smooth, instead of thinking of removing weight. But you can also do it in the component editor, steps below.

 

 

Do you know of any tutorials on how to use the component editor for precise weighting, the documentation is bland in this area ?

 

>>>No, although Youtube has some, I remember the authors showing it breafly when skinning, but then again its quite easy to understand,

select some verts, open the component editor>set to 'smooth skins', select the verts displayed (by running a straight line down), [Do not select the joints]. Play with the slider at the bottom. You'll see it evenly distribute the weight on the verts to adjacent joints.



Lets say you want them 50/50 with the hand and forearm, if you have 3 for Max influences, the 3rd joint will have zero influence.

 



What is the third joint ? The last joint created in the chain, or the first joint that would have zero influences ?

 

>>>If you had 3 as Max Influence, then the wrist verts would likely have influence on the hand, also forearm joint and whatever is closest, like a finger bone. So it would have to be set : hand=50,forearm=50, finger(x)=0

But of course you have to think like an individual vertice and not as a group.

So likely,  it will display many joints because the vetice at the end of the wrist (near the pinky) will likely have influence on a different finger bone (pinky) as a third influence, than a vertice near the thumb.

 

 

I think that you may be misslead by the whole "locking weight" thing...

Simply don't do it, you don't need to if in interactive mode.

And stay in interactive mode;)

 

 

 


Manny Papamanos
StingRay | MotionBuilder | Maya | Mudbox
Games QA Specialist



Message 13 of 22
FalconCrest
in reply to: 3dMastermind

~~~~~~~~~~~~~Quote ~~~~~~~~~~~~~~~~

When painting weights in interactive mode, using your example, it will add or remove weights from the vertices towards the three closests joints therefore equallying 100 in the component editor, correct ?

 

>>>yes

 

If you had thirty-five joints then painting in interactive mode would add or remove weights to the thirty-five joints therefore equalling 100 in the component editor, correct ?

 

>>>yes

~~~~~~~~~~~~End Quote ~~~~~~~~~~~~~~~~

 

 

 

Regardless how many joints you have in a mesh the total weights will always equal to one hundred, whether you have one joint, or two-hundred joints.  I had the notion that if you had three joints, as an example; and you painted weights on two of the joints at fifty-percent, the third joint, suppose this third joint is the last joint in the chain would recieve zero influence ?

 

 

 

~~~~~~~~~~~ Quote ~~~~~~~~~~~~~~

What is the difference when using Post ?

>>>I don't have adequate experience here, I always use interactive because I want my weight to be normalized.

~~~~~~~~~~ End Quote ~~~~~~~~~~~

 

 

 

Would you be able to find out; I'm courious as to the inner workings it will help me when working ? Smiley Happy

 

 

 

~~~~~~~~~~~ Quote ~~~~~~~~~~~~~

You can't erase weights, because the value for the weight you are erasing had transfer to another weight, so the only solution to erasing weights is lock all the other weights whose values you want to remain the same, correct ?

 

 

>>>Umm no...the way I see it..Lets say your clavicle has too much influence on the chest...

Then I select any joint closest to chest like the vertibrae and add (paint) that influence in then smooth, instead of thinking of removing weight. But you can also do it in the component editor, steps below.

~~~~~~~~~ End Quote ~~~~~~~~~~~~

 

 

 

Basically, you can't remove weights you can only transfer their influence from one joint to another, using smooth or add, correct ?

 

 

 

~~~~~~~~~~ Quote ~~~~~~~~~~~~~~

Lets say you want them 50/50 with the hand and forearm, if you have 3 for Max influences, the 3rd joint will have zero influence.

 


 

What is the third joint ? The last joint created in the chain, or the first joint that would have zero influences ?

 

>>>If you had 3 as Max Influence, then the wrist verts would likely have influence on the hand, also forearm joint and whatever is closest, like a finger bone. So it would have to be set : hand=50,forearm=50, finger(x)=0

But of course you have to think like an individual vertice and not as a group.

So likely,  it will display many joints because the vetice at the end of the wrist (near the pinky) will likely have influence on a different finger bone (pinky) as a third influence, than a vertice near the thumb.

~~~~~~~~~~ End Quote ~~~~~~~~~~~~

 

 

 

The third joint is the last joint created in the chain. 

This repsonce may tie into a response I wrote earlier in the message; if there are any differences, keep the relation seperate Smiley Happy

 

The hand would have 50%, the forearm, 50% and the finger 0% the finger would not get skinning ?

 

......ReQuote......

So likely,  it will display many joints because the vetice at the end of the wrist (near the pinky) will likely have influence on a different finger bone (pinky) as a third influence, than a vertice near the thumb.

......ReQuote End.....

 

Since the finger bone (pinky) has no influence the vertices move to another finger that isn't weighted, as in your example mentioned in the ReQuote ?

 

 

Message 14 of 22
3dMastermind
in reply to: FalconCrest

Hello,

 

I made a quick tutorial here that shows basic skinning/weighting and the component editor.

 

 

If you don't want to use the default "normalization" method, (sum of vertice to joint weight always equals to one)

then select "Post" from the skinned element's 'skin cluster' in Attribute Editor and do the same tests.

 

I personally always use "interactive".

 


Manny Papamanos
StingRay | MotionBuilder | Maya | Mudbox
Games QA Specialist



Message 15 of 22
FalconCrest
in reply to: 3dMastermind

Hi, the video was extremely helpful, I understand how the component editor works.  There are a few questions; although some have been answered in the video, in the mean time, maybe this was outlined in the video, what is the difference when using "post" ? You swear, probably like many to only use interactive mode, I'm courious if there is any benefit to using "post" ? Smiley Happy

Message 16 of 22
FalconCrest
in reply to: FalconCrest

One of my other questions was, to clarify, in order to keep the weight value the same, you must lock the joint, correct ?

How does Maya normalize weights that are erased, for example [Bone 1] > [Bone 2] > [Bone 3] you erase some weight from [Bone 2] does it go to [Bone 1] or [Bone 2] ?

Message 17 of 22
3dMastermind
in reply to: FalconCrest

This shows the component editor with "Post" mode.

As you can see the weight is not normalized, from what I see that's the only difference.

 

post1.JPG

 

 

One of my other questions was, to clarify, in order to keep the weight value the same, you must lock the joint, correct ?

How does Maya normalize weights that are erased, for example [Bone 1] > [Bone 2] > [Bone 3] you erase some weight from [Bone 2] does it go to [Bone 1] or [Bone 2] ?

 

If you are referring to locking joints weight in the skin weights tool.

 

The problem may be that you are thinking/referring to bones/joints, you should be thinking vertice instead.

So yes if vertice X has normalized weight to 3 bones and you erase from one then it will get distributed to the others.

 

 

I have made a video also that shows how to use the locks in the skin tool.

I will post that on Monday.

 

Thanks.

 


Manny Papamanos
StingRay | MotionBuilder | Maya | Mudbox
Games QA Specialist



Message 18 of 22
FalconCrest
in reply to: 3dMastermind

What are the issues that can arise if weights are not normalized or beyond 1.0, if any besides issues when the rig deforms ?

 

[Quote]

 

How does Maya normalize weights that are erased, for example [Bone 1] > [Bone 2] > [Bone 3] you erase some weight from [Bone 2] does it go to [Bone 1] or [Bone 2] ?

 

If you are referring to locking joints weight in the skin weights tool.

 

The problem may be that you are thinking/referring to bones/joints, you should be thinking vertice instead.

So yes if vertice X has normalized weight to 3 bones and you erase from one then it will get distributed to the others.

 

[End Quote]

 

 

When using Interactive Mode and you want a weight to remain the same, you absolutely must lock the weight, otherwise if you erase a weight, the values will get transfered to a near by vertices, correct ?

 

And always only use "add", correct ?

 

 

 

 

 

Message 19 of 22
3dMastermind
in reply to: FalconCrest

I've made a quick video on locking joint influence:

http://youtu.be/uexQwqJoqu8

 

 

 

And always only use "add", correct ?

 

That's up to you, if you are on 'interactive' it would make more sence to "add".

"Scale" would overshoot the values because it's multiplying but they would max out at "1" due to interactive mode,

and "replace", well that can be used also in circumstances where you want a constant value like .25 to that selected joint.

 


Manny Papamanos
StingRay | MotionBuilder | Maya | Mudbox
Games QA Specialist



Message 20 of 22
FalconCrest
in reply to: 3dMastermind

The videos have been extremely helpful, and so has your explanation. When you say overshoot, what do you mean, it simple is multiplying the current value of the vertices by 2 ?

Replace is really just doing a, as you said, constant value, tool should be named constant instead. 😉

The fog on my glasses, metaphorically speaking is much clearer at this point with how skinning works in Maya. I feel quite comfortable compared to before.

Do you have any extra tips or techniques you want to share with regards to skinning in Maya ?

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report