| Setting up a character with bones and IK in Lightwave - Part 1 of 2 |
|
Part one: Setting up the character for boning The main thing we want to do is make sure that one part o fhte model doesn't move when another part is manipulated. that is bad. say, move the right toe, and the head flies off the body. it's happened. we don't want that. let's meet our friend whom we will be boning today. His name is Rocky, short for Darus Rocket Soldier, and I'm doing him for Stand. His poly count is 797 with both weapons. Say hi! (NOTE: I'm going to change him a *LOT* to make him more stylish, this is a pretty old model, and therefore hasn't reached its full coolness potential. he will have the helmet though. if all goes well, his animations should be done by 2000.)
I won't go into much detail about how I set him up, it's basically a bunch of moving parts and rotating the arms and legs. the most important thing is to have his arms straight out to his sides and the legs spread out so they won't affect each other when the leg bones move. also, I pulled the head WAAAAAYYY out of the body like I did so I can put limited range on it so only the head will rotate and not the head\neck. I made that mistake twice before without realizing it until it was much too late. :/ remember this. you'll move the head back down later. (NOTE: you don't *have* to move it out that far, just move it however far out it takes to get the limited range over all of it. this is explained later.)
also note that he's lying on his back (on the Z axis). the explanation for this? well, it prevents gimbal lock, and I can't quite explain it but let's just say it'll save you lots of trouble later. just do it. now, I moved the guns so far out to the side so I can put limited range on them too, so they won't affect other parts of the model when I move them. this is good. let's take him to Layout! Add object, and go to the top view. NOTE: if you're using QData to compile him, he must be facing forward in the front view. if you're using qME (like I am), you'll be seeing his back in the front view. qME flips it around for reasons I can't explain, so, just do it this way if you use qME. now, when I set up a model to be boned like this, I name it something like boneme01.lwo because i expect to be changing it a LOT as I start animating it and posing it. you'll see this a few times in the tutorial, I think. let's zoom in on the body and add a bone using the Add Bone function in Layout (obviously.) This'll make a bone we can't see, so let's select that bone and click Rest Length. This will adjust the bone's size. DO NOT USE THE SIZE TOOL TO CHANGE THE SIZE OF A BONE!!! this will TOTALLY screw you up. it'll change the size of the bone after you activate the model and deform it in strange ways. this is BAD. rest length is GOOD. okay, heh, I've added the bone and I've moved it to the crotch area (this is a good place to start the skeleton) and adjusted the rest length to 3.16m and I've turned it 180 degrees. it now looks like this.
now I'm going to make a child bone of this. (the child follows the parent.) I'm going to press the equal key ('=') to make an exact copy of the bone. this is what it looks like with a little rest length adjustment on the new bone.
I repeat the process twice more, so the chain of bones goes like this: [crotch - pelvis - stomach - chest] I've adjusted the rest length, by the way. after you do this, it should look disturbingly similar to this.
now I'm going to have to eyeball something. since the head and neck now look like a pez dispenser, I'm going to do the neck and head bones. I can't make the neck that long, no way! I'm going to parent off ('=') a normal-sized neck then parent off ('=') the head, move it down the Z axis, add limited range (explained later), and move it back down to make it look like he has a normal neck. I'll do the moving about later on. after I set up the bones like I described above, it should look like this.
nice. now I do the arms. select the chest bone (bone (4)), because I can't be arsed to rename it... yet.) and parent it off, then move it a bit off to the side, select 'rotate', and restrict rotation to the 'H' axis. to do this, notice under rest length where it has three buttons, 'H', 'P', and 'B'.
Now, to restrict movement to the H axis, you would click 'P' to deselect it (it's no longer pressed down and yellow) so now, with the left mouse button, only the Heading moves. pressing 'P' disabled pitch movement. The same thing works if you unclick 'H' so only pitch moves. if you want to turn off ALL rotation for a certain object\bone, just unclick everything. However, later on we're going to have to make sure pitch movement is enabled for most of these bones so the bones will bend right. I've gone nearly insane trying to get a bone to move right only to find that I'd turned off pitch rotation. this is bad. OKAY! Rotate the shoulder 105 degrees to your left (if you're doing his left shoulder, make it right if it's his right shoulder) move it over so it reaches from roughly where his collarbone is to where his upper arm socket would be. it should look like this.
perfection. parent off a bicep from that and adjust the rotation\rest length until it hits the elbow, then switch Pitch rotation back on (that would be the 'P' you switched off earlier) and adjust it in the side view so the tip of the bone is near the BOTTOM of the arm, close to the elbow. Parent a forearm off of that, then a hand (or a wrist; that's optional, and basically just depends on the model.) for this model I modeled the hands specially to bend at the middle joints of the fingers, so I have a hand bone, a first finger bone, and a second finger bone, AND a thumb. that's not really necessary unless you plan on animating it all special-like; I do. I basically parented everything down in one straight line except for the thumb bone, I parented it off of the hand and moved it to the side. this is what it looks like now. NOTE: it just occurred to me that I'll go ahead and color the bones so they'll show up better. this is done in the scene editor. just click the little thingy in the first column to change color. this works for null objects too, I always color-code my scenes.
looks good. let's do the same on the other side, basically the same way you did it before. no big deal. there's another way to do this, involving a plugin called MirrorBones, which for some reason I don't use, I still don't quite know why. :) it's a free plugin, and you can download it here, but I'll warn you that the website is mostly in Japanese and it may or may not be accessible. it wasn't when I just tried it at the time of this writing. okay, anyway, after you're done mirroring manually or with the plugin, it ought to look like this.
looks good. I think we're\I'm halfway done. now let's do the legs. select the crotch bone. parent a bone off of that. move it to the side a bit, rotate the Heading (that 'H' thing again) until it's facing the opposite direction (and a little to the side) of the crotch bone. I rotated the left thigh to 152.5 degrees heading. adjust the rest length until the tip of the bone touches the knees (14.272m for me.) now mirror the bones with either the plugin or doing it manually. this is what it should look like, unless you did something horribly, horribly wrong, in which case you'll have to completely reformat your hard drive and purchase lightwave again *then* start over.
looks good... of course. now I'm going to '=' off the left calf. it's not sticking inside the object real well, so I'm going to adjust the pitch to 16.7. repeat for the right side, you should know what to do by now. :) after this I'm going to parent off ('=') ankles, feet, and then toes (optional; I modeled it especially for the purpose of bending the toes.) oughta look like this with the calves.
He's coming together just fine, it seems. Now let's do the ankles. I'm just going to = off an ankle. I'm not going to adjust the pitch because it's not really necessary, as the ankle is something of an extension of the calf bone. even if I'm anatomically incorrect, it seems to animate better this way, so I don't complain. I'm going to adjust the heading to 4.5, then the rest length to 6.792m. repeat with the opposite ankle. it'll look like this now.
now we'll add the foot and toe bones. like I said before, the toe is optional. I modeled Rocky to bend at the toe, so that's why I'm doing this. it's no big deal. = off a bone from the ankle, rotate the pitch to -112.8 and the rest length to 6.08m (so it comes up right to the polys where the toes begin). now = off another bone and adjust the rest length to 2.066m and the pitch to 10.7 so it hits the *very* end of the foot and doesn't go out. it doesn't matter too much if it goes out of the foot, but I try to keep it inside if at all possible. if you don't have toes on your model, just extend the foot bone all the way to the end. it'll look like this.
UNBELIEVABLE!! it looks AMAZING!! WOW!! YOU'RE SO COOL!! now you're almost done. :) select the right hand bone (hand, not fingers) and = off another bone. move it WAY off to the side so it's inside the gun object, then adjust the rest length. I adjusted it to 15.594m ut that depends on what you're doing. I learned this trick from Magarnigal, once you activate the bone and limited range and move it back over to the hand, it will keep the gun *perfectly* in the hand, unless you move the bone later. you'll have to separate it in qME later, but this is what I do. the other way is to add the gun object to the scene and manipulate it manually. okay, back to boning. repeat the process for the other gun and you're almost done setting up the skeleton! woohoo! each gun will look like this.
amazing! we've come this far and the skeleton is nearing completion. this is where we'll activate all the bones. select the crotch bone, and tap the 'r' key to activate the bone. press the down arrow to go down to the next bone (and, alternately, the up arrow to go to the previous bone.) and press 'r' on that one too. do this on all the rest of the bones and they will ALL be activated. now we will do limited range. select the head bone and press 'p', or go to the objects panel, select the 'boneme' object, and click the object skeleton button. I find 'p' easier. this is the display you will see.
see Limited Range there in the middle? that's what we want. click the check box next to it and adjust the size to.. oh, let's say... 3m. click on the Minimum Size box and type in '3', press enter, and it'll take you to the Maximum Size box, where you'll press enter again. now close the object skeleton panel and go back to the layout and look at the head.
hmm. it doesn't envelop the head like we want. let's try 4.5m.
perfection! let's add limited range to the guns now. select the right gun. press 'p'. click limited range. let's try a value of 7m. I figure we'll use a value that high because it has to COMPLETELY encompass ALL PARTS of a gun COMPLETELY! this is vital. if you don't do it, certain verts won't move along with the rest of the object. yes, this is very, very bad. that'll also destroy a model if used improperly, say, all over the body. that's bad. now, let's look at what we've done.
looks good. ought to move fine. might check it just in case... yep, works! now do the same thing with the other gun using the same value. it appears we've completed the limited range setup for the skeleton. now, for one last step, perhaps the most important of all. we're going to go back to the object skeleton panel and adj==-H--2#%%%@_ just kidding! in the object skeleton panel, at the top it has several buttons, only one of which is important to us now.
that button is the Falloff type button. it's currently set to 1 / Distance ^ 4, change that to 1 / Distance ^ 16. this creates a sort of 'automatic limited range' that keeps us from having to add limited range EVERYWHERE, which is really annoying, and a waste of time. this is the most IMPORTANT part of setting up a skeleton for animation\posing. if you don't turn it on, oh, you'll know something's wrong. now, select the crotch bone either in the layout window or in the the object skeleton window. click 'rename bone' and type in the name you'd like for the bone. probably 'crotch'. that's what I do. repeat the process for the rest of the bones.. believe me, this will SAVE YOU TIME LATER!! I *highly* recommend taking the time to do this. you'll have to check back into layout occasionally to find out which bone is which, which takes a little longer, but this is WELL WORTH THE EFFORT! second to last thing. select the head bone. move the head to 0m on the X axis, 5cm on the Y axis, and 3.396m on the Z axis... or, however long it takes for it to hit the neck bone. I had to make a small adjustment to the location of the bone afterward, so I took a quick trip to the object skeleton panel to deactivate the bone (by unclicking the Bone active checkbox) and then readjusting the limited range to 6m, and similarly deactivate and change the rotation of the neck on the pitch axis to 6.0. I reactivated both bones and moved the head bone back where it should be. after all that, it'll look like this.
now, select the neck bone, and move it to 7.96m on the Z axis. X and Y are both at 0m. this will move it back onto the body... at least, it did for me. now, do the same thing with the gun bones and position them in the hand as perfectly as possible. I won't go into detail on this because by now you should know how to do this. I guess we're done with the skeleton now. select the boneme object, click 'rotate', and adjust the pitch in the numeric panel to the left (underneath 'reset') and set the pitch to 90. the model will now be rotated upright. |