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


40.4 Deinonychus Dinosaur - Stealing Skeletons
 
Previous   Table of Contents   Home   Next




Stealing Skelegons From Leroy

Scientists tell us that some of the dinosaurs might later have turned into what we know as birds. So, might it be possible to steal the skeleton from Leroy and use it here? Lets find out how hard that is to do.

In the 'Leroy the Hawk - Animation 1' tutorial I showed how to create a fully articulated skeleton using skelegons. Our dinosaur has three toes, two legs, arms about the same size as Leroy's wings, and a 'beak' of sorts, so lets see what Leroy's Skeleton looks like inside Deinon.

I look in my object directory, searching for the latest version of Leroy that has skelegons. It seems that load Leroy_21.lwo is the most recent one that has skelegons.

I enter 'Wireframe' mode so I'll be able to see the skelegons, press CTRL-h to enter 'Select Polygons' mode and highlight the edge of one of the skelegons. I then press ']' to do a 'Sel Connected' which highlights every skelegon.




I press 'c' to copy to the clipboard, close the Leroy object and don't save the changes, then select an empty 'Deinon' layer and paste the skeleton into Deinon.

I select the skelegon layer to be the foreground layer (top-left of diagonal line) and 'Deinon' to be the background layer(bottom-right of diagonal line).




Leroy was created to be rather large, but still not the height of Deinon.

I turn on by pressing 'SHIFT-y'. That way the vertices which are on the zero 'Y' axis won't move.

In the right viewport I align Leroy's legs with Deinon's.


Sizing the Leg Skelegons




I press 'SHIFT-h' to enter 'Size' mode and begin sizing by clicking where the red 'X' is in this image...




Since LightWave uses the first spot you click as the point around which to enlarge (or shrink) an object, clicking where the red 'X' is will allow the skeleton's feet to stay planted on the ground as it grows.

I raise the size of the skeleton until the hip bone juncture of Deinon matches the hip bone junction on Leroy. The upper torso of Leroy's skeleton will be huge relative to Deinon and you'll notice that Deinon has one more skeleton in his leg which I'll have to add later.

I align the hip bone juncture in both the 'Back' and 'Right' views.





Re-adjusting the Tail

I select the tail skelegon, then press 'CTRL-t' to enter 'Drag' mode. I drag the vertices at either end of the tail skelegon to the tip of Deinon's tail and to the tail juncture in the 'Right' viewport.





Head and Mouth Skelegons

I decide that the best way to move the head skelegons is to highlight the vertice points of the skelegons. This will allow me to move all of the head skelegons at once to their proper location without disturbing their relative positions with each other. I press 'CTRL-g' to enter 'Select Points'.




I ensure the 'Move' mode is selected (by pressing 't') and drag the points to line up with Deinon's head. I press CTRL-t to 'Drag' each points to their optimum positions in the 'Right' viewport.





Converting Wings to Arms

I deselect all vertice points, then select the shoulder vertice points in the 'Back' viewport and drag them to where Deinon's shoulder joints would be in both the 'Back' and 'Right' viewports. Here the points have been enlarged so you can see them better.




I select all vertice points which are on the ends of each of Leroy's wing skelegons and using CTRL-t, I 'Drag' them in both the 'Back' and 'Right' and 'Perspective' viewports until all skelegons are where they should be. I place the three finger skelegons along the center of Deinon's fingers. What had been Leroy's 'Thumb' becomes the first joint of one of Deinon's other fingers.






I do the same with the vertice points for his knees. I'm pleasantly surprised that the 'missing' skelegon in the leg is actually there, it's just very small. I align the simple three toes of Leroy to be the first joints of each of Deinon's toes.





Correlating Skelegon Names

When I select from the 'Other' section of the 'Detail' tab, I find that the entire skelegon name structure of the Leroy skelegons is there along with each weight map name to use with the association.




When I check the drop-down menu at the bottom right, every one of Leroy's old Weight Maps is there, but there are still no weight maps for any new skelegon which I created. Thus, again, remember that just by placing an associated name in the Skelegon Tree list, that doesn't create a weight map for that skelegon.




