When you load a scene that contains Simple IK constraints, a warning dialog appears stating the Simple IK constraint(s) will be converted to Chain IK constraints.
Warning: Simple IK constraints to Chain IK constraints conversion
To continue, click Convert all to Chain IK.
Note: The Chain IK constraint is similar to the Simple IK constraint, but with additional control.
Simple IK conversion process
When a Simple IK constraint is converted into a Chain IK constraint the following occurs:
- Objects are re-assigned in the corresponding object list properties.
- The solver type is switched to ikRPsolver.
- The constraint snaps so it can calculate the pole vector and twist angle.
A new floor property has been created for the Chain IK constraint so that it can interpret converted Simple IK constraint behaviors correctly.
Limitations
- Because the iKRP solver is used, chains may be solved differently in some situations.
- Certain conversions of the Simple IK constraint into a Chain IK constraint cause inconsistencies in the Twist values of the Chain IK constraint.
- Effector offsets are not supported. Unlike the Simple IK constraint, the Chain IK constraint does not create offsets between the end joint and the effector. With the Chain IK constraint, the end joint always reaches the effector.
Note: You can recreate the original offset behavior by adding a Null child-object to the end point and then using it as the end point.
- The Pole Vector may cause the chain to flip.
Tip: If the chain flips when it should not, adjust the Pole Vector to fix the problem. You can also try changing the solver type to ikSCsolver or tweaking the Twist value.
- When the End Point is not a direct child of the Last Limb object, the conversion process of the Simple IK constraint to a Chain IK constraint makes the first child of the Last Limb object become the End Joint object for the Chain IK constraint. This causes the End Joint to reach the effector, creating a different result.
Tip: To recreate the original Simple IK behavior, create a Null and make it a child of the original Last Limb object. Set it at the position of the original End Point object, and use it instead as the End Joint object of the Chain IK constraint.