|
3 of 5 |
|
| With the bones in place and Joint Compensation set, we're ready to set up the Inverse Kinematics (IK) chain. This will include setting the limits of rotation for the bones and setting the IK goals. |
First we'll set the rotation limits for each bone. This will help keep the knees and ankles from hyper-extending. It also makes it easier for LightWave to calculate the skeleton's motion by reducing the number of possible IK solutions.
Setting bone rotation limits consists of entering two values, a minimum limit and a maximum limit. This can either be done interactively in Layout using the keyboard shortcuts, or if the exact values are known, in the IK panel.
| Select Bone (1) as the Current Item and rotate it backwards to a pitch of 55 degrees. Now press the { key (Shift + [). This sets the minimum pitch rotation limit to 55 degrees. Now the leg won't rotate further backwards than 55 degrees. Mouse Function
Bone Rotation
|
|
| Leg rotated to minimum limit. |
| Now rotate Bone (1) forward to a pitch of 185 degrees and press the } key (Shift + ]). This sets the maximum pitch rotation limit to 185 degrees. Bone Rotation
|
|
| Leg rotated to maximum limit. |
Now the leg won't rotate outside the limits we've set and will be much more manageable when working with IK.
To reset the bone back to its normal position, press Shift + Right Arrow or select Reset from the layout controls.

Make sure the values match those we entered above. If you made a mistake or knew the values you wanted beforehand, you could have gone directly to the panel and entered them.
Notice that the limits weren't set for Heading. When you set IK limits with the keyboard shortcuts, only those rotation axes with their constraints selected have their limits set. This won't be a problem for the animation as long as we leave the Heading constraint deselected for the bone.
| Minimum Pitch Limit | Maximum Pitch Limit | |
| Bone (2): | -120 degrees | -5 degrees |
| Bone (3): | 25 degrees | 120 degrees |
| Bone (4): | 0 degrees | 0 degrees |
Open the Objects panel and click Add Null Object. This creates the Null object we'll use as the goal for the IK chain.

Go back to Layout and make Bone (4) the Selected Item. You may have difficulty doing this because when we added the Null object, it became the Selected Item and it has no bones. To fix this, make Objects the Edit item, then change the Selected Item from Null to legRough.lwo. Now make Bones the Edit item and choose Bone (4) for the Selected Item.

| By setting the Null object as the goal, we have told Bone (4) to reach out and try to "touch" or attain the goal's position. In doing this, it will cause the entire leg to rotate with the goal. When you close the IK panel, you should see the leg rotate into position to reach the goal. |
|
| Leg object reaching for goal. |
The reason we chose Bone (4) rather than Bone (3) (the foot bone) has to do with the way IK works. Inverse Kinematics only forces the position of the last member of the chain towards the goal; it doesn't change the rotation of the last item in the chain. We added the null bone to give us an extra item to point at the goal. That way, we can rotate the bone we want to have rotate. In this case, Bone (3) the foot bone.
You may notice that leg is a bit jumpy in some positions. This happens because there are a number of different solutions for the leg to reach the position of the goal. There are a couple of ways to solve this. If the bones did not have Rotation Limits set, this would be one place to check. We have already done this, so let's move on to the next solution. Multiple goals!

| Select Null (2) and Move it around. We can see that Null (2) now controls the leg and the foot continues to point at Null (1). In using this set-up, Null (2) now becomes the main goal of the leg while Null (1) can be used as a fine tune control over the foot. |
|
| Controlling the leg with Null (2). |
To parent Null (1) to Null (2), make Null (1) the Selected Item and then click the Parent button. From the Parent requester, choose Null (2) on the pop-up menu.

You should see Null (1) move to the position of Null (2).
|
|
Add the Skeleton
|
Animate the Leg
|