Inverse Kinematics


What is Inverse Kinematics?


When multiple objects are linked together with parent-child-relations the structure is called object hierarchy. In an object hierarchy parents usually transform their children as they are transformed themselves. These transformations are usually defined by rotation angles around pivot points, translations along pivot axis and axial scaling factors. Each object applies its parent's transformation to its own. This way all of the objects in the hierarchy get transformed. This method of applying transformation is called forward kinematics.


Sometimes it's necessary to set transformation for an object in the hierarchy by hand. Often this brakes the hierarchy because this object doesn't obey its parent's transformation anymore. To avoid breaking of the hierarchy some other objects have to adapt their transformations. This adaption is called inverse kinematics and it can be made to happen automatically.




How to use IK?


Bongo 2’s IK feature could also be called automatic keyframing. An IK structure is a basically a chain (parent child relation) of objects having a start (driver) and stop (goal) point. It calculates the behaviour or transformation (movement, rotation, scaling) of the objects in the chain.

Here is a simple example.


The red dots are showing where the pivots are in this model.


The hierarchy looks like this:


We want the Object A to rotate, Point C to stay in place and the rest of the chain to follow along.


By adding rotation animation data to Object A, the whole chain starts to move around.


In Bongo 1.0 you would have to correct this movement manually, by adding lots of keyframes.


Doing it manually would also mean that the result would not be exact. The end Point C would most likely move around no matter how carefully you would set it up.


The easiest solution is to make Bongo 2 do the calculation on your behalf, by using the IK-feature.

The IK-Settings for objects can be found on the Object Properties page, under Bongo.


Make the Arm A-B and Arm B-C into joints, in this case you would pick Hinge.


Turning objects into joints means that you give Bongo the permission to move the objects in order to solve the calculation. By specifying which kind of joint you want to use, you tell Bongo in which direction it is allowed to move, rotate, or scale the object. See joint types for more info about how the different joints work.


The Point C will be constrained to its position. This tells Bongo that the goal for this model is to keep this point in the same position. Now by pressing play the piston should start to move and the end point should stay in place.


The final IK-view for this example would look like this:




IK View and Joint types


If you click on the IK view icon in  the  Animation Manager you can choose to enable the IK view. In the IK view you can see of which components and joint types the IK chain consists.


The icons are the following:


Hinge– Makes it possible for Bongo to rotate the joint in the x-,y- or z-direction.




Universal– Makes it possible for Bongo to rotate, scale and move the joint in all directions. 





Telescopic– Makes it possible for Bongo to extend the joint in the x-,y- or z-direction.




  Rubberband– Makes it possible for Bongo to scale the joint in the x-, y- or z-direction





  Goal– The constraint at the end, the endpoint. It tells Bongo that it can stop compute here.





IK error tolerance

More info from here.



More info from here.

Basic IK in Bongo 2

Examples from a User:

Download additional example models:

© 2021   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service