Enter 0, 0, 0 for its rotation heading, pitch, and bank, and then manually rotate it until it lines up with the orange pelvis bone of the cloned mesh.. After you change the rotation valu
Trang 13 Maximize a Schematic view (by pressing the numeric keypad’s
0 key, which toggles the “maximized view” mode on and off, just as in Modeler) and organize your character into an iconic representation of a human As in Figure 5.6, I lean toward a classic da Vinci layout, giving the rough impression of the character standing spread eagle, palms up.
Figure 5.6 Animation can be pretty hectic Every bit of organization you can dobeforehand helps With the controls for your character laid out like this, you canquickly choose the control you need without having to scroll through a list (Thisillustration is only a suggestion; it is what works best for me Feel free to innovateand find what works best for you!)
Trang 25.3 Aligning the Spine, Pelvis, and Feet
Because the skelegon “bank rotation handle” is a little cryptic to understand, sometimes you’ll find that you’ll need to adjust the rota- tion axes of the bones as Layout has created them from Modeler’s skelegons.
1 Select the Root bone.
Depending on the viewport in which skelegons were created, bones created from these skelegons can have a +/–90º bank rota- tion to them (even if the bank rotation handle was never touched).
Figure 5.7 Pitch is what we would normally think of in LightWave as the axis torotate an item forward and backward (around its X-axis) With the way Root iscurrently oriented, in order to bend the character forward and backward we wouldhave to use heading (represented by the red circle on your screen)
Trang 32 Select your character’s
mesh (object).
3 Choose Items|Add|
Clone ^C and enter 1
for the number of clones.
(See Figure 5.8.)
4 In a Schematic window,
move this new object to
a place where it won’t
interfere visually with
the original model and
its hierarchy.
Note:
I’ve found the Clone command towork more reliably than the CloneHierarchy command
Note:
Under Display Options|SchematicView, you'll find a check boxlabeled “Drag Descendants.” Whenthis box is unchecked, each “node”within a Schematic view can bemoved independently of all the oth-ers When this is checked, movingsomething in a Schematic view alsomoves all of its children — this iswhat you’ll want for Step 4
Figure 5.8 Your model will be cloned, along with all its bone structure
Trang 45 With the clone of your model still selected, open the Classic
Scene Editor and choose Select|Select All Bones of rent Object.
Cur-6 With all the bones of the cloned model selected, within the
Scene Editor select Colors|Color Selected Items|Orange.
Figure 5.9 All the bones of the cloned model will be
selected
Note:
The bones you just colored orange will be guides for us to
match as we rotate our model back into alignment If you
notice in the Current Item field that you’ve got an orange
bone selected, stop! LightWave only has one level of undo
in Layout Make sure you have the right bone selected
Trang 57 Select the Root bone of your original mesh (It should be cyan,
not orange.)
Figure 5.10 All the bones you have selected will be colored orange
Figure 5.11 Just making sure that the correct bone is selected
Trang 68 Change your tool (what LightWave does when you move the
mouse) to Rotate (Modify|Rotate|Rotate y).
9 In the numeric input field, change the entry for bank to 0.
10 Select the Pelvis bone of your original mesh.
11 Make sure you are at Frame 0.
12 Enter 0, 0, 0 for its rotation (heading, pitch, and bank), and
then manually rotate it until it lines up with the orange pelvis bone of the cloned mesh.
Figure 5.12 The value for bank in my scene was –90 Changing the pivot’sbank to 0 swings my character’s spine and pelvis onto its side
Newbie Note:
After getting each of these bones lined up, press Enter
twice to create a keyframe for that bone Even if you have
Trang 713 Repeat step 12 for Spine1, Spine2, and Spine3.
Figure 5.13 After you change the rotation values for the pelvis to 0, youshould only need to rotate it along its pitch axis to line it up with theorange reference bone Almost always, copying the old value for headinginto pitch aligns the pelvis and spine bones perfectly
Trang 814 Select RightFoot in your original mesh.
15 Set its bank rotation to 0.
16 Select RightToes (in your original mesh).
Figure 5.15 Changing RightFoot’s bank should leave it aligned with itsorange reference bone (even though RightToes is now misaligned) TweakRightFoot’s heading and bank if you need to
Trang 917 Swap the values for heading and pitch, and zero-out the value for bank; RightToes should line up with its orange reference bone Tweak as needed.
18 Repeat steps 14 to 17 for LeftFoot and LeftToes.
19 Check to see that the Head, *Hand_Trans, and *Hand_Rot
bones also have a bank rotation of 0 Adjust them as needed.
20 Save a revision of your scene.
21 Select the cloned object you’ve been using as reference and
press - (or click Items|Delete|Clear Selected) to clear it
from the scene.
22 Save another revision of your scene.
Figure 5.16 RightToes is back on track (Nothing is parented to the toes, sothey don’t have to be exact.)
Trang 105.4 Bone Hierarchy
We did a lot of hierarchy work in Modeler with skelegons, but there are some hierarchical things that can’t be done with skelegons Modeler forces child skelegons to be attached to the tip of their par- ent skelegon Child bones in Layout don’t have to be right at their parent’s tip We’ll need this kind of relationship for our character’s fingers as they attach to the hand.
Figure 5.17 Your character is done with its virtual chiropractic session;be sure to clear the right object!
Newbie Note:
With Parent in Place active, LightWave calculates the SRT
offset required to keep the selected object in the same
“worldspace” (an item’s relationship to the LW world vs its
Trang 111 Check to make sure you have
Parent in Place active
Figure 5.19 Notice how the line that once connected RightThumb_Base
Figure 5.18 Parent in Place
Trang 124 Make RightIndex_Base, RightMiddle_Base, and
RightPinky_Base children of RightHand_Rot.
5 Make RightHand_Rot a child of RightHand_Trans.
6 Repeat steps 2 to 5 for the bones of the
left hand.
7 Make RightHand_Trans and
LeftHand_Trans children of Root.
8 Make RightShoulder and
LeftShoulder children of Spine3.
9 Make RightKnee and LeftKnee children of Pelvis.
10 Make Pelvis a child of Spine1 (Spine1 being a child of Root).
11 Make Head a child of Spine1.
Note:
RightFoot andLeftFoot remainchildren of ch_04
Note:
These are options you’ll want to keep in the back of your mind forfuture reference I’ll go through them in Chapter 8 in the section onhow to modify the setup for your personal preference, but this will getyour wheels turning as to how to apply changes in setup to the needs
of different scenes
With the way the hands, feet, and head are children of differentitems (when IK has been fully activated at the end of Chapter 6), whenyou move the mesh object itself, your entire model will move, statue-like, to its new position When you move the Root bone, your charac-ter’s feet will remain where they are, and his entire upper carriage willmove, frozen and statue-like When you move Spine1, your character’storso will move, statue-like, but his head, hands, and feet will stay put.You’ll find some scenes to be much easier when the hands movewith the momentum of the upper carriage (some martial arts katas),and some scenes much more difficult (grappling) Sometimes you’llwant the head to be independent of the torso (dancing), and some-times you’ll want it to follow (walking) As you begin work on a scene,think about what kind of hierarchy of head, hands, and feet will makeyour work easier, and experiment You’ll find your own personal
Trang 135.5 Recording Pivot Rotations
Now we’re going to tell LightWave to perceive many of the bones’ current directions as if they were 0H, 0P, 0B This is a big help where gimbal lock may be an issue, especially in the fingers, spine, and IK calculations.
1 Under Edit|General Options|AutoKeyCreate, make sure
you have either Modified Channels or All Motion Channels selected.
2 In the main Layout window, make sure you have the Auto Key button active.
preferences for certain kinds of work Your solution is likely to involvereparenting these items (The head may be a child of Root, Spine1, orSpine3; each will have a different effect on how the head inherits themotion of the body.) Nothing is wrong if it works; creativity is rewardedwith a better looking scene with much less effort Just remember thatchanges in parenting work best early on in the animation end of things,and thatParent in Place only works when both items’ pivots are free of rotation So save revisions of your scene before making changes in your
character’s hierarchy
Figure 5.20 The schematic of the character’s hierarchy up to thispoint
Trang 143 Make sure you are on Frame 0.
4 Select the bone named Root.
5 Choose Setup|Modify|Orientation|Record Piv Rot to
record the Root’s pivot rotation.
Newbie Note:
Remember that when you have Auto
Key Create active, LightWave
auto-matically records keyframes for items
you move With All Motion Channels
selected, a key is created on all axes
of scaling, rotation, and translation
when you move the item With
Mod-ified Channels selected, a key is only
created on the axes of the channels
you are modifying Without Auto Key
Create active, all changes in SRT are
lost when you leave that frame unless
you manually create one for each
channel of each item modified (This
functionality was great when Layout
didn’t have Undo.)
Figure 5.21 Both settings
need to be active in order for
Auto Key to record changes in
SRT
Trang 156 Select Pelvis and record its pivot rotation.
7 Repeat this to record pivot rotation for all bones.
Figure 5.22 Recording pivot
rotation
Note:
A good way to check to make sure that the
pivot’s rotation was actually recorded is to look
at the rotation numerical input fields If they’re
all zeros, rotation has been recorded! This is
how I check to see if I’ve missed anything after
doing this step I just quickly scroll down the
bones using the Down Arrow and watch the
numeric input fields to see if there are any
bones that still have values other than zero
Note:
In recording pivot rotation,LightWave (in essence) sets thepivot point’s rotation of the cur-rent item to its current rotation.Then it “zeros” its current rota-tion by setting it to 0H, 0P, 0B.With Auto Key active, akeyframe is recorded at the cur-rent frame (preferably the firstframe of your scene, usually 0)and LightWave perceives theitem as now having a rotation
of 0H, 0P, 0B Without Auto Keyactive, no keyframe is created(unless you do so manually)and when you refresh theviewport (go forward a frame,then back a frame; save, thenload, etc ), the item reverts toits old rotation data, but nowthis data is added to the newrotation of its pivot
Note:
The hot key for recording pivot rotation is <P>
Note:
For my soning behindrecordingpivot informa-tion, seeChapter 2’ssection called
rea-“RotationOrder.”
Trang 165.6 Recording Bone Rest Information
1 With Root once again selected, record its rest position, length, and direction by pressing r (or choosing Setup|Modify|Ori- entation|Record Bone Rest Position) (See Figure 5.23.)
2 Record the rest position for every bone in your model.
Newbie Note:
A bone’s rest position isn’t the same as its pivot rotation
Pivot rotation figures in rotational calculations (heading,
pitch, and bearing).Rest position (which actually also
includes a bone’s restrotation) keeps track of how much the
bone has deviated from its initial (rest) position, rotation,
and scale The points of the object the bone is affecting are
pulled along accordingly
Newbie Note:
A bone should always have a scale of 1, 1, 1 when it is at
rest LightWave uses this scale of 1, 1, 1 as its point of
refer-ence to figure the deforming of the object when the bone is
scaled
If you need to make a bone’s rest length longer or
shorter while in Layout, (i.e., the Root bone is much shorter
than the Pelvis bone), you need to make this adjustment
under the Bone|Properties|Rest Length setting (Click and
drag on the double-triangle button to the right of the input
field.)
Note:
I just start at the top of the character with the Root
bone, and get a nice rhythm going, alternately
pressing <r> and the Down Arrow key It won’t
matter if you lose yourself in the rhythm and record
rest position for a bone more than once if you
Trang 173 Save a revision of your scene!
Give yourself a healthy pat on the back! You’ve just completed the first half of character setup! In the next chapter, you’ll finally begin
to see the power of the setup you’ve been creating as we start to activate IK.
Figure 5.23 Record rest position
Trang 18Putting IK and IKB to Work
Everything is all set to bring the “big guns” of computer animation to bear We’re ready to activate the power (and limitations) of Inverse Kinematics, augmented with the additional power of LightWave’s IK Booster! In this chapter, you’ll begin to see the result of all your hard work in the previous five chapters And after this chapter, there is only one more step until you can begin to see your character come to life by pulling, pushing, rotating, and scaling the controls you’ve so carefully crafted!
6.1 Terminating IK Chains
LightWave must be told where to stop using IK to calculate the tions of the items in the chain This is called “terminating” the IK chain (like tying off a rope that holds a string of buoys) We’re going
rota-to use IK rota-to figure rotations for the neck, arms, and legs only This means we terminate IK at the bones that are the parents of the neck
Newbie Note:
As always, if you feel you need a “leg up” from the last
chapter, you can find the scene that has the work of
Chapter 5 all done for you in Scenes\chapters\
ch_05.lws
Trang 192 Open the Motion Options window for Spine3 by pressing
<m> (Window|Motion Options…) and under the IK and Modifiers tab, check Unaffected by IK of Descendants.
This causes the IK calculations of the child bone, in this case Neck, to stop and go no further.
3 Repeat step 2 for RightElbow (the parent of RightBicep), LeftElbow (parent of LeftBicep), RightKnee (parent of RightThigh), and LeftKnee (parent of LeftThigh).
Figure 6.1 The hierarchical view of the Scene Editor is the quickest way
of selecting the bones we’ll be terminating (While working at this stage,
I find it helpful to hide the mesh.)
Trang 206.2 Creating Goal Objects
Because LightWave’s standard IK doesn’t let you use bones as goals for IK, we have to add a few null objects (which can be used as IK goals) and make them children of the bones we’re using as controls
so that LightWave’s IK can track these bones’ positions (Yes, it’s rather backward, but bear in mind, most everything cool in 3D is a
“hack” of some kind or other “Hacking” in this sense is just ing within limitations — inane as they may be — to get the result
work-we need Remember, creativity is your greatest asset in doing thing with 3D A problem or a stumbling block is simply a gateway
any-to unany-told possibilities for cleverly wrenching the systems inany-to doing what you think they should do by default.)
1 Click Items|Add|Null ^N.
2 Name this null object NeckGoal.
Trang 213 Under Edit|General Options, make sure that Parent in Place
is not checked (See the following Newbie Note.)
4 Press <m> to bring up the Motion Options window for
NeckGoal.
5 Select the Head bone to be the parent item for this null.
Figure 6.3 Setting NeckGoal to be the child of Head (with Parent in Placeinactive)
makes the null instantly “jump” to Head’s base
Newbie Note:
Because we deactivated Parent in Place, the moment we set Head to bethe parent item for NeckGoal, it seems to instantly reposition itself tothe base of the Head bone As a child of Head, NeckGoal’s world nowrevolves (quite literally) around Head’s pivot, and wherever Head is,that is where NeckGoal perceives 0X, 0Y, 0Z, and 0H, 0P, 0B to be.From NeckGoal’s point of view, it is still at 0, 0, 0 If we had had Parent
in Place active when we did step 5, to our perception, NeckGoal
wouldn’t have moved, but if we had looked at its position in the numericinput fields, we’d have found that it now reads something like 0.1215
µm, –1.875 m, 50 mm With Parent in Place active, LightWave lates the offset (taking into account the parent item’s rotation as well asits position) needed to have the selected object stay where it was inworld coordinates, which simply means with respect to the world’s 0X,0Y, 0Z, 0H, 0P, and 0B (More on coordinate systems in a bit!)
Trang 22calcu-6 Create four more null objects, naming them RightArmGoal, LeftArmGoal, RightLegGoal, and LeftLegGoal.
7 Make RightArmGoal a child of RightHand_Rot.
8 Make LeftArmGoal a child of LeftHand_Rot.
9 Make RightLegGoal a child of RightFoot.
10 Make LeftLegGoal a child of LeftFoot.
11 Hide these objects; they are only used for IK calculations, and
we won’t need to touch them during animation Color code them if you are using colors to distinguish items as to which side they belong, and in your schematic, arrange them in a way that makes sense to you (It may seem like wasted time to have a neat, clean schematic, but its worth pays off tenfold when you’re down-and-dirty in a scene and you don’t have time to go hunting for something.)
Newbie Note:
Parent in Place is to remainoff
for steps 7 to 10 in this section
Trang 236.3 Activating IK
Now, we’ve got to activate IK We’ll be telling LightWave which
item will be pulling which chain toward which goal object We won’t
see the chains move yet; we’ll still have to tell Layout which axes
IK should take over on each item to be controlled by IK.
1 Select the RightArm_Puller bone.
2 Press <m> to bring up the Motion Options panel for this
item (See Figure 6.5.)
3 Select RightArmGoal as the goal object.
4 Check the box next to Full-time IK.
5 Set Goal Strength to 80.
in this chain that uses IK to figure itsrotations “Part-time” IK is a holdoverfrom when IK was too much for mostcomputers to continually keep on top
of, but it can still come in handy ifyou need to lighten the load on yourCPU as you work on a complexscene
Figure 6.5 The motion options for
RightArm_Puller
Note:
Goal Strength is a level of how much this chain will try to keep
the puller touching the goal object as you animate A low value
will let the arm separate from the wrist too easily, and a high
value can cause jitters The number 80 is just an arbitrary valueI’ve come up with that seems to keep things together, while
Trang 246 Repeat steps 2 to 5 for LeftArm_Puller, RightLeg_Puller, and LeftLeg_Puller, setting their goal objects to the respec-
tive nulls we created in the previous section.
7 Set the goal object for Neck_Puller to be NeckGoal, enable Full-time IK, and set its Goal Strength to 40 (With only one
bone in the chain, a goal strength of 40 seems to do just fine.)
Figure 6.6 The blue lines on your screen show the active IK chains from the base
of the puller item to the base of the child of the Unaffected by IK of Descendants(terminated) item (These are the IK chains, which can be shown or hidden underEdit|Display Options|Show IK Chains.)
Trang 256.4 Activating Individual Controllers
Next up, we’ve got to tell LightWave which axes will be using IK to generate rotation information for each item in our chains This takes manual control away from whatever axes we select, handing it over
to the computer With respect to the information in Chapter 2 about IK’s strengths and weaknesses, this has to be a very discriminating process.
1 Select the Neck bone.
Figure 6.7 We’ll want this joint to pivot along both the heading and pitch axes