PDA

View Full Version : Vertex Maps vs Weight Maps



ben martin
09-17-2007, 09:54 AM
Hi,

Simple and probably very dumb question!

What are the differences (if there are any) between Vertex Maps and Weight Maps to set a character RIG?

Thanks in advance!

Dodgy
09-17-2007, 10:25 AM
Weight maps are Vertex maps. A vertex map is a way of storing data within each vertex, like a weight map.

Castius
09-17-2007, 10:33 AM
A weight map is a vertex map.

In terms of weight maps I'd use them sparingly is possible. You can do a lot without them first. Unless you making games rigs.

SplineGod
09-17-2007, 10:56 AM
Weight maps, Endomorphs (Morph maps), Vertex Color, UV maps, point selection sets are all Vertex Maps (Vmaps).

The more vertex maps on a model the more it will slow down in layout.
As Castius said, its better to use them sparingly or not at all if you can.
Its a myth that a character rig MUST use weight maps. Bones are already deformers. If you do a few simple things its possible to reduce the number of weight maps or not even use them at all.

ben martin
09-17-2007, 01:06 PM
Very good explanations!
Now I understand it correctly and makes sense!

Your guys are great!
Thanks!

IMI
09-17-2007, 08:19 PM
Its a myth that a character rig MUST use weight maps. Bones are already deformers. If you do a few simple things its possible to reduce the number of weight maps or not even use them at all.

Well, this definitely caught my attention, since I'll be doing a major character rigging within the next few days. Just a personal project, for the purpose of improving in rigging and animating.

I'm not at all being a [email protected]$$, Larry, just curious what you mean by that? I am by no means well-versed in rigging, but I have done it a few times, and the first time I tried to rig the fingers of a hand, I found that the bones in the fingers would tend to deform the surrounding fingers as well. I was told that using weight maps was the only way to avoid that, as well as other cases where the bones are packed too tightly together, so that's how I've done it on my other attempts.

Setting up all those weight maps is a royal nuisance, I might add, and if there's a way to avoid it, I'd love to know how. I'm sure I have by no means created the best weight maps, either...

What I'd usually do, say, in a hand, would be create poly and corresponding point selection sets for each finger, e.g., L_Index_1, L_Index_2, L_Index 3, L_Mid_1, L_Mid_2, L_Mid_3, and so on, for each finger, then create weight maps corresponding to each group, and a bone for each group.

Is this inefficient and unnecessary?

I probably ought to get your rigging videos. :)

SplineGod
09-17-2007, 08:42 PM
Its simpler in my experience to do a few simple things to reduce or to even completely avoid the use of weight maps.
Spread the fingers, toes, arms and legs apart when you model them and then use the bones to bring them back into a more 'natural' pose. This helps to reduce any bone cross influence.

Once you set the bones up this way and rest them then test the deformations out. Typically you might have some unwanted deformations in the arm pits when you lower the arms. This can be fixed by adding in a couple of 'rib' bones (aka hold bones). You can also do things like animate hold bones to make the forearm and upperarms collide in a more natural looking manner etc. Many times Ill hand animate those hold bones and then use cycler or cyclist to automate my hand keyed animation I placed on those bones.

I usually set the bone falloff to ^128 and play with the bone strength settings as well. If you find that hold bones are not enough you can still go in and add weight maps but you save a lot of time determining that first and then doing it last. You may not eliminate the need for weight maps but you typically end up creating much simpler ones. For example you may have one weight map for both arms, one for both legs and one for the torso. You can create selection sets of those bones and assign all of them to the proper weight map all at once in the scene editor.

Other deformation issues can be fixed in other ways including the use of endomorphs. Weight maps can easily increase the complexity of an otherwise simple process. Tuning them can be a pain. Replacing characters onto the same rig also becomes alot more tedious. Weight maps will also slow things down more in layout, actually the more VMaps you have in general the slower things will get. For this reason its always good to clear out any unused Vmaps and simply endomorphs where you can.

Also play with the faster bones setting. Normally ALL bones in LW effect ALL vertices which gives better deformations. Faster bones limits the influence to the 4 closest bones to each vertex.

loki74
09-17-2007, 09:15 PM
Wow, lots of great info in this thread. I, too, was of the belief that weight maps were a necessary process for any good rig. Granted, I've never really made one, but still... one thing I would like to learn more about though is modeling pitfalls to watch out for when you're modeling with the intent to animate. I know I'm derailing a bit, but if anyone here knows of any good resources/tutorials, I think that would be really interesting.

IMI
09-17-2007, 09:19 PM
Thank you very much for the detailed reply. :)
Clearly there's a great deal I need to learn about this.

