Site hosted by Angelfire.com: Build your free website today!
 


37.2 Cartoons - Leroy the Hawk, Animation 2
 
Previous   Table of Contents   Home   Next

MODELER, WEIGHT MAPS FOR LEROY

Although you created rudimentary weight maps in Part 1, it's now time to create particular gradated weight maps for each of Leroy's skelegons.

I load 'Leroy_Anim_15.lws' into Layout and click 'Modeler' to synchronize the two programs and load the object into the Modeler program.

As always, I bump the object name and scene name to 'Leroy_Anim_16.lws' before I start.

After some experimentation I find that Leroy needs shoulders; otherwise, his arm pinches too much when I move it at severe angles. I call these two skelegons 'Leroy_LeftShoulder' and 'Leroy_RightShoulder' and set corresponding associated weight map names in 'Skelegon Tree'.



In the same way, I decide he needs ankles. With ankles I'll be able to move the angle of all his toes without readjusting the toe angles. I call them 'Leroy_LeftAnkle' and 'Leroy_RightAnkle'.

The joint of Leroy's tail is too far backward, so I move it forward by highlighting the 'Leroy_TailAnchor' skelegon and selecting 'Edit Skelegons'.

I adjust the positioning of the joint (red arrow) using that circle, then lengthen the tail skelegon to fit using the circle at the end of his tail.



After experimenting with different bank angles for certain skelegon groups, bringing Leroy into the Layout program and converting skelegons to bones a few times.

I end up with version 'Leroy_19.lwo' at this point in the tutorial. I bump the number to 'Leroy_20.lwo' so I can do more experiments.

I'll be returning to this point after I'm done illustrating a few things about 'Weight Maps' and 'Weight Map Associated Names'.


MODELER, WEIGHT MAPS vs WEIGHT MAP ASSOCIATED NAMES

Lets see if I can help clarify the muddle that accompanies the use of Weight maps.

I've already been working with skelegons, and have already been adding names to associate Weight Maps with Skelegons so when I select 'Skelegon Tree' from the 'Other' section of the 'Detail' tab, it's already filled out.



Note that it says 'Weight Map' at the top of that column. However, it SHOULD say 'Weight Map to Associate with Skelegon'.

IMPORTANT - Just because there is a Weight Map name associated with a skelegon does NOT guarantee that there is an actual weight map for that skelegon.

So, you can enter a Weight Map name into the 'Skelegon Tree' requester which isn't an actual weight map.

IMPORTANT - You can also enter a weight map name which ISN'T THE SAME NAME as the skelegon name.

If you do that, then the Layout program won't automatically associate the weight map with that skelegon (again, I would call that a bug in the program. If they give you a place to associate a weight map name with a skelegon, then they let you pick a different name for the weight map than from the skelegon, then they should also keep that association once it goes over to Layout program... Oh well.

So, you MUST ensure that the skelegon name equals the weight map name, and you MUST insure that the name you put into the 'Weight Map' list of 'Skelegon Tree' actually does equal the name of the actual Weight Map.

The actual weight map names are to be found in the drop-down list at the bottom right of the window next to

IMPORTANT - If there is no Weight Map name in this drop-down menu, then that Weight Map hasn't yet been defined even if the name you're expecting is in the 'Skelegon Tree' requester.

The name you see when in 'Skelegon Tree' is merely a pointer to (hopefully) a real weight map definition.

When a name is in the 'Skelegon Tree' area, it is YOUR RESPONSIBILITY to actually create that weight map afterward. LightWave will neither remind you, or help you with this in any way.

Also, if names nearly match, they still don't match. 'Nearly' isn't a word that a computer understands. 'Leroy-TailAnchor' is not the same as 'Leroy_TailAnchor'.

Let me illustrate what I mean by showing you yet another place, besides the 'Skelegon Tree' requester where you can associate a 'Weight Map Name' with a skelegon.

Lets say that I created the 'Leroy_RightShoulder' skelegon and I didn't yet associate a Weight Map name with that skelegon.

I can highlight that skelegon, then select from the 'Options' section of the 'Details' tab.



... and, once again, THIS DOES NOT CREATE A WEIGHT MAP.

It really means something like, 'Associate a Weight Map Which Might Have This Name With the Currently Selected Skelegon IF YOU FIND ONE WITH THAT NAME.' If it doesn't find an associated Weight Map with that name it tells you nothing.

However, again, the skelegon name must equal that weight map name or the Layout program will just ignore it and no association will be made.

Confusing? ...I think so.