When I save the new Deinon (synchronizing Layout afterwards so as to keep the most current scene up-to-date) re-loading him, the weight maps are still there.

Next, I add any skelegon which Deinon might have that Leroy didn't.

I add three sets of three toes to each foot and three sets of four toe sections to his hands, cloning skelegons, then moving skelegons, then welding points.

I name his innermost toe Deinon_RightToe01_1, Deinon_RightToe01_2... as they move towards the outer digit.

I call his center toe Deinon_RightToe02_1, Deinon_RightToe02_2

... and the outermost toe I name Deinon_RightToe03_1, Deinon_RightToe03_2... etc.

I do the same with the four digits of each of his three fingers. Then, I add three skelegons for his tongue.

Some skelegons were aiming in the wrong direction so I select those skelegons and press 'f' to flip them. Remember that a skelegon hinges from the short end, thus the short end of every skelegon in a figure should always point toward the hip joint.




Since actual weight maps have to do with associating a value with each vertice point in a model, they have to be empty weight maps associated with nothing as all of Leroy's vertices are now gone.

Because every weight map is useless now, I select each of Leroy's old weight maps one-by-one from the weight maps drop-down menu and click the button from the 'General' section of the 'Map' tab to remove it. I continue until all of Leroy's old weight map definitions are gone.

I select from the 'Other' section of the 'Detail' tab and go through the arduous task of changing 'Leroy' in both the 'Skelegon Name' column, and 'Weight Map to Associate With This Skelegon' column to 'Deinon'.

I change 'Leroy' to 'Deinon' by copying 'Deinon' to the clipboard by pressing 'CTRL-C', highlighting 'Leroy' wherever there's an occurance and replacing a highlit 'Leroy' with 'CTRL-V'.

I change 'Beak' to 'Jaw' and 'Wing' to 'Arm'. You have to realize that working with a 3D Sculpture Program is not all fun and games. Sometimes you'll just have to do tedious things. The best thing to do, in that case, is get started.

After I'm done, I also find that one of Leroy's skelegon names was missing an underscore.

When I'm done, it looks like this:




Now, realize that no weight maps were created by doing this. After changing all the skelegon names and associated weight map names from 'Leroy' to 'Deinon', you'll then be prepared to create weight maps.


Creating Weight Maps

Now, just as I did in chapter 37, '37.3 Cartoons - Leroy the Hawk, Animation 3', I'll create bone weight maps automatically using 'Make Bone Weight Map'.

I, first, save the object I just did as 'Deinon_NoWeightMaps.lwo' in case I make a mistake. I 'Synchronize Layout' and from Layout I save the scene as 'Deinon_NoWeightMaps.lws'.

If you ever run into problems where you have a scene, have bumped the object name, but for whatever reason the scene number no longer corresponds with the object number, select the object's layers one-by-one from the 'Objects' menu in Layout and do a 'Replace->Replace With Object Layer...'. Select the proper layer one-by-one until all layers have been replaced.

For your convenience, I'll repeat what I said about using the 'Make Bone Weight Map' plug-in.


MODELER, 'MAKE BONE WEIGHT MAP'

From the 'Weight & Color' section of the 'Maps' tab I select

I select 'Inverse Distance' for the Falloff value.

Since there are no weight maps defined at the moment, I don't choose the 'Additive' checkmark as that would add the effect to current weight maps.

As I did with Leroy, I guess at a value for the for the Threshold value, but because Deinon is twice as big as Leroy was I try 400 mm as the Threshold value and set 'Blend' as the threshold type.



Although the 'Make Bone Weight Map' title on the window seems to imply that you're making just one bone map, it will make a 'Weight Map' for each current skelegon using those values.

This will mean that even though we just deleted out all of Leroy's old weight maps, they'll all be re-written using Deinon's vertices this time.

The instant that I click 'OK', appears in the 'Weight Map' drop-down menu at the bottom right of the Modeler window.

When I drop the menu, I see that LightWave has used each skelegon name to create weight map names.



I check each weight map by selecting each weight map name, then watching the 'Perspective' viewport while in 'Weight Shade' mode.