IMI
09-17-2007, 09:26 PM
Wow, lots of great info in this thread. I, too, was of the belief that weight maps were a necessary process for any good rig. Granted, I've never really made one, but still... one thing I would like to learn more about though is modeling pitfalls to watch out for when you're modeling with the intent to animate. I know I'm derailing a bit, but if anyone here knows of any good resources/tutorials, I think that would be really interesting.

I could be completely wrong about this, but if you look at all people and animals, the joints that have the most amount of movement tend to have to most amount of looser skin, so it can stretch out.
I would assume that it would be a matter of planning to have more geometry in those joint areas, for smoother, more natural rotations.
Although the more I read in this forum, the more I find my assumptions to be off. ;)

SplineGod
09-17-2007, 09:40 PM
When you REST bones in layout an internal 'weighting' takes place. The bones REST length, REST orientation (not scale or rotation) are taken into account. Each bone has a 'force field' around it and EVERY vertex is effected by EVERY bone. When you REST the bones the rest length and rotation are taken into account and a weight is assigned to each vertex. This weighting is effected by things like the bones falloff. The higher the fallof the faster the force field of the bone loses strength.

Let say youre testing deformations. You want the deformations to look as good as possible in the posed position since we know the model already looks good in its rest position. :) Try this - once you have an arm bent at the elbow, change the REST length of the upper arm bone. Youll see the deformations change in realtime as it releases or grabs new vertices. I do this to make sure my deformations look as good as I can get at this stage. Knowing how bones work will only help you when it comes to weight maps because weight maps modify the bone influences over vertices (unless youre using weight map only). You can also use hold bones and tweak/animate those to make sure poses deform well.

The last thing to do is then determine if weight maps are still needed. This is simply a logical workflow. Lets say its going to take 6 hrs to create and tune youre weight maps up front. That will still be the same 6 hrs if you do it at the end. The difference is that you may find that after creating the model in the manner I suggested earlier, adding bones/hold bones that you may not need any weight maps or only very simple ones. That means you can save yourself many hours of tedium and headache.

Once past this stage endomorphs can be used along with other techniques to further improve deformations.

Loki,
My Professional Character Series covers ALL of this in great detail and a lot more. http://www.3dtrainingonline.com/professionalcharacterseries.htm
Feel free to contact me if youre interested. I also provide online support. :)

The trick with all this is to experiment.
BTW heres a quick example:
http://www.3dtrainingonline.com/examples/shoulder_rig.mov

IMI
09-17-2007, 09:49 PM
Thanks again, Larry.
I've had my eye on those videos of yours for some time now. I think I'm going to have to do something about that soon. :)

SplineGod
09-17-2007, 10:16 PM
Thank you! :)
Like I said, experiment with a hand, arm etc. Once you get that right its pretty much the same for the rest of the limbs. )

Sande
09-17-2007, 11:48 PM
Weightmapping tools are a bit dated in LightWave, but you can still get decent weightmaps pretty quickly. Vertex Paint is a tool you should learn and there are also a couple of free plugins to help you. Yo's mirror weights is a must.

Sil3
09-18-2007, 07:02 AM
Its simpler in my experience to do a few simple things to reduce or to even completely avoid the use of weight maps.
Spread the fingers, toes, arms and legs apart when you model them and then use the bones to bring them back into a more 'natural' pose. This helps to reduce any bone cross influence.

I will disagree if you dont mind ;)

Spreading Fingers, Toes, and Legs is a "hack" in my book, even though at first it might look like a great solution, this workflow comes from the times when LW didnt had any Weight Maps at all and this was the only way to minimize cross Bone Deformations. This and the "exploded" characters we need to make in the old days... thanks but no thanks had enough of that before LW 6 :p

Now... why do I say dont spread the Fingers? Well just like lowering the Arms to a 35 to 45 is better than having them completly straight, since this will be more of a "natural" Pose during Animation eliminating a lot of that Deformation crunch on the Arm Pits.

Does anyone walks/acts/runs with their Arms straighten out? Not that I know... so put them into a better Rigging/Animation Pose in the first place, your Bone Deformations will say: Thank You :D

IMO Fingers should be Rigged at their most default position, that is a Relaxed Hand with a bit of curly Fingers, not a Straight in Tension Hand that happens when we spread the Fingers apart. If we Rigg Fingers like that, we will might into trouble later on when we need to join those Fingers, they will never join properly leaving always an horrible gap between them, sure we can correct those with Morphs, but keep it simple remember ;)

The same can be said about spreading Legs apart to Rig them, I believe that we must Rig a Character on its most neutral Pose as Possible specially if its going to be used to do Generic Animation.

Timothy Albee way of Posing the Character before Rigging is actually a very clever way to minimize unwanted Deformations. Of course each Character is diferent, but I kinda adopt some of hes methods to my workflow.