It's my opinion that it would have been far more understandable if they had been consistent. They should have called it something like 'Weight Map to Associate with this Skelegon', and instead of letting you type it in, they should have let you pick the weight map name from a list. This would be true in both the column for the 'Skelegon Tree', and this 'Set Skelegon Weight Map' requester.


CREATING WEIGHT MAPS

So, this said, I'm going to do some experiments to show all aspects of creating weight maps. I'll back up with my Leroy to a time when he had no skelegons at all. I make sure that there are no weight map names in the Weight Map drop-down menu at the bottom right of the Modeler window by selecting each name and choosing 'Delete Map' from the 'General' section of the 'Map' tab.

It would have been nice if they had given an easier way to delete more than one weight map at a time, but... deleting them one-by-one works.

Once I'm done, the drop-down menu will have no weight maps in it.



Remember that weight maps are associated with geometry (vertices). If you deleted a skelegon tree, weight maps would still be there. However, if you delete a skelegon tree, the weight map POINTERS are gone (as they are stored in the skelegon structure).

I highlight one skelegon, pressing ']' to select the entire skelegon tree, then press the DELETE key.

When I now click on 'Skelegon Tree' in the 'Other' section of the 'Detail' tab, there are neither skelegon names nor associated weight map names.



I save this object as 'Leroy_NoSkelegons.lwo'

So I can see what I'm doing, in the 'Perspective' viewport I select 'Weight Shade' from the right-hand drop-down menu.



This mode will allow me to view weight maps as they are created. In fact, it is the way to prove that a function is actually creating a weight map rather than just creating a pointer to a weight map.

I select 'Skelegons' from the 'Elements' section of the 'Create' tab. In the 'Back' viewport, I click the center of his chest, then click at his elbow to draw the first skelegon in Leroy's left arm (to our right, seeing that he's staring at us).



I drag the skelegon until it's in the center of his arm in the 'Right' viewport.



I press 'n' to bring up the 'Numeric:Draw Skelegons' requester.



I change 'Name' to 'Arm', click the 'Fill Weight Map' checkmark and change the 'Weight Map Name' to 'Arm'.


MODELER, FALLOFF TYPE

I select 'Inverse Distance^2' from the 'Falloff' drop-down menu.

The manual states,

"The Falloff Type setting determines how the influence of bones weakens over distance.

The settings indicate the mathematical formula used to determine the falloff of the influence.'Inverse Distance^4' is the default setting and should work in most cases.

The higher the exponential number (i.e. ^2, ^4, ^8, ^16), the faster the falloff of the bone's influence. Because the falloff is exponential, as opposed to linear, control over nearby points can be maintained with much lesess influence over distant points."

MODELER, LIMIT RANGE - THRESHOLD VALUE

Type 500mm into the 'Threshold Value' box, clicking in the Weight Map box to have it actually take the changes to the threshold value.

Two large circles appear in the 'Back' viewport, each centered around the ends of the skelegon. The manual calls this a 'capsule' shaped Threshold area.

In this particular case, I've set the threshold value to cover the entire area of influence that the 'Inverse Distance^2' covers, so there is no Threshold clipping occurring at all.



If I look at the 'Perspective' viewport, I can see a drop-off of influence that is a direct effect caused by the 'Inverse Distance^2' value.



If I change the Threshold value to 200 mm, and keep the Threshold type to 'Clip', pressing the RETURN key to have it take the change.

