tIntro to Maya's Set Driven Keys Tutorial (SDK)
by Wade Ryer

Set Driven Keys (SDK) are essential to making the most of Maya as an animation package.  SDK's are a basic function in which the user may set a conditional keyframe that relies on another keyframe to establish it's own properties.  Simply put, if A=W and B=X, then A=Y and B=Z.  “A” is the "Driver," and “B” is the "Driven.”  Depending on the properties set to A, B will respond in different ways.  This can be extremely useful for rigging purposes.

click for detail

The following example demonstrates how this works in a basic muscle flex. This technique may be used for infinite other uses.

Download the following file: sdk_demo1.mb
This file contains 2 polycylinders (1 flexed arm and 1 straight arm) and a 3 joint IK bone.

 

Set the blend shapes for the arm.  Select the flexed arm, hold Shift and select the relaxed arm and select Deform-> Create Blend Shape.  The channel box should now have an input for the new blend shape.

 

Do a simple bind to get the geometry attached to the bone.  Select the arm and select joint1, then select Skin->Smooth Bind.

Select the blendShape1 and select Animate->Set Driven Key->Set ->(open window icon).  The Set Driven Key window should open.  Highlight the blendShape1 and highlight the arm_flexed to the right.  This will be the driven object.

 


Click for detail

Minimize the SDK window and select the forearm bone, or joint2 (turn off select object by geometry may help).

The next step is to connect the arm rotation to the shape of the flexed arm so that every time the arm bends there is a nice flex. Restore the SDK window, and while the joint2 is selected, click the "Load Driver" button.  This loads the selected joint2 into the driven column.  Now select the rotate Z for the joint2 driving attribute.  Press Key.  This sets the initial key.

 

Next, select joint2 (the forearm), and rotate it 90 degrees in the Z direction.  (It may be useful to turn the visibility of the flexed arm in the layers).

 

Select the blendShape1, and in the channel box input “1”for the arm_flexed attribute.  This should flex the arm.

 

Finally, go back to the SDK window and hit Key.  This should set the last key.  To test this, simply rotate the arm in the Z direction and the arm should be mighty and strong, flexing about like Hulk Hogan.

You may download the final source file here: sdk_demoFINAL.mb

 

 
Copyright 2007 Wade Ryer