I find that 400 mm is too much for some body parts and not enough for others. I finally decide upon 300 mm. This is what the 'Deinon_LeftAnkle' weight map looks like.



I'll have to clean up the influence upon the other leg, in this case, by deleting all influence from that extremity.

Since the weight values are determined using a circle which radiates from both end-points at each end of the skelegon, any geometry points which are around the center of a skelegon sometimes get a lower-intensity of influence.

Therefore, the strongest influence will be around each end of the skelegon and there will sometimes be a little bit of a drop-off in influence at any points which are above the center of a skelegon when using this automated method of creating weight maps.

As in this case, if I don't like the weight maps that LightWave creates for me, I press 'u' to undo them. select and make slightly different choices.

If the weight value on any point isn't correct, I modify those point's weight values as I've shown how to do in previous tutorials.

Then I just go through each body part's weight map, modifying them until they work correctly when brought over to the Layout program.


MODELER, MODIFYING BONE MAPS

You modify the bone weight maps one at a time.

I select from the Weight Map drop-down menu.

I choose 'Weight Shade' as the view type so I'll be able to see a representation of the weighting values.

I make sure subsurfacing is turned off (TAB) as refresh will be much faster if I turn it off.



I've decided to illustrate using 'Deinon_LeftBicep' because 'Make Bone Weight Map' didn't do a very good job. Its a particularly messy weight map and the view shows me that I'll have to remove influences in the thigh, on the other side of his body, in his shoulder and stomach.

IMPORTANT - The 'Weight Shade' view type acts like the 'Sketch' or 'Smooth Shade' view type in that it won't highlight points on the 'other side' of the surface, only on the current side that you can see. You always have to choose the 'Wireframe' view type in order to select points on the 'other side' of an object.

I first hide any polygons which have no influence by entering 'Polygon Select' mode with CTRL-h, selecting them, then pressing '-' to hide them. I enter wireframe mode, then use the right-select button to lasso large sections of polygons which I know have no influence, then '-' to hide them. I keep switching between 'Wireframe' and 'Weight Shade' mode to verify what needs to be hidden.



Next, I enter 'Point Select' mode by pressing CTRL-g, choose the 'Wireframe' view type and select some of the vertices which I'm positive should have no influence when the bicep moves.



I select '(new)' from the Weight Map drop-down menu, then select 'Deinon_LeftBicep' from the 'Create Weight Map' drop-down menu.

Wherever I say, "Select '(new)' from the Weight Map drop-down menu", you could also click the button in the 'Weight & Map' section of the 'Map' tab) which will save you one step.



I enter zero as the Weight Map value, then click 'OK'.

This will cause all selected points in the already created weight map to be set to a zero weight map value and will leave all other vertice points at whatever values they were before I did this. It doesn't seem to matter whether 'Initial Value' is checkmarked here even though this isn't setting the 'Initial Value', but is redefining values on those vertice points.

I switch back to 'Weight Shade' view type and see the new weight map values.



The weight map has already improved.

While in 'Weight Shade' view type I select more points. It won't hurt to select ones which might not have any influence anyway. In case they have a minimal amount of influence I ensure that they're zero by forcing them to be.



I again pick '(new>' from the Weight Map drop-down menu and choose 'Deinon_LeftBicep', setting the value to zero again.

There are still a few points with influence hiding here and there so I carefully select the remaining points of influence.



I unhide all polygons by pressing '\'.

I select all points that are on the perimeters.



I pick '(new)' from the Weight Map drop-down menu and choose 'Deinon_LeftBicep', but this time I set the weight value to 30%.



I could taper the next row to 60% if I wanted. The shoulder will probably have to gradually taper with a 20%, 40%, 60%, 80%, 100% taper. Or possibly a 25%, 50%, 75%, 100% taper. And, even less gradual would be a 33%, 66%, 100% taper.

But, it's always best to do the minimum first, then if it doesn't look after animating it, modify the taper.

Be careful, though... it's VERY EASY to select the wrong weight map name so before you click 'OK', make sure that you've selected the correct name. It won't actually change the weight map until you click 'OK', so you're safe until then.

