IKFK Solver
The IKFK Solver allows the animator the use of Both IK (inverse kinematics) and FK (forward kinematics) in the same hierarchy, useful for all kind of character limbs. The animator can easily switch between the modes using the IKFKBlend value, a value of 0.0 sets the hierarchy in forward kinematics Mode, that means that the movement of each node is inherited to its child, in this mode the animator can easily define arcs of movements. A value of 100 sets the hierarchy in inverse Kinematics mode, that means that the nodes will try to reach the position of the IKGoal helper, in this mode the animator can easily attach the foot or the hands of the character to the ground or other objects.

Optionally, the animator can interact with both modes without changing the IKFKBlend value, by rotating the FK nodes (or bones) or by moving the IKGoal Helper. The solver automatically match both IK and FK values each time that the FK or IK buttons are pressed or when the animator moves the IKGoal or rotates the FK Nodes. Other matches are done depending on the operation in progress.
The solver has scaling and stretching features as well. The way of scaling the hierarchy in FK mode is by using the Scale Mult Value, when this value is in 100 the hierarchy will be in its original size, if this value is increased or decreased it will shrink or grow the size of the hierarchy respectively. The way of scaling the hierarchy in IK mode is setting the IKStretch value to 100 and pulling the IK Goal a distance greater than the length of the hierarchy. The Scale Mult and the IKStretch are automatically matched every time that the animator switches modes if the Match Scale Multiplier is on.
Creation Method
Select an object in a hierarchy where you want the IKFK to start. Go to Animation menu > IK Solver > IKFK solver. > Click the object in the hierarchy where you want the IKFK chain to end.
This will create Control Helpers that the user can manipulate in order to interact with the solver: one control helper for every joint for Forwards kinematics animation, one goal and one target control helper for Inverse kinematics animation. Those helpers will contain IKFK_Control controllers that will be driven by an additional control helper which contains the main IKFK_Chain controller where the user can access all the parameters of the solver.
The original joints will follow the transformation of the Control Helpers with the usage of Transform Constraints.
IKFK Parameters
Once you assign a IKFK Solver, you can access its properties by selecting the IKFK Chain object and going to the Motion panel.
FK Button
When this button is pressed the FK joints transformations will be matched to the current solver transformations and the IKFK Blend value will be set to zero (read IKFK Blend parameter below).
IK Button
When this button is pressed the IK nodes transformations will be matched to the current solver transformations and the IKFK Blend value will be set to 100.0 (read IKFK Blend parameter below).
IKFK Blend
The user can switch between the IK and FK modes using the IKFKBlend value, a value of 0.0 sets the hierarchy in forward kinematics Mode, that means that the movement of each node is inherited to its child, in this mode the user can easily animate arcs of movements. A value of 100.0 sets the hierarchy in inverse Kinematics mode, that means that the nodes will try to reach the position of the IKGoal helper, in this mode the user can easily attach the foot or the hands of the character to the ground or other objects.
Manual Stretch
This parameter controls the stretch of the chain independently from the goal's position. A value bigger than 100.0 will increase the length of the chain, and a value lower than 100.0 will deacrease it.
Auto Stretch
This parameter controls how much the chain is going to stretch in order to reach the goal's position when it's further away than the total chain's length. If this value is 100.0 the chain will stretch fully, if this value is 0.0 the chain will not stretch at all.
Rotation Space
This parameter controls how much effect the Rotation Space Node has over the chain when it's in FK Mode.
Flexion Bias
This parameter is only used with chains of more than 3 joints. It's useful for having more control over the joint's angles.
Swivel Angle
This parameter is used when there is no Target object assigned. You can control the chain's orientation with this parameter.
Manual Stretch Button
When this button is pressed the manual stretch parameter is matched to the current stretch defined by the auto stretch behavior.
Manual Preferred Rotations Button
When this button is pressed the preferred rotations are matched to the current rotations of the joints.
IKFK Options
Pick Target
Lets you select another object to use to animate the Swivel Angle.
Pick Goal Parent
The parent of the goal object can also be included in the solver with this button, this is specially useful for matching transformations from FK to IK (or viceversa) in the case that the goal parent object have to be used for the animation of the chain. It doesn't have to be the immediate parent, it can also be a parent object several levels above in the hierarchy.
Pick Rotation Space
This object is used in Forward kinematics, the chain will inherit the rotation from this object depending on the Rotation Space parameter's value.
Auto IKFK Match
If this parameter is ON, the animator can interact with both modes without changing the IKFKBlend value, by rotating the FK nodes (or bones) or by moving the IKGoal Helper. The solver automatically match both IK and FK values when the animator moves the IKGoal or rotates the FK Nodes.
Last Joint IK Rotation
If this parameter is ON, the last joint of the chain will have the same orientation as the Goal Node when the solver is in IK Mode.
Keep Initial Rot Space
If this parameter is ON, the solver will keep the initial orientation of the chain relative to the rotation space node if the rotation space is being used.
Target Dist %
This parameter is used when matching the target node, the distance relative to the chain will depend on this value.
Parent Space
With this parameter you can choose to whether the IK goal or the start joint will be used as the parent space for the swivel angle. If IK Goal is selected (which is the default), then the Swivel Angle of the chain is defined in the parent space of its goal. If Start Joint is chosen, then the Swivel Angle will be relative to the parent space of the start joint.
Solution Iterations
This parameter is only used with chains of more than 3 joints, for 3 joints or less the solution is deterministic so it doesn't need iterations. This parameters controls the maximum number of attempts the IK solution will perform before giving up. If your IK animation seems to jitter, try increasing the Iterations. Increasing the Iterations will slow down the computational time, but should produce better results.
IKFK Display
Goal Line
This parameter controls when the goal line is displayed (Never, When Selected, Always).
Target Line
This parameter controls when the target line is displayed (Never, When Selected, Always).
IKFK Links
You can access the IKFK Links properties by selecting the IKFK Goal object and going to the Motion panel. With these parameters you can have a similar effect of the Link constraint in the IKFK Goal Object.
Add Link
Adds a new link target.
After clicking Add Link, set the time slider to the frame at which to activate the link, and then select the object to link to. You can continue adding links as long as Add Link is on; to exit this mode, right-click in the active viewport or click Add Link again.
Link to World
Links the goal object to the world (the scene as a whole).
Delete Link
Removes the highlighted link target. Once a link target is removed, it will no longer influence the constrained object.
Start Time
Assign or edit the frame value of a target.
When you highlight a target entry in the list, Start Time shows the frame at which the goal object becomes a parent. To change when the link transfer takes place, adjust the value.