The area of influence lessens as can be observed by the lessened area covered by the cyan threshold 'capsule' (I've emphasized the capsule shape. LightWave merely displays two circles).



Were you aware that you could see weight maps in such an instantaneous fashion? It's a great way to learn about weight map influence.

Compare the area covered by the cyan 'capsule' and the red influence map in the 'Weight Shade' window. It's a very sharp deliniation where the threshold chops the taper of influence.



This time I change 'Inverse Distance^2' to just read 'Inverse Distance'. Note that the 'Inverse Distance' influence is a tapered influence.



In this case, the 200 mm threshold is also still having some clipping effect on the area of influence. I can prove that by raising the 'Threshold Value' to 600 mm, pressing 'RETURN' to see the changes.



Note that there is a bit of influence even in the head and legs. You can also see, by comparison, that the clipping caused by the threshold value was still pretty sharp even though it looked tapered.

I'll drop the 'Threshold Value' circle of influence to 100 mm and again you'll see a rather sharp dividing line.



However, if I choose 'Blend' as the Threshold type instead of 'Clip', the dividing line of influence will be more tapered and gentle.



And, when you look at the cyan circles, you can see why they call this Threshold a 'capsule' of influence.



The Threshold Value is a distance from the bone that defines a capsule-shaped region.

Using Threshold Value will take the weight value at this threshold distance and either:

(Off) Ignore it

(Clip) Set all weights outside the distance to 0.

(Subtract) Subtract the threshold weight from all weights, so the weights go smoothly to 0 at the threshold, then start to become negative.

(Blend) ... or subtract the threshold weight value (as with 'Subtract'), then clip the negative weights to 0.

VERY IMPORTANT - The Falloff Type (such as 'Inverse Distance^2') affects all skelegons in a particular object's skeleton.

This means that you can't select one intensity of falloff for one skelegon if it's connected to a second skelegon. If two skelegons are connected together, they both must have the same intensity of falloff.

Generally, the proper use of Falloff Type will make using Limited Range unnecessary, in most cases. (The Layout program calls it 'Limited Range', whereas Modeler calls it 'Threshold Value').


MODELER, THE REST OF LEROY'S ARM

I Click one more time at Leroy's wrist to create his forearm skelegon and again at the tip of his finger to create a third hand skelegon.



Now, I'll look at the 'Weight Map' drop-down menu. Remember that I had first deleted all weight maps before I drew the skelegons.



The fact that it created three Weight Maps called 'Arm01', 'Arm02' and 'Arm03' proves that when you are drawing skelegons, and you checkmark 'Fill Weight Map', LightWave automatically creates a weight map for each of the skelegons that you draw.

Now, lets see about Associated Weight Map Names by clicking on the 'Detail' tab and choosing 'Skelegon Tree' from the 'Other' section.



So, this proves that LightWave also creates an associated weight map pointer name for you when you use the 'Fill Weight Map' checkmark that corresponds with each skelegon name.

But, I always want these names to mean something so I change them to Leroy_Bicep, Leroy_Forearm and Leroy_Hand.



IMPORTANT - Changing the skelegon name, or associated weight map name in 'Skelegon Tree' does NOT change the actual Weight Map name.

If I again select the 'Weight Map' drop-down menu at the bottom right of the window I see that the Weight Map names are still the same.



To change the 'Weight Map' names, I have to choose the Weight Map name from the menu that I wish to change, select the 'Map' tab, and click

I rename all three weight map names.



Let me now click one more time, creating a fourth skelegon. Lets say that I forgot I was still in Skelegon Draw mode. This is annoying. If I make the mistake of pressing 'u' thinking that will undo that last skelegon ALL SKELEGONS THAT I JUST DREW WILL DISAPPEAR.

IMPORTANT - Pressing 'u' will not undo skelegons that you drew when you are in 'Draw Skelegons' mode.

To remove the last skelegon that you drew, press 'n' to bring up the 'Numeric: Draw Skelegons' requester and click

However, let me show you a strange thing. If I now go to the 'Weight Map' drop-down menu, I'll find...



This proves that each time you create a new skelegon, LIGHTWAVE RE-DOES ALL OF THE WEIGHT MAPS AGAIN.

The reason that LightWave does this is you might have changed either the falloff or threshold settings, and since these settings affect EVERY SKELEGON IN A PARTICULAR SKELEGON TREE, LightWave has to change them so they all equal each other at all times.

However, a much more annoying aspect of LightWave doing this can be seen when I return to view the 'Skelegon Tree'.



So, LightWave not only created duplicate weight maps, but IT CREATED DUPLICATE SKELEGONS.

I can prove that there are multiple skelegons on top of each other by selecting the forearm skelegon.



And, when I look at the number of selected polygons, it says 2.



This seems like a very small problem, until you start trying to select just one of the two skelegons so you can delete it. Also, when you do a 'Unify Polygons', that does nothing.

However, if I go into 'Select Points' mode with CTRL-g, then select each point of the skelegons one-by-one I can do a 'Merge Points' (or press the 'm' key).



I click 'OK' and it says...



I do this with all four points, one-by-one.

After I'm done merging the four points, 'Skelegon Tree' still shows the 'Arm01', 'Arm02' and 'Arm03' skelegons, but they are now parented differently than they had been.

And, if I select one of those skelegons with CTRL-h and dragging across its edge it still says

However, now when I choose it says...



I do that two more times and when I go to 'Skelegon Tree' this time, the three errant skelegons have disappeared.



IMPORTANT - If you ever have two skelegons that are right over each other, first merge the points on the ends of the skelegons, then you can do a 'Unify Polygons' to remove the errant skelegon.

I hope that you now understand a lot more about weight maps than you did before.

Previous   Table of Contents   Home   Next