Painting Weight Maps is tedious for sure, but so it is adding Bone after Bone to correct Deformations and still not having them exactly like we needed. if we are Rigging for Games then Weights are a necessity and basically all other Softwares need them to be painted (Messiah excluded), so learning how to do it properly will only benefit as work experience.

The trouble of Weight Maps slowing down a Rig in Layout are minimal, since Layout is slow by default with almost any kind of an IK Rig... and anyway, dont Animate seeing the entire mesh being Deformed, use Stand Ins and Parent them to Bones, this will speed up the calculations and the Animator will focus more on the acting and performance of the Character than watching the Character Deform all the time.

SplineGod
09-18-2007, 08:56 AM
To me having to complicate an otherwise simple process with weight maps is the hack.Actually weight maps were added into LW because bone falloff at the time went up to 1^16. Later greater falloff was added, 1^32, 1^64 and 1^128. At that time even Newtek stated that weight maps were not needed as much.
I also used bones in this way on several large productions with little to no problems withi fingers as you mentioned or deformation issues. Also weight maps are no guarentee that a rig will deform well after having applied them. Ive dealt with many people over the years who have fought with weight maps only to see better results by simply turning off the weight maps. In the productions Ive worked on adding and dealing with weightmap issues can easily grind things to a halt. You lose the ability to quickly change characters on rigs and any unforeseen deformation issues quickly make moutains out of molehills. Regardless it still makes sense to determine where, if any weightmaps are needed until after bones have been added and tested.

Adding in a few hold bones like around the ribs area is simple to do and you can pretty much see the results immediately. I cant remember encountering a rig where all that prebending had any significant impact on deformations. I do prebend the eblows and knees but mainly to help with IK solving.

Another advantage of spreading arms, legs, fingers etc os that its a lot easier to add bones then with everything bent in some fashion. It also makes it much more difficult to make sure all the rotational axis are correct. This is especially true if someones using skelegons to rig. Also adding endomorphs to fix issues
is a lot easier then creating and tweaking weightmaps plus more likely to get the desired result.

People dont generally wallk with their arms out to their sides, no. People also dont walk using IK either or are made of a hollow mesh attached to bones using weight maps either right? :)

Im sorry but adding hold bones takes seconds while adding weight maps take MUCH longer not to mention having to tune them which can easily take hours.

LWs IK ist what slows down deformations. Its just the way LWs bones work. Newtek has stated that the addition of Vmaps combined with denser meshes that the greatest slowdowns will occur. I do use and always recommend theh use of standin or proxy characters and its possible to do that in the same rig rather then by swapping them out l ater. The proxy rig doesnt even have to be cut up into pieces and parented to each bone. Thats also a bit tedious in my experience. You still will have a problem on a reasonablly dense mesh on getting thru to check deformations after animating. It just makes sense again to keep things moving as quickly as possible. :)

I also recommend as I said before that people experiment to see what works well for them. :)

If anyones interested you can see a demonstration of the whole proxy thing
here: http://www.3dtrainingonline.com/examples/char_rig_demo.zip

Cageman
09-24-2007, 05:27 PM
I found that the bones in the fingers would tend to deform the surrounding fingers as well.

You never need as many WeightMaps as there are bones if you are not working with Game-stuff (depending on the engine of course).

If problems accour you can easily assign a single WeightMap for a finger and apply that weightmap to all bones that deformes that finger. So, instead of doing it like you describe, only use ONE weightmap / finger.

Using weightmaps, in my experience, make things go faster rather than slower. If you have 100 bones in a character, each bone can deform the whole character, but it doesn't because other bones in the rig acts like "hold-bones" when you move/rotate a bone. This slows down my system because LightWave needs to calculate all other bones at the same time. Using Weightmaps limits a bones possible influence, thus speeding up calculations alot.

Cageman
09-24-2007, 05:41 PM
Im sorry but adding hold bones takes seconds while adding weight maps take MUCH longer not to mention having to tune them which can easily take hours.

That is not true at all. Using weightmaps to guide where bones are allowed to deform takes what... 2 seconds? If you want to deform a finger using 4 bones, using a single weightmap for those 4 bones instead of adding x amounts of holdbones is way faster, imho.

EDIT: I don't need to spread the fingers/toes/whatever way out of pose in order to rig.

SplineGod
09-24-2007, 06:10 PM
Keep in mind that weight maps influence bone influence. That in and of itself slows things down more because of the extra calculations. Newtek has also stated that additional vmaps of any kind will also slow things down. Im also NOT saying to dont use weight maps. Im saying that a person should determine if theyre needed at all or in what level of complexity FIRST before simply committing to using them. Like I said, it doesnt hurt to do the weight mapping last if needed at all.