This expression generates a walk cycle for a character. You can simply keyframe the position of the character and the expression takes care that the feet, hands and the body move accordingly to make the character walk or run.
This robot walks fully automatically. Just keyframe the position of its master controller and the expression moves the hand and feet as needed.
At the point where the robot stops, we added some manual keyframes for hand and feet controllers to fine-tune the stopping pose. That's a very powerful feature of the expression, that you can keyframe on top of the generated walk cycle easily.
You first need to setup a skeleton for your character with the IK iExpressions, or other rigging tools like DuiK, Rubber Hose or Limber. The Walk Cycle iExpression does not care about the details of your rig, just ensure that you have
- One controller (goal layer) to move every hand, foot and the body
- One master layer that moves the entire character (just create a new null and parent all these other goal layers from step 1 to it)
Then you just need to move the master layer (2) and the other controllers (1) are moved by the expression as needed to create a walking animation. Watch the tutorial for details.
Animate On Top of The Walk Cycle!
One very powerful feature of this expression is that you can still customize the position of every controller (hands, feet, body) at any frame easily. Consider the walk cycle that the iExpression generates just as a starting point for possible modifications. If your character should stop walking at some point, for example, you might want to fine-tune the pose in which he stops. No problem. Just add some keyframes to the hand/feed/body controllers to modify the animation generated by the expression.
In the expression parameters, you can connect an (optional) ground layer. If a ground layer is connected, instead of moving the character, you can also move the ground layer and the character will walk accordingly. So if you plan to animate (pan) the ground that the character is walking on, just connect some layer that moves with the ground as the ground layer and the expression takes care of all other details.
Internally, the expression needs to compute the distance that the character has walked on each single frame. If no ground layer is connected, it measures how many pixels the character moved in the composition. If a ground layer is selected, it measures instead how the distance (in X direction) between the character and the linked ground layer changed.