Mini Project 1 

For the first mini project, I tried my hand at implementing IK in Unity using the Jacobian Transpose and Pseudoinverse methods, and 2 walk cycles of a rigged character, done in Maya. 

Inverse Kinematics (Jacobian Transpose and Pseudo-inverse Methods)

I attempted two implementations of IK using the Jacobian Transpose and Jacobian Pseudoinverse methods respectively. Both were done in Unity.

The demo above in Unity shows a real-time comparison of the two implementations. The bones following the red spheres demonstrate the Transpose method, while the bones following the blue spheres demonstrate the pseudo-inverse method.

Each sphere influences a set of 3 joints, and can be moved around in 3D space by a cursor.

  • The transpose is computed using the Analytical method.

  • Clamped the rotations to within 360 degrees.

  • Clamped the motion if the target position is far from the end effector.

  • Added a small identity matrix to the original to make it invertible.

  • Used Mathnet.Numerics plugin for Unity to perform Matrix operations

Keyframed Walk Cycles in Maya

I attempted 2 walk cycles in Maya, shown below.

The one on the right is the one I started off with. It is a fairly standard walk cycle.The one on the left is a fashion walk, a variation on the first one

  • For both walk cycles, I followed the five poses of traditional  animation

    • Created the created the Contact pose, keyframed it and duplicated it to create the end pose.

    • Added the opposite of the Contact Pose in the middle of the span of my walk cycle.

    • Created the Passing Poses, taking care of the tilt of the hips, movement of the shoulders.

    • The character is at his lowest point on the Impact Poses.

    • At the Up poses the root/center of gravity is at its highest point

  • I tried paying attention to the movement of the arms, the wrists, the ankles, and the toes. this especially comes across in the fashion walk.

  • I wrote simple MEL scripts to help me select groups of controls at once and save poses, for duplication and backups.