Cartoon bending for arms and legs

Curves. Animators love curves. So why do we offer just those rigid limbs to our characters? Let's make them bend with a smooth curve, to help the sensation of fluidity in their movements!

How to do it...

  1. Open the file 005-Bending.blend. It has our character model nearly completely rigged, with all the principles covered until now applied, such as IK-FK switchers and hinged shoulders. But Otto is asking for some "bendiness": that's why we also have an interface slider set up (you know, just a bone to act as a driver).
    How to do it...

    Each limb has three bone chains: one for IK, another for FK, and one for the deformation. Lets pick, for instance, the left lower arm. The three bones which compound it are IK_LowerArm.L, FK_LowerArm.L, and D_LowerArm.L. The deformation bones have two Stretch To and two Copy Rotation constraints each: one of each pointing to the IK bone and the others to the IK one. Their influences are driven by a bone, with opposite values: when the IK gets 1, the FK gets 0 and vice-versa.

    This is good for several reasons. The obvious one is that by keeping bone chains separate we have a clear view of what each bone is doing. A less obvious benefit is that we can easily apply the bend effect without worrying about the IK and FK chains: the effect is applied to the deformation chain, so the bending occurs before the IK and FK chains.

  2. Select the D_UpperArm.L bone, go the Bone panel in the Properties window, change its Segments value in the Deform section to 16, set its Ease In value to 0, right-click on the Ease Out value, and pick Add Driver. The field will get a purple hue, and the bone and its properties will look similar to the next screenshot:
    How to do it...
  3. Now the fun part. Open a Graph Editor window, in the Drivers mode. You'll see a bunch of drivers listed on the left-hand side panel, which is normal for a nearly complete character rig. Find and click on the one called B-Bone Ease Out (D_UpperArm.L).
  4. At the right, on the Drivers sections of the Properties (N) panel, choose Otto_Armature and Bend_Arm.L on the Ob/Bone fields. Keep the X Location channel and enable the Local Space box. To finish this driver, set the value of the Expr field above the Add Variable button as var*2. The next screenshot shows the driver setup:
    How to do it...
  5. Back to the Bone panel for the D_UpperArm.L bone, right-click over its Ease Out value and pick Copy Driver. Select the D_LowerArm.L bone on the 3D View, go to the Bone panel, change the Segments field value to 16. Now we're going to do the inverse as we did to the upper arm bone: set its Ease Out value to 0, right-click on the Ease In field and choose Paste Driver.

    We've inverted the settings here because we need the bend effect to occur on the elbow. The Ease In value controls the curve deformation on the root of the bone, while the Ease Out value affects the bone tip. Since the elbow is the connection between the tip of the upper arm bone and the root of the lower arm one, we need this inverted setup.

That's it! The easing values of both upper and lower arms are driven by the Bend_Arm.L bone. If you rotate the FK_LowerArm.L bone and switch the bend controller on and off, you'll get the results seen in the next screenshot in top view (Numpad 7):

How to do it...

Now you can apply the same principles to the right arm and legs, binding their drivers to the Bend_Arm.R, Bend_Leg.L, and Bend_Leg.R bones. The file 005-Bending-complete.blend has this setup done for all limbs, if you have any doubts. Turning off both the last armature layer, which holds the deformation bones, and the X-Ray property, will give you a ready-to-use setup, allowing you to achieve poses similar to the next screenshot:

How to do it...

How it works...

By properly using drivers to set the Ease In and Ease Out values of bones with segments, we can easily apply the bend effect to arms or any desired bone.

See also

Chapter 5: Stretch those limbs!

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.163.197