In this same manner, modify all of the other weight maps, saving with bumped revision numbers often.


MODELER, DIFFERENT MODIFICATION METHODS

Things can oftentimes be accomplished in many different ways. Let me review some ways you can modify weight maps.

The 'Weights' or 'Airbrush' methods of modifying weight maps allow changes to automatically be remembered by LightWave. These methods can be very dangerous, as it means that if you switch to a different weight map when you're working on one weight map that you could accidently change that one as well, forgetting that you're actually still in a direct weight map modification mode.

Let me review how this method of modifying weight maps works.

I created a weight map for the left thigh and now I want to match it with one for the right thigh. Here's the top-view of the left thigh weight map.



It's still not perfectly blended, but the transitions are quite close to what their final values will be. I use three methods to modify the weight map for the other thigh.

The first way I modify weight maps is to select the button from the 'Weight & Color' section of the 'Maps' tab.

I point the mouse at a vertice and drag the mouse to the left to lessen the weight value (red dims, then turns blue when it goes negative) or to the right to raise the weight value (grows more red). In that case, that change will be permanent inside that particular weight map. If you choose another weight map so the one you modified went away, then went back to it the modifications you did (of course) are still there because it remembered the changes automatically.

The second way I can directly modify weight maps, visually, allowing LightWave to automatically remember the changes works when you use the tool. In this case, you rub or pass across vertice points with the left mouse button. This increases the weight values. To decrease weight values with the airbrush tool, hold down the SHIFT key as you rub over vertices.

The airbrush tool is sometimes not as delicately controllable, though, particularly when your polygon count grows. Because the airbrush tool is a processor-intensive action, there can be a lag between when you rub on the points and the time that the change actually occurs. And, after you make a change, remember that the weight map is permanently altered.

You can, of course, press 'u' to undo a weight map change, however so if you make a mistake remember that it will permanently alter your weight map if you don't undo it.

You can modify the aspects of the airbrush by pressing 'n' to bring up the 'Numeric Requester' for the airbrush tool.



If you have a lot of polygons and the refresh rate is slowing things down so much that the changes can't keep up with the display, try reducing the Strength value. Increasing the 'Radius' will allow it to modify more than one point at once. Modifying the Weight Value will allow more or less influence at a time to be laid down.

In this way I can visually match one side with the other.



MODELER, SKELEGONS FOR IK

At this time I won't explain anything about IK (Inverse Kinematics). Suffice it to say that I'm going to add tiny skelegons at strategic points at junction points in the skeleton which will later be used to attach Null Goals to when I'm animating the arms and legs with IK.

I'll be showing that it's better to add too many skelegons, rather than not enough skelegons. In the Layout program, you can always either delete, or hide, bones which are created that you find you don't need.

In the upcoming illustration, The four red lines indicate four skelegons which I won't be needing once I go to the Layout program.

When I delete them, it will create separate skelegon chains.

Up until now, this would have been annoying, because I oftentimes select one polygon, then press ']' to select the entire skelegon chain structure.

If I'd deleted these skelegons back then, I'd have had to select one polygon from each skelegon chain before I pressed the ']' key to 'Select Connected'. However, now that I'm putting the finishing touches on the skelegon chains, I won't be needing them connected any more.

In Layout, bones don't need to physically touch each other. Two bones which are separate from each other can be parented together.

Also, I've numbered some of the tiny skelegons I'll be needing. I'll also need to be creating three skelegons for each wrist (I actually only need one, but it can be convenient to have three, one to attach a Null Goal to, one to use to rotate the wrist and one to use to move the wrist).

Puller Skelegon #1 will be called 'Deinon_Root' and will be used to move the entire upper body.

Puller Skelegons #2 and #3 will be called 'Deinon_RightShoulder_Puller' and 'Deinon_LeftShoulder_Puller'.

Puller Skelegons #4 and #5 will be called 'Deinon_RightKnee_Puller' and 'Deinon_LeftKnee_Puller'.

Puller Skelegons #6 and #7 will be called 'Deinon_RightAnkle_Puller' and 'Deinon_LeftAnkle_Puller'.


