Setting up Blender for Inverse Kinematics Rigging and Skinning

Let us assume you have motion captured some movement of an object or agent, and you want to animated the same object in 3D. The first part is to setup your mesh with the correct bones, and an additional IK (Inverse Kinematics) bone that will move all these bones, so that any movement to that IK bone will trigger the entire mesh to move. The complexity is that each bone has in Blender has it’s own matrix transformation, and each bone is relative to the armature, which by itself has a coordinate system. So how do you translate a global (x,y,z) coordinate to the bone’s local coordinate system? No worries! This little script below will do it for you:


def modify_bone_pos(pose):['Armature']
 v = Vector()

Where the pose is a data structure that contains the bone’s RArm_IK global position. Here’s the result: