Presentation on theme: "GCDD 4113 INVERSE KINEMATICS. WHAT IS IT? The last child in a chain of bones controls the translation and rotation of parent bones. Move your hand towards."— Presentation transcript:
GCDD 4113 INVERSE KINEMATICS
WHAT IS IT? The last child in a chain of bones controls the translation and rotation of parent bones. Move your hand towards your chest. How many bones moved? Start by removing any limits on rotation Note: this chapter took me 2 hours!
TO ADD A SINGLE CHAIN IK HANDLE Skeleton->IK Handle Tool-> □ Change Current Solver to ikSCsolver (if not already selected) Once you have one, try translating and rotating the handle … not the bone
ROTATE PLANE IK Skeleton->IK Handle Tool-> □ Change Current Solver to ikRPsolver (if not already selected) Turn on “sticky” option Pole manipulator Twist disk
REVERSE FOOT IDEA: Create a new foot structure and bind it to the existing foot joints Create new “heel” joint Create new joints that follow the foot in reverse order
CONSTRAINING Point constraining Forces ankle control to follow the position of the ankle joint (IK) handle Select ankle control, shift-select IK handle Constrain->Point Orient Constraining Forces the toe to follow the rotation of an object Do this from toeControl to toe joint (lToes), not lToesEnd Do this from ballControl to lAnkle joint
ROTATING THE BALL CONTROL
HEEL-TOE MOTION Use Set Driven Keys Start with a circle and deform to the shape of a foot Modify->Freeze Transformations Parent the heel control to the footprint
ADD A NEW ATTRIBUTE TO THE FOOTPRINT Modify->Add Attribute …
SET THE DRIVEN KEY IDEA: The foot manipulator’s roll value will map to rotations in the foot control Always set the driver values before setting the driven Animate->Set Driven Key->Set When you duplicate, use Duplicate Special and copy the input graph
NOW YOU CAN USE THE MANIPULATORS!
HANDS Delete the old Single plane IKs and add new planar ones Create another NURBs circle and then Constrain->Parent on the IK Constrain->Orient lHandManip to lWrist
POLE VECTOR CONSTRAINT Idea: Have something that’s easy to get to! Used to control plane of rotation Create->Locator and then Constrain->Pole Vector on lArmIk handle