View Full Version : Character Skinning without painting weights
04 April 2003, 10:05 PM
A while back Jason mentioned that, an ideal character rig should require not weighting. Further that weighting is not even desireable, because if (when :scream: ) the rig is changed the weighting will need to be redone anyway.
The best skinning rigs need NO paint work, as the model can change quite often within a production.. and if you don't have to manually paint anything, it's much easier to swap in new geometry. The best thing to do is set up your skeleton so it works with minimal painting.. that means putting influence objects and bones close to the skin & setting up influence objects which can help parts stretch and stuff.
Does this mean adding things like rib bones to the skeleton, or parenting additional bones in key place like the shoulders?
Is it better up influnce objects to create a crude muscle-like system? I think Goosh uses a system like this, but I'm not sure if he still needs to paint weights or not?
I'm really interested in what technigues others use in there skinning. I know how to paint wieghts, it just a pain to do; and the project I'm about to start, has at least 12 characters that we'll need to rig and skin. :thumbsdow
Jason, Goosh, anybody? Feel free to pile on and offer suggestions. I'm getting queasy just thinking about it. :)
04 April 2003, 02:37 PM
Well I'm pretty interested in this topic as well, having just skinned a cast of 6 characters :)
But to throw in some content, here are a few things I've learned through the process.
Hands are evil, just because of the pure amount of (repetitive) work they require. You have ~30 joints in the hands of just one character, multiply that by 12 for your job, yikes... I've used rigid bind for the hands, this was reasonably good looking except for closeups, and I was able to speed up the process by weighting vertices with the component editor. It was still too much dirty work and I'm looking for possibilities to at least get re-usable skinning.
A possible trick would be to use smooth binding and export the weightmaps. You then only have to paint once and re-use it... but you have to separate the hands into selection sets which you skin to the hand joints individually.
This however requires that you use the same hand mesh for all characters, the same joint names; and also, you cannot mirror or duplicate UVs (I mean the two hands need separate UVs because weights are exported using UV coordinates). Using the same mesh is easier if you have clothes and long sleeves on your characters, otherwise it can get tricky; and the results might be a little weird if you distort the geometry for individual characters.
I also tend to use a combination of smooth and rigid bind for most characters, based on selection sets; one for each limb and for the torso. The head is usually separate because of blend shapes. I then use rigid bind on the limbs because flexors are good for elbows and knees; for more control you can use Driven Keys on the lattice points. The torso, shoulders and hips are then skinned using smooth bind. I haven't had enough time to experiment with influence objects so I've used them only for minor and rough corrections so far... and painted a lot, which is bad for my hands :(
So the idea of automating skinning is pretty interesting for me too :) But I'm quite sure that it's not fully possible. I believe that maybe the manual weighting can be minimized, but you still have to spend time setting up a good set of influences... some sort of (primitive) muscle simulation seems to be the way to go.
Unfortunately there's not much information on this topic, and the tools in Maya haven't really changed since version 2 as far as I can see. ACT is supposedly in the works but for almost a year now and still no word about its release. However we have a lot of different Lego blocks so I suppose that there must be some kind of an easier or at least better way... I'm really curious to learn more about this.
04 April 2003, 10:48 PM
Mixing rigid and smooth-binding? Hmmm...I had not thougt of that. :thumbsup:
I experimented with Stalhberg's blendshape method of skinning. It was useful so far as it highlighted some topology issues, a few of my models had. But 30+ morphs for each model!?@$@! Not counting the phonemens, and facial animation. We abandoned that method pretty quickly.
I'm now trying to work something out with influence objects. Your right though their isn't much in the way technique being shared. Heck, even some theory would be nice.
06 June 2003, 10:59 PM
I'm also looking for more information on this, but then for 3ds max. It's a pain to skin a character and then discover something on the mesh topology has to change and you can start over.
I hope we'l get to see many improvements (both technique and technology) on this topic in feature releases of 3d software.
i don't know maya, so i'm not aware what influence objects are, and i guess there's no such thing in max.
something i think could be helpful would be a low poly cage per bone that encapsulates the detailed geometry. these simple envelopes don't seem to do any good.
anyone has tips/tutorials on this?
06 June 2003, 11:41 AM
We decided for our 6 characters to work with proxy objects through-out the entier project, until the models are 100% done. This doesn't make the skinning any easier, but at least we only have to do it only once.
06 June 2003, 12:20 PM
the SaveWeights.mel on Highend saves the the weightmaps based on world or local position and not UVs.....which means that you can change the point order if you want. i have had more reliable results with this method then with the mayas export weightmaps. I believe you would still need the same skeleton...but if the characters are similar that becomes useful.
06 June 2003, 02:03 PM
I had an idea for reducing the time it takes to skin a character in Maya, and (in theory) it should work:
Build a template character, one that can easily be modified and changed into other characters. Once you have UVs set up, smooth bind it, adjust the weights as needed, then export the map.
Any character built from this template would have the same UVs (although some areas would need to be cleaned up), so the same weight maps can be used. The skeleton would have to be named the same (but can be changed later), and some areas would need to be corrected, but I think it would be a lot easier than starting from scratch.
06 June 2003, 12:58 AM
I just recently finished setting up a character that required no painting of weight's at all. I basically built a primitive muscle system that I use as influences and it works perfectly:thumbsup: One of the major things most people tend to over look is the placement of joints. If your joints are placed well, it really helps alot and yields good deformation. Then I use certain little tricks to help with deformation, like having 2 joints between the shoulder and elbow and the same for the forearm. Another thing is to have ribs, either as joints or influences. One of the big problems you find with characters is the lack of volume in the torso, because people just build spines. Keep in mind that the only reason that skin in maya doesn't deform like real skin does, is because there is really just joints which are like pivots that the CV's rotate around. There is no actual volume. Getting influence's to maintain volume is very easy, its getting them to react like real muscles and getting sliding over the muscles that's the hard part:argh:
In order to do this properly, you'll either need a team of Programmers like the bigs studios have or you'll need to combine Influences and Blendshapes. I would use the blendshapes really just for the sliding and the influences for maintaining volume and creating bulges and all that jazz...
Just as a little test for everybody out there that wants to see the result, build a primitive chest muscle or even use a sphere and just shape it nicely. Add it as an influence and just check now when you bring the shoulder down, how it doesn't push in the chest area like it usually does with standard skinning. Basically replicate this concept right through-out the rest of the body.
This is really a good topic and is becoming more and more of a standard for rigging, so good job for bringing it up Khaos. :applause:
06 June 2003, 03:38 AM
bump!......this is a really interesting thread, any other ideas? i remember on the 3DBuzz interview JasonS mentioned that he wrote a script that detected all of the surfaces inside the model [influence objects] and add them as influences to the mesh.
more discussion on this subject would be totally cool....
any other ideas?
06 June 2003, 12:21 PM
interesting approach at the problem.....
Me and a modeler (HellBender) are working on a elf-woman model....and I'm studying about the rigging....but paint after paint I begin to think that this tool is user enemy (the painter method, i mean) .
Any problem = REPAINT.
It' s very strange method...so We will try the automatic method you propose.
Another question....any tip for rigging the groin (area where the thigh joins the abdomen) ?
06 June 2003, 01:57 AM
One quick method I use to speed up rigging is make generic rig with a generic low poly mesh skinned to it (Maya). I then export the skin weights of the rig, delete history on the mesh to rid it of the connection to the rig, move the low poly mesh verts and joints to corrilate with the respective geo on the render mesh, use the low poly mesh as Wrap deformer on the render mesh, bind the low poly mesh back to the rig, Import skin weights, add deformers, and now I am done. It isnt perfect, but it saves me bout 50% of the werk load.
This is simmilar to Max's biped, which gave me the idea.
This method works best when Real time isnt a concern(obviously), and when you have a fairly good idea of how all the characters will look before you start, so you can create the generic rig and mesh that will be applicable to all the final models.
07 July 2003, 02:11 AM
Jason's the bomb. I rilly dig his take (love the cd). I've been playing with this for a bit and dig the results.
...I recall this thread from back in the day.
07 July 2003, 04:24 AM
Influence objects is great.. but you have to have the time to be able to set them up create Set Driven Keys, etc... sometimes you don't have it or sometimes (if you work in games) you don't have the pleasure to use them, so you have to paint and paint weights.
Painting weights is not too bad though. You get to recognise what and where to paint.
A good way to do this is to do a custom animation to show all the actions (lifting a foot, bending the back, twisting the back, rotating the arms, etc) one by one and then paint and scrub the time line and see how it looks and paint some more.. always add, never replace.. I like to use 0.1 value... and I keep on changing the size of the radius.
It's not tooo bad..
Having the bones placed properly is a huge plus.. if you don't then it'll be pretty hard to make your character look right
I hope that helps
06 June 2004, 05:45 AM
Any Ideas for XSI.. lol.. just cant seem to meet many xsi riggers myself, everyones into maya :cry:
06 June 2004, 07:33 AM
You can use pretty much the same techniques in XSI as in Maya.
You have influence objects (you can make them anything you want in XSI.. nulls, sphere, anything)
and you can also paint weights...
3D packages nowadays are so similar!!
06 June 2004, 04:32 PM
Ah well no worries then. i had this thought last night that influence objects were on some collision level of deforming or somthing.. well then no needs to explain lol
01 January 2006, 10:00 PM
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.