In Modeler, I deselect all polygons, then in the 'Right' viewport I pick 'Skelegons' from the 'Elements' section of the 'Create' tab.

I create skelegon number 2, starting just to the left of the shoulder point, click, then drag to the left.


I press ENTER to have it finish the skelegon, hightlight it as a polygon, then do a 'Rename Skelegon' and name it 'Deinon_RightShoulder_Puller'.

LightWave, of course, doesn't read minds, so when I go to the perspective view and turn the figure I can see that it has created the new skelegon with an X value of zero, so it is straight between his shoulder blades.


It needs to be lined up with his right shoulderblade, though.

So, I press CTRL-g to enter 'Select Points' mode and in the perspective view I highlight the point at the top of his right bicep.


I press 'i' to bring up the 'Information' requester on the point. I'm going to need to know two dimensions, the X and Y dimensions. The end of the skelegon will also need to be eventually moved in the Z direction too, but that will be done by welding the two points together once I'm done.


I highlight the X value and copy it to the clipboard with CTRL-c, then write down the Y value.

Next, I deselect that point and select the leftmost of the two skelegon points of the skelegon I just drew in the 'Right' viewp.


I again press 'i' to bring up the information window, paste the X value into the X box, and type the Y value into the Y box.


This aligns the outer point of the new skelegon so its even with the shoulderblade.

Finally, I deselect all points, then highlight the rightmost point of the new skelegon, then highlight the right shoulderblade point in the perspective view. I have to highlight them in that order so the new skelegon point snaps to the shoulderblade and not the other way around.

I press CTRL-w to weld the two points together, then I shorten the length of the new skelegon a bit by pressing CTRL-t and dragging the leftmost point to the right in the 'Right' viewport.

(If you're a stickler for accuracy you could again bring up the information requester and ensure that the point's Y value equals the shoulder blade's Y value).

I rotate the arm in perspective view and back away.


I then highlight the new skelegon, select 'Edit Skelegons' from the 'Other' section of the 'Detail' tab, and adjust the bank rotation handle so the handle points upward.

I do the same with each of the other 6 pullers.

I create another puller at the end of his tail and call it 'Deinon_Tail_Puller', again aligning its bank rotation handle so it points upward.


MODELER, WRIST BONES

I'm going to do a holdover from earlier versions of LightWave. I got into the habit of doing it this way, and thus it's the way I do it still.

It was a recommended practice a few years ago which helped prevent Gimbal lock. Gimbal lock is when you rotate something past 90 degrees while in World Coordinates. LightWave used to get confused and would start acting wacky.

I'll create three bones for each wrist, all nestled within each other.

In this image, Deinon's hand is to the left and his forearm, to the right.



It doesn't matter which of the three is drawn first, but the one I've colored yellow-orange I've called 'Deinon_LeftWrist_Puller'. I'll be attaching a null object to that bone to use as a goal when I use IK (Inverse Kinematics) on the arm.

In reality? I could use the bone I'm going to call 'Deinon_LeftWrist_Rot' to attach the goal to, but I think it's more intuitive to create a separate bone for all three purposes.

If you use a bone for two different things, its easy to forget that you did that, later. Also, if someone else is going to animate your figure, it's easier for them to understand why you did something if you separate the functions into separate bones.

The second wierd wrist skelegon, which I've colored orange, I've called 'Deinon_LeftWrist_Trans'. I'll use that bone when I wish to reposition the entire hand without readjusting its rotation.

The third wierd wrist skelegon, which I've colored red-orange, I've called 'Deinon_LeftWrist_Rot'. It's the bone I'll use when I rotate the entire hand. I bonded all three of the small sides of each of the three skelegons together to the forearm point, staggering their lengths in Modeler so I can easily select one of the three when in Modeler.

Double-check that all of the skelegons hinge in the right direction. Remember that a skelegon hinges from the short end, not the long end, so all of your skelegons must be aligned in the proper direction. If any aren't, select them as a polygon and press 'f' to flip them.

In Deinon's case, all skelegons must hinge away from the 'Deinon_Root' skelegon that's attached to the bottom of his backbone (highlit yellow in the image).



Previous   Table of Contents   Home   Next