Maya not remembering Paint Weights.. beyond a joke now


#1

Im making a UT character model. My model is slip into 2 parts and there is a bone chain between them. Now this bone chain is there just to connect the 2 parts of the model and I dont want these bones to have any influence on any part of the mesh.

So I thought I can paint them black. Looks what I know. I select the mesh and bones, skin - bind skin - smooth bind (complete skeleton).

The bone chain in question is 5 bones. I paint the first one totally black. Move onto the next, black, black, black. Until ive done them all. I test it by moving one of the bones. However one or 2 of the bone has influence on certain polygons. So I go back only to find some of the earlier bones still have some white on them. Ok so I repaint them black.

Again I do a test… some other bones now have influence and magically now have white patchs on. Again I repaint it black.

This has been going on for about an hr now. Each time I think ive painted every bones influence black, white patchs magically appear on another bone.

I mean whats going on here… why cant Maya remember that ive painted them all black. How are these magic white areas appearing all the time?

This is very annoying…


#2

When you paint with zero weight (black) Maya will redistribute the weights to the nearest bone to make sure every vertex has a total weight of 1.
To turn this off you can go to skin->edit smooth skin-> disable weight normalization. Problem is, you’ll end up with vertices which aren’t connected to any bones, so they won’t be deformed correctly.

A better thing to do is using only 1 bone for the connection between the two parts (why use 5 if they don’t have influence on the mesh?) and use the component editor to assign the weights to the bones. In the component editor you can also ‘lock’ the weights with the hold option (first entry in the collum).
Instead of painting with 0 weight it is also better to paint with 1 weight, because you will know where the weights end up.


#3

ok, first off i was not aware that you could paint bones in maya. i am only aware of the ability to paint the influence on the mesh with respect to specific bones.

second off, relax. an hour is not that long to struggle with a problem in maya. when you’ve struggled with something for weeks, then complain.

third, your problem. i can tell by the way you’re describing your problem that you don’t have a full understanding of how painting weights works. and this is one of those areas where if you don’t understand it conceptually it can be very frustrating and will remain frustrating.

i am by no means an expert on painting weights, but my entire month of december went to basically two endeavors: screwing around with painting weights and celebrating of the birth of jesus christ - in that order. Since the latter involved copious imbibement of poisonous spirits, it turned out to be an excellent complement to the former. See, jesus IS our salvation! But I digress…

paint weights works like this. Each CV (Control Vertex) on the mesh takes it deformation commands from a set number of joints (5 by maya default - max of 3 for gaming so they say.) It’s all about points on the mesh and which bones/joints it’s taking its influence from. No mesh, no painting weights. It’s about the mesh, not the bones. You’re not painting the bones, you’re painting the mesh and determining which bones have influence on that part of the mesh. Let that sink in, it’s important.

Wanna understand this more clearly? The Component Editor (Window > General Editors > Component Editor) is your friend. Select a vertex or two or a few, then open the component editor, then select the Smooth Skins tab. You’ll see your numbered vertices on the left, and across the top you’ll see all the joints in your skeleton. in the spreadsheet where they meet is the amount of influence that joint has on the vertex on the left. Now if you go ALL the way to the right, you’ll see that the total of all the influences is 1.

I repeat THE TOTAL OF ALL INFLUENCES IS 1. Very, very important because therein lies the nature of your problem. If you take away influence of one joint on a particular portion of the mesh, Maya automatically redistributes that influence somewhere else (meaning the same CV that you’re painting gets its influence from other joints to re-up its total to 1.) Play around in the component editor by entering weights directly in the fields (this is the same as what you are doing as you are painting) and you will see that as you add or remove weight from one influence the other joints’ influence on that CV adjusts accordingly - and automatically.

Another way to see this is to take a white portion of the mesh, paint totally black, then SWITCH the choice of bones which you’re painting influence from in the paint weights attribute editor. keep switching until shortly you’ll see that you’re mesh is white again. It’s getting its influence from somewhere - just not that bone. Get it? You’re not painting the bones, even though it may seem like it since you’re selecting bones the whole time. You are painting how much influence the MESH is getting from that particular bone which you’ve chosen. In all honesty it’s not all that intuitive, but it is easy once you get the logic of it down.

Solution: First of all I’m not sure how many bones you actually have that you DO want to allow to influence each CV on the mesh, but if it’s less than 5 then it’s never going to work for you at the default settings unless you reduce the maximum number of influences for your smooth bind. Well it could work, but it’s much simpler to just reduce max influences. Skin > Edit Smooth Skin > Set Max Influences… probably it says 5 there. Change that to 3 or 2 or 1, or whatever you need it to be then hit ‘Apply and Close.’

Now select a group of vertices, open the component editor, use LMB-drag to select all of the fields underneathe those joints in the middle which you don’t want to have any influence and enter a 0 which will fill into all of the fields simultaneously. It’s important that this is simultaneous so that it will automatically push all of the influences outwards toward the joints that are ok to have influence.

I hope this solves your problem, but more importantly I hope you understand why this solves your problem because then you’ll be able to solve the many more problems that this painting of weights WILL present you down the road. Good Luck!


#4

Sounds like a uv problem to me.


#5

woaw :slight_smile: thanx for the replys. Either I wrote my post in a more angry way than I intended or you read it in a more aggressive way than I intended Quizboy.

Yes I ment the influence, I thought that would be obvious… obviously not :slight_smile:

Anyway thanks alot for the information, you to Marcel. I have used the basics of the paint weights in Maya for a while now doing exactly what im doing here. I dont have a full understanding of how it works no, but as (well as far as I can see) im not doing anything differnet than what ive done before so I couldnt see why it wasnt ‘behaving’ :slight_smile:

Most appreicated. It is behaving now.


#6

Sorry Seven if i came off heavy-handed. Forgive me I’ve been an older brother all my life (well almost all - not the first few years.) But I digress…

I might have been over-compensating a bit since i just came fresh off this issue a month ago, and if someone had taken the time to explain the wieghting to me from a conceptual standpoint a month ago - even if a bit didactically - i would saved probably the equivalent of two straight weeks of my life. Not to say that it wasn’t good for me, because now i feel quite confident in an area i was previously thinking i wanted to totally avoid career-wise.

I wouldn’t go so far as say weight-painting has become MY art of choice, but i can definitely see the art in it now at least…cheers!


#7

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.