Basic Biped IK/FK RigEdit
These steps are assuming you have already created your base joints.
Duplicate base rig twice and rename them. One for FK and one for IK.
- 1. Create control and rotate it to correct orientation using xform :
cmds.xform(ro=(x, y, z))
- 2. Group the control to itself and rename it.
- 3. Grab control group, then select FK joint, and press 'P' to parent them.
- 4. Zero out translates and rotations on group. This will snap the group/control to the joint position.
- Then you can un-parent them using 'Shift + P'.
- 5. Do the same thing for all the controls required.
- 6. Parent all of the control/groups under each other.
- Grp -> next ctrl up -> Press 'P'
- 7.Parent Constraint joints to controls.
- Ctrl -> Joint -> Parent Constraint.
- 8. Create control for Pole Vector. Group to itself, parent to elbow joint, zero out and un-parent (same as the process used for the FK controls). Move the control back a bit so it isn't sitting directly on top of the joint.
- 9. Set preferred angle on the elbow. Bend the elbow 90 degrees then select 'Set Preferred Angle'.
- 1. Now switching over to the IK rig we need to create the IK handle.
- Go to the 'Skeleton' menu and select 'Create ik handle'.
- Make sure you have it set to RP Solver in the settings.
- Select the shoulder (or hip, whatever you are doing) then wrist (or ankle...)
- 2. Create another shape control for the "hand". Group it to itself, parent, zero out, then un-parent. All the same as done before.
- 3. Point Constraint IK handle to the hand control.
- Select hand control -> ik Handle -> Constraint
- Now the chain should follow the hand around.
- 4. Select elbow control and lock & hide the X and Z rotation. So it can not twist and contort.
- 5. In the hand control attributes, add a new attribute and name it 'IK_FK_SWITCH'.
- It must be a float with a min. value of 0 and a max. value of 1.
- 6. Select joints and controls in the following order and apply a Parent Constraint.
- Shoulder_FK_Joint -> Shoulder Ctrl -> Shoulder_IK_Joint -> Shoulder_Base_Joint -> Parent Constraint.
- Maintain Offset : Off
- Only rotation
- Do the same thing for all the joints.
- 7. Select the Pole Vector control -> IK Handle -> Assign Pole Vector Constraint.
IK FK SwitchEdit
Community content is available under CC-BY-SA unless otherwise noted.