Tips for binding\painting weights


Alec is anti-influence object?

I’ll get plums deep into clusters now. :thumbsup:



1000 ways to skin a cat (1003, if you ask my chum from grade-school).

Some people are die-hard Influence Object folks. I’m not saying it’s bad, I just don’t like it and it doesn’t fit into my workflow.

Do what gets you the best deformations, Rhone, since that’s the main concern in the end.



Well, I’m still getting into the deep TD stuff, so I need to try everything. Im still pretty much anti-rigid binding unless there is an OBVIOUS reason to go for it. I saw an awesome facial rig with cluster recently, so Im hoping to copy… nay IMPROVE on it in the near future. :slight_smile:

I still have your demo on my HD :wink: Inspirational for working on my own TD reel.

M Rhone


I prefer joints to clusters since you can set the joint orientation whereas the clusters axis are always world-aligned, which makes it harder to transform them in a way I want them. Or has anyone a good hint how to overcome this ?



Just tried your scripts out on a test file…Magnificent

Glad you liked it. I forgot to mention, the name of the tool is dwFastChannelSliders.mel, towards the bottom of my MEL Scripts page.



Beuxe, clusters can be oriented just like anything else. You may think it’s stuck on the world orientation because whenever you create a cluster it starts out with it’s orientation similar to that of the world and then, when you try to move it around, of course the geometry will follow. The trick is to use the bindState flag to reset the cluster once you have it’s orientation set the way you want.

Here is the description of bindState from the docs:
“Specifying this flag adds in a compensation to ensure the clustered objects preserve their spatial position when clustered…”

Another way to do this is to create an empty cluster, create a transform above it, orient the transform the way you want it, freeze transforms on the cluster, and then go into the Paint Set Membership Tool to populate your cluster after orientation. Either way should work.



Alright! This -bs flag is not BS @ all!
Wow, I become smarter every day, where will this end?
Thanks ACFred



Wow, that’s really a ton of advices… Anyhow, here a few kilos more:

I recently discovered that clusters are actually more usefull for face rigging than blendshapes. Blenshapes are just so linear.I also prefer clusters over joints (for face rigging). The reason for this is you have much more control over what vertices are influenced by the cluster. Imagine you define what part of the face has a certain muscle underneath the skin. You select all vertices in that area and just paint the cluster values without the fear of painting lets say over the vertices at the back of the head (like with joints). And to make the whole thing even better, offset the cluster pivot point, and voila!, rotating the you get nice arc movement of a muscle. And if on top of that you still ned to make some adjustments to the expression - go for the blendshapes.

The other thing I found absolutely fantastic when modeling, texturing, binding is the PolyConnect plugin (highend3d). I’m sure most of you know about this tool, but has anybody actually used it from modeling right to the animation phase? Here are those fantastic aspects of the plugin:

-you make a low poly mesh (or a cage) and the plugin creates a high res version in which you can change the density any time you want
for example: you have all you animation done, and then you find out the whole thing is too low res for a film output. Plam, plam, you insert a higher subdivision value - smooth edges suddenly appear :slight_smile:

-The UV information gets automatically transferred from low to high poly version. Moving UV’s in texture editor has never been so refreshing

-When binding, you again only have to deal with low poly version
Now the Smoth skin weight painting has never been so refreshing :slight_smile:

-Finally, when animating, you simply hide the layer with a high res version and voila, you have a real time movement. No need for cutting the whole mesh into pieces and parenting those pieces to the bones.

Isn’t that great. During the whole proces you don’t have to touch a high poly version a SINGLE TIME!!!

Please share your experiece and tell if this superb plugin has any glitches, cos I just couldn’t find any. Has anyone else gone through the whole proces using it? Strange people really don’t talk much about polyConnect.



Wow good thread…:eek:

So much information so little time to experiment…:annoyed:


alesmav, yeah I think Poly Connect is the same thing as CPS. I love CPS I use it all the time it has a great tool set. It does the exact same things as everything you listed. And it has a cool little floating gui with a ton of other tools and options. In any case when dealing with skinning you should always bind to a low rez control cage and use that to drive the higher rez geometry. Which CPS makes this very easy as alesmav noted. Other than that there are other ways to drive a high rez mesh with a low rez control cage. Of course the wrap deform method also works but calculates slower than a direct connection like CPS. If your dealing with a nurbs character the wrap method is probably your best choice. Theres no way I would ever want to try to weight a high rez mesh, thats just plain crazy. Using the control cage method and a little bit of creative rigging its completely possible to get away with no weight painting at all.


yo alesmav: We are using clusters AND blendshapes for facial rigs in our studio, its the combination that makes the best out of both methods. Sometimes the directors want that certain expression and than blendshapes are the way to go, but you are right that the linear interpolation of blendshapes is not always the most beautiful animation, so to get a little "noise" or whatever one may call it we use the clusters. And rigging hiRes characters is something that I wouldnt wann do, since nice deformation can get really difficult. There are a couple of ways to achieve a hiRes Geometry. We just smoothPoly the whole thing when it comes to rendering.

Anyway, I dont know if you desparate weight painting imps out there have noticed that with the help of some nice cgTalk folk I have put together a script which will copy the weighting amongst vertices. I actually dont know if there are already script s that do this. If you wann try it download the attached file rename it to *.mel" source the script, select the vertex from which you wanna copy the weights, then shift select the vertices where you want the weights to be copied and it “should” actually copy them, and it “should” even copy them between different polyMeshes. And maybe it works even on Nurbs ? Who knows…

Good luck



Do you people use clusters for muscle deformation (bulging biceps etc) or just to tweak the loss of volume when joints bend such as at knees and elbows?

Also, if clusters are all that some people use then how many would a typical? character use?

Thanx in advance


Hey Jack!

Clusters are my favourite method for rigging the face, but as far as other body muscles are concerned, I believe influence objects are largely used.




its completely possible to get away with no weight painting at all

Maybe with a few influence objects here an’ there also?




I use clusters to do things like muscle bulges as well. It’s super easy, with predictable results. I usually put a multiplyDivide node between the rotation of a joint – say an elbow for the bicep bulge – and one of the translation values of the cluster. Using the multiplyDivide node in between also allows me to have a script that can be reused on characters of differing size with just a minor adjustment to a multiplication value.
Others use driven keys for it, and that works, too. It’s just a preference thing.

Again, I choose the clusters over Influence Objects because there is a tiny hit to the interactivity of a character, as opposed to my experience with the Influence Objects, which seem to really slow down characters.

That’s it.



Originally posted by Atwooki

Maybe with a few influence objects here an’ there also?

Atwooki [/B]

yeah I use influence objects last when skinning. I try to get the best possible deformations with just bone placement and no weight painting. But at the moment I’m working on a character and so far all I have is bones in it and my deformations are almost perfect and I haven’t painted any weights on it at all. I am binding to a low rez control cage which makes the process much easier though. I also run a script called smoothflood which goes through and smooths all joints and influence objects at the same time. The only probelm I usually have when binding is the transition of weight between joints is a little rough so I run the smoothflood and it really helps to smooth out deformations. Also connecting certain joints rotations to drive other joints rotations and translations helps greatly by creating more realistic movements (especially in the shoulder area). By using some mult/divide nodes controlling the driven bones you can fake a lot of realistic muscle movement. But again it requires a lot more time in the rigging phase. It may not be worth your time if its easier to paint the weight. For me personally, weight painting is the bane of my existence and I do everthing I can avoid it.



Just discovered this link which contains some pretty interesting stuff regarding charcter set-up and skinning. Covers a lot of the stuff discussed in this thread and then some. My eyes have only just stopped spinning at the complexity of it all.




Hey I just discovered a nice flag for smooth skinning. Many mel folks will probably know it but maybe it is helpful to those who just want to add another influence and somehow they don`t manage to reach the bindPose (I know there are ways to do it, anyway).
mel command:
skinCLuster -e -ignoreBindPose putHereYOurSkinClusterName;

From now on Maya will not stop you from adding influences if you are in bindPose or not, just be careful though.

BTW I still didnt get that cluster orientation issue, I tried to get an oriented cluster, but was only succesful with absolute ones. When I tried the same with relative clusters it didnt work. If anyone has a good hint I`ll be most thanksful (come on ACFred,pleeaassseee!!! )



-e correct spelling is skinCluster not skinCLuster, sorry!


Hey, nice discussion here…

Sorry bother you since I don’t feel capable yet to discuss which method to use: I’m stucked with Paint Weights tool, and I didn’t try other else yet.
I think my case is simple. When I try to add influence to a joint with my Paint Weights Tool, it simply don’t show up in the scene view. For example: I set the tool to add, and Value to 1. If I would click the flood the button, then my whole character should turn white, right? But it doesn’t…it only show up when I cancel the selection and reselect it again. It’s like some sort of refreshing problem…

I imagine this could be a problem of limited hardware capability provided by my graphic card (which is a Fire GL2). Is that correct?

Is there anybody out here who have experienced problems like mine?

Thank you all.