Tips for binding\painting weights


#101

That sounds really great, kaynine. A brilliant idea. I should try it (even though due to the many limitations with Subd’s I finally gave up on them and now I use SmoothProxy, it should still work I think).


#102

I really have my hopes pinned on CGtoolkit MuscleTK Plugin http://www.cgtoolkit.net
I think is time for a really new way to do skinning, without all that stuff or influences and hours of Paint Skin Weights :scream:

By the way, if somebody have tryed or knows more about MuscleTK plugin, I appreciate any info.


#103

cgMuscle may be a great system, but I can’t see it being less work than blendshapes - unless you plan on using the default muscles you’re going to be customising dozens of muscle shapes to get a nice result. The bonus being that it should work regardless of any mesh changes, but shouldn’t these be worked out before you start doing any blendshapes?

I’d love to see what is going on in that script kaynine.

–magilla


#104

Hi there, just popping in to have a clear thought on what you said about the replace option in the paint weights tool. I recently got Hyper real facial setup by Erick Miller and he says using replace with low opacity value is the way to go for skinning. Is that only appropriate for facial rigging and not body ? I started weighting my body with this skinning using a hold on each joint. Didn’t seem to have got me into troubles so far ?

Is that really a problem to use such a workflow ( add and replace at the same time on each joint ? Has anyone got the dvd and want to comment on this method ??
THx alot, very interesting thread for sure…


#105

Hi guys…

I have a question to skinners who work with maya 6.5

How does the “max influence lock” feature change the skinning process?
Also you’d be able to add influence objects in any pose now.

Are these tools critical features that change your skinning workflow?


#106

you guys have taken a look at posedeformer by mike comet right? free open source implementation of psd’s, addresses some of the problems laa-yosh mentioned earlier.

http://www.comet-cartoons.com/toons/index.cfm

I wrote some docs for it on the maya wiki, as well as some notes on smooth skinning etc…

http://www.tokeru.com/twiki/bin/view/Main/MayaRigging

Also recently stumbled across some great riggin notes Peter Shipkov. Among other things, he explains that sculpt deformers can be great for fixing skinning, and work quite efficiently.

http://petershipkov.com/
http://petershipkov.com/development/artpainttools/artpainttools.htm (scroll down to tips and tricks for the sculpt deformer info)

Must chime in with everyone else, great thread!


#107

very nice links mestela. Thx a lot. The pose deformer script looks really amazing!
Maya desperately needs that kind of a tool.


#108

Yeah, poseDeformer absolutely rocks - if only some kind soul would compile it for maya 6.5… I mailed mr. Comet a while ago, and he’s not able to do it because he’s not on maya 6.5 yet.

c’mon guys - this plugin is too awesome for words :slight_smile: somebody, anybody - COMPILE PLEASE

bart


#109

Thanks to Bart_K this great tool is now available at http://www.comet-cartoons.com/


#110

one tip I’ve found is to never paint weights down. Maya does a terrible job of reallocating weights, but generally you only need a vertice to share 2 bones so what you do is paint it up to a value of 1 for one of the bones, then paint in the values for any other bones. This way maya doesn’t do any reallocation of weights.

Is this clear?

PS: don’t know if this has been discussed already, but I don’t have time to read five pages of posts.


#111

one tip I’ve found is to never paint weights down. Maya does a terrible job of reallocating weights, but generally you only need a vertice to share 2 bones so what you do is paint it up to a value of 1 for one of the bones, then paint in the values for any other bones. This way maya doesn’t do any reallocation of weights.

Is this clear?

Great tip!

I’m not a rigger and definately not an animator, but sometimes you have to do it…


#112

Can anybody advice, how to copy skin weights from mesh model (it’s alredy attached to joints) to the same model, devided in to pieces. For example, hads, arms, torso, legs etc. All pieces organize the original model, with the same topology, number of vertices. I tried to do this in such a way: i’v binded pieces to the same joints, which deform the whole model. Then i used copy skin weights from vtx-es of the whole model to the same vtx-es of the piece, which completely arrange it. for some pieces it works well, but most often i get mistake, and maya throws out to desktop.
Im sorry for my english, but i would be very obliged, if anyane could help me.


#113

Try using the saveWeights script from Big Idea, you can find it on highend3D. It has an option to work on vertex location rather than vert number.

–magilla


#114

2magilla: thank you very much, with this script it works well.


#115

The workflow changes because you cannot accidentally make one vertex for example be affected of weighed by 4 joints if the max influence lock is set to three. This greatly reduced the number of possible variables especially if you set weight of a joint to 0 and don’t properly lock joints you dont want the weight to transfer to so instead of the weigths 'spreading across possible all joints at .006 for example and having to do a prune now the weights will only districute over the max locked influence # of joints. I hope this is clear enough.

Also I definitely agree with a lot of the other suggestions. I do recommend the max influence lock and use 3 usually at initial bind and use the following workflow.

  1. work inside out
  2. lock all then unlock as i work (use david waldens skinningTools or equivalent from peter shipkov for exmple.
  3. set range from -1 to 1 (This should be default!!)
  4. I try not to subtract but only work additively but sometimes you gotta subtract.
  5. I dont use corrective/pose deformers unless i absolutely have to because believe it r not you actually can perfectly weith an entire character without corrective techniques.
  6. Othe then weights influence objects and SDK are my best friend.

#116

Not sure if these are listed above, as I did not get a chance to read through all the pages of postings…but here is what I find useful.

  • INITIAL POSE FOR RIGGED CHARS: If your char was rigged before binding, then set keys for all of your controls as soon as the binding is complete. These keyed locations of your controls can serve as your bind pose. Go to bind pose never works well for me on a rigged character.

  • MIRRORED WEIGHTS (recommended for saving time)
    *To “mirror weights” for your character, you want your character aligned along a plane in the scene (e.g. yz plane). If you rigged your char before binding, you will want to move your char to a plane before binding. This way your keyed initial pose will be spot on.

  • CONTROLLED SMOOTHING
    Controlling smoothing redistribution of weights as best as possible can be key. To keep your smoothed weights distributed across specific joints those joints need to already be partially weighted to that vertex (eg. upper leg .9, lower leg .1). Smoothing this point should distribute the weight across those two joints (none of the joints can be on HOLD!). With this in mind, I often address bound bends that dont meet my satisfaction, by:

  1. assigning the vertecies to weight of 1 for the primary joint (eg. upper leg joint for weighting the thigh).
  2. Use select contiguous edges and Convert Selection to Verticies to select loops around the leg where I would like to add a secondary weight to.
  3. Using the Component Editor on Smooth Skin Tab, I add what value I want for each loop. For the thigh example, I would assign create bands coming from the knee with the secondary values of .4 .2 .1 (moving from the knee to towards the thigh) assigned to the lower leg joint.
  4. Since these verticies now have a priomary and secondary weights assigned to them they can be smoothed without worry of the weights being distributed to all sorts of joints (eg. left finger, the heel, etc.) The smoothing will only dispribute the weights between those two joints. Remember neither joint can be on hold. This worked wtih using the Painting weights smooth feature of clicking on the verticies, not using the Flood feature. however, I suspect that would work the same.

This method offered me a lot of control but means you need use the “select contiguous edges” and “convert to vertices” features often. I recommend making a hot key for the “select contiguous edges”. “Convert to vertices” has a default hot key of Ctrl+F9 for Widows users.

  • QUICK SWITCHING (COMPONENT EDITOR AND PAINTIG WEIGHTS - really saved my time)
    You will also need to switch between the component editor and the Painting weights tool often. Below are two small Mel scripts I wrote which you can tie to a hotkey…it really speeds things along.
    *(You will want to name of my mesh below from Edgar_body to what ever your mesh is named)

//For quick weight painting of Char…switching to painting weights
global proc msEdgarPaintWeights ()
{
select -r Edgar_body ;
ArtPaintSkinWeightsToolOptions;
}
//For quick weight painting…switching to component mode
//Selects Char, opens component editor and selects vertex tab
//switches to component mode with vertex submode
global proc msEditVerticies ()
{
select -r Edgar_body ;
changeSelectMode -component;

SelectTool;
ComponentEditor;
setTabOpType componentEditorPanel1Window|TearOffPane|componentEditorPanel1|componentEditorPanel1|compEdForm|compEdTab componentEditorPanel1WindowComponEditor -1;
hilite Edgar_body ;
setComponentPickMask “All” 0;
setComponentPickMask “Point” true;
}

Hope this helps,
Michael


#117

This is probably gonna sound REALLY stupid coming from a guy who has been rigging in Maya for the last 5 years, but I have been in games where I have had nothing to deform characters with other than joints so I have had no use for influence objects, deformers, muscles, etc…

But what are they and how do you use them in Maya? I understand that Maya now allows you to weight verts to objects other than joints but I have heard of people using the term “influence objects” in Maya before that functionality was implemented.

So what is an influence object? Is it somehthing Maya actually allows you to create? Or is it a term people use to define deformers or something else? If someone could give me a quick rundown I would REALLY appreciate it.

Thanks in advance for the help and for humoring my ignorance. but I have always believed in the saying “A truely wise man has more questions than answers.”

-Charles R.


#118

You are right SirCharles, a wise man has more questions then answers. Dont feel bad I worked in tv series and now I’m in games and deforming skin only with joints its different but not to different. Ok back to the topic. An influence object is what the name describes and influence. Wich means you ca use this object to influence or deform the skin. Now that could be anything. A deformer a polygon object or a nurbs object. If you have a skined geometry to some joints then create lets say a polygon spehere put it in his right pecktorial muscle area and go to Skin>Edit Smoth Skin>Add Influence. Now the polygon sphere is part of the skin cluster so you can add weight influence to it just like a joint it will be in the edit skin weights window. Now you can translate the sphere and it will deform the skin if there is enough skin influence to it. Now select the skined geometry and in the chanell box select the skin cluster, in the drop down menu you will see something called Use Components turn that on. Now you can manupulate your polygon object how ever you want and the skin will react to it. You can scale it, rotate it and even push and pull cv’s. Now if you mix that with some joints and dynamics you can achive reall nice deformations even some muscle tensions and giggle. Its not as eassy as I make it sound, but once you get the hang of it its really not hard eather.


#119

hey all -

I have read through these posts - some very good info.
I have a couple of questions concerning skinning and blendshapes.

When painting weights - do I want a vertex to be influenced by more than one joint - say between the knees and the ankle, so when I rotate the ankle or knee, the same vertex may move for wither joint? Is this good for all vertices?

Blendshapes - do I want to detach the head and create the facial blendshapes before I bind the skin, or after - how do I do this?

Painting weights with the component editor - lets say I have a vertex that has an influence of 1 at the knee, but it needs to be influenced by the ankle as well, but it only shows the knee joint in the compnent editor - is there a way to have it show the ankle joint as well, even though it has no influence for that vertex yet?

Thanks for the help - this is a school project I have to get done for a grade, and I am having some serious trouble with it


#120

mttjss,

Q: “When painting weights - do I want a vertex to be influenced by more than one joint - say between the knees and the ankle, so when I rotate the ankle or knee, the same vertex may move for wither joint? Is this good for all vertices?”

A: For my organic creatures, I have some vertices influenced by two joints, many by only one joint and some influenced by three joints. Let me explain, how I chose when and where.

But first, I want clarify something that you ankle/knee example may have been alluding to. Since your ankle joint is down the skeleton hierarchy from your knee joint, when you move the knee joint, so goes the ankle joint. Thus, by nature any vertices attached to your ankle joint automatically receive the rotation from the knee joint as well. You may have already known that but I wanted to make it perfectly clear.

Back to the number of joints of influence per vertex. A BASIC creature, would mostly have the area’s between joints influenced only by the object next up the skeleton hierarchy (e.g. the spots between the knee and the ankle would be influenced only by the knee joint). As that skin approaches a joint you will want to blend weights of the approaching joint for a smooth transition to the next joint rotation (e.g. the points approaching the ankle start having more and more ankle influence up to the point where the skin is directly over the ankle where the influence is ankle .5 and knee .5). There are some complex areas where you might need to have 3 or 4 joint influences on a vertex, depending on the complexity of your character. The shoulder area is usually one of them. For instance, one of my characters has clavicles as well as ribs for breathing. As his chest skin spans between the clavicle and the arm pit, I have the skin influenced by the clavicle joint, shoulder joint, one upper vertebrae and the end on one of the ribs. I wouldnt recommend a complex set-up like that for one of your first characters.

Q: “Blendshapes - do I want to detach the head and create the facial blendshapes before I bind the skin, or after - how do I do this?”

A: Not sure what is ultimately the best what, but this is what worked for my model. 1st off, my character’s head is already detached, his neck line hides inside the collar of his shirt…so it may not be the same rig you have. But, I did have my face/head skin bound and IK’ed to my neck, head, and jaw before I used blendshapes. If you do this just make sure your joints are all in their bind shapes when making the blendshapes. Since I set-up IK controls, I created keyframes for all my IK controls in their original bounded positions at timeframe 0. Then before creating any blendshapes I made sure I was on time frame 0. Then I created the blendshapes from copies of the original head.

Q: “Painting weights with the component editor - lets say I have a vertex that has an influence of 1 at the knee, but it needs to be influenced by the ankle as well, but it only shows the knee joint in the component editor - is there a way to have it show the ankle joint as well, even though it has no influence for that vertex yet?”

A: Good Q. I ran into this issue too…I would work around it by, selecting all the vertexes, I want to add the joint influence too then CTRL+Shift click one joint I knew had appropriate joint associated to it…in your example a vertex which already has an ankle joint weight associated to it. At that point the ankle joint column appears in the component editor. Or, I would paint a little ankle joint influence a vertex in the original set and then open up the component editor with that set selected.

Hopes this helps.

-Michael