Introduction to IK
You have probably heard the term Inverse Kinematics (IK) before; it has become quite a buzzword in the 3D world, particularly when it comes to character animation. The main difference from the so-called Forward Kinematics (FK) is the direction in which something is animated. Take an arm, for example.
Using FK, the arm would be animated from the shoulder downwards. This means that you first rotate the shoulder, then the upper arm, the lower arm, hand and finally the fingers pointing to a specific location. The obvious disadvantage is the difficulty of trying to get the hand in a certain position in your 3D world, since any move of the shoulder will require readjustments of all limbs that follow in the hierarchy. Having a hand grab a cup of tea, lift it to the character’s mouth and place it back on the table would involve a large number of rotations and adjustments, particularly because the position and rotation of the cup and hand have to be synchronized at all times.
With Forward Kinematics (left), each bone must be rotated in order to move the arm. With Inverse Kinematics (right), you can move the hand freely and the other bones in the arm will move and rotate automatically to ensure that the bones remain connected to one another. Inverse Kinematics helps you to pose characters quickly.
Inverse Kinematics offers an elegant solution to this problem. As the name suggests, the direction of the animation is inverted. This means that moving the hand will force the other joints between hand and shoulder to reposition in order to remain in contact with the hand. A simple expression could lock the hand to the position of the cup, allowing you to animate just one object, the cup, instead of two.
Inverse Kinematics has been a key part of the application since CINEMA 4D XL R5.
MOCCA IK offers a completely new approach. Almost all possible movements are handled via constraints. Imagine a constraint as a force that always tries to find an equilibrium with other such constraints, just like an array of magnets that levitate a metal sphere within their common magnetic fields.
The following example of earlier IK systems is familiar. You drag a bone target object from one position to the next and the IK chain practically jumps into place. IK systems that limit the freedom of rotation of each bone often create dead spaces. These, sometimes large, spaces are created by overlapping rotation limits. The larger the limits are for each bone, the bigger the dead zones. This can escalate to the point of producing completely unmovable IK chains.
The new IK solution in MOCCA has been created with precisely this problem in mind. By allowing the software to extend beyond these boundaries, it enables you to leave behind the world of strict constraints.
How does this work?
The programming within Soft IK means that the more you stretch your constraints, the more a dynamic counter-force will try to return the object to its initial rest position. A basic example would be a comic character that grabs a heavy weight, which pulls his arms and upper body to the floor. As soon as he lets go of the weights, the arms will return to a more comfortable position, in other words, his rest position.
This animation is handled by what are called ‘tip effectors’ (control objects) that attract the bones of a character. A lot of the work that needs to be done in character animation involves a proper constraint setup, based on constraints for the angle and position, which should facilitate animation later on. Just as in real life, these constraints are soft. A constraint strength of 100% will not eliminate the other forces. The object is still influenced by all forces in the setup, making dead zones a thing of the past. Careful placement and setup of these constraints will result in much more elegant-looking animations that would otherwise be very difficult to achieve with older IK solutions.
Some features in MOCCA might seem familiar, such as the Dynamics function in Soft IK. However, MOCCA is not an addition to the CINEMA 4D Dynamics module — it is an independent toolset in its own right. It has nothing to do with actual dynamics, which are realistic simulations of physical events that give you enormous control over all aspects of an environment. Naturally, those simulations also require more processing power, the more realistic you want them to be. On the other hand, MOCCA is a completely new technology, which emphasizes speed and reliability above all else. Ultimately, it is the result that matters most.