Blender Motion Kit : User Guide
by Jean-Baptiste PERIN
Blender Motion Kit is a set a scripts that allows to export IK-based
animation to bvh file format
Blender Motion Kit was introduced in Blender 2.40 RC1, because in this
version, IK solver wasn't providing access to armature's data while IK
Solver was working.
Blender Motion Kit contains the following scripts:
- IKBaker.py a
script to create empties upon bones of an armature
- Arm2Empty.py a renewing for Blender 2.40 of
bvh_import.py script from ReevanMcCay, Campbell Barton and Jean-Michel
Soler
- bvh_import2.py a script to export a motion to a bvh
file
Blender Motion Kit relies on the principle that, even though we can't
read motion
information from bones (in 2.40 RC1), we can still attach empties
to bones, and then get bones rotation and position information from
these empties. Thus .. a typical IK Baker session is divided into 3
steps:
- After creating the armature you want to animate .. create empty
for each bone of your armature and attach them to the bone. This step
is eased by the use of Arm2Empty.py script
- After animating your armature ... export it to bvh format thank
to IKBaker.py script
- once your animation is exported into a bvh file ..you can import
it by using bvh_import.py script
HOW TO INSTALL THIS KIT ?
Copy IKBaker.py
, Arm2Empty.py
and bvh_import2.py
into the ".blender/scripts
"
directory of your Blender installation.
In a Script window, go to the "Script
" menu and click on "Update
Script
" entry.
HOW TO USE THIS KIT ?
Here's a little tutorial showing the key step of an IK Baker session..
- Create your armature
In a 3D view, press Space, Add-->Armature, Ctrl-LMB
click
to add bones. If you want to add a bone at a specific point of the bone
chain .. select this point while in Edit Mode on the armature .. and
Ctrl-LMB click to add bone.

- Run Arm2Empty.py script
In a Script windows, go to menu Sript-->Wizards-->Arm2Empty
You should get somehting like that : (for each bone of you armature ..
an empty was created with the same name, location and rotation of the
associated Bone)

- Leave Edit Mode and Create contraints upon empties so that they
follow their associated bone
<>Press Tab, select an empty by RMB-clicking on it, Press F7, in
Contraints panel .. click on Add Constraint --> Copy Location. In
OB: field .. entrer the name of your armature .. a field BO: appears ..
enter the associated Bone name (the same as the empty's name). Do the
same to add a Copy Rotation constraint upon the same empty
Repeat the previous operation for every created empty ..This is the
fastidious step in the process ... you have to add 2 constraints to
every newly created empty .. but don't worry .. once it is done .. you
can use this work for every animation you want to bake.
The following image shows the contraint configuration for a given empty
(named Bone in the figure)

Note that the name of the bone to which the empty is constrained is the
same as the empty's name
At this point I recommand that you save your work (Ctrl-S) .. it was
fastidious not to risk a complete lose..wasn't it ?
We are now ready to animate our armature ..
- Add IKSolver on an end effector of your armature ..
Select your armature by RMB-clicking on it .. Press Ctrl-Tab to enter
Pose Mode .. Select a end effector bone .. it becomes blues .. Press
Ctrl-I to had a IK Solver contraint upon this bone.. in the appearing
menu , select To New Empty .. (that's just an example .. you could also
use a Without Target IK Solver contraint)

In our example .. we use a 3 bones long IK chain ..

At this point, you can test your IK chain by grabing the empty created
in the previous step .. you should see bone and their attached empties
moving while you're grabing the target Empty.
We now have an armature that we can animate through the IKSolver. Let's
see how to make the animation.
- Animate the target empty.
Enter Object Mode (Ctrl-Tab) .. select the empty by RMB-clicking on it
.. insert a key frame animation (I--> LocRot) .. go 10 frames later
(UpArrow) .. Grab the empty to a new location (G key .. move mouse and
LMB-click on a new location) and insert an other animation key (I-->
LocRot) .. Check your animation (press Alt-A and Esc) ..
- Configure animation length ..
Press F10 to go to Scene Parameters .. in the Anim Panel.. set up Sta
and End field so that they cover your whole animation.
- Run IKBaker.py script
Select your armature by RMB-clicking on it ..In a Script windows .. go
to Script-->Export-->IK Capture (.bvh). A file selector is shown
to allows to choose target bvh file location and name .. (the defaut
name is the one of your .blend file with a .bvh extension) .. Click on
Export BVH .
You now have a .bvh file representing your animation .. to load it ..
follow the steps below
- Open a new Blender session .. and run bvh_import2.py
Save your work (Ctrl-S) .. start a new session (Ctrl-X) .. Go to menu
File Import --> IK Capture (bvh)..in the box appearing .. click OK.
WHAT ARE THE LIMITATION OF THIS SCRIPT ?
Armature must be made so that each bone's head corresponds to its
parent bone's tail .. there can't be any hole in the chain.
If your Blender file contains several armatures .. there must not be
any common name between these armature.
HOW TO USE THE DEMO FILE ?
Watch the animation (Alt-A) and/or change it by animating the empty
named Empty
Run IKBaker.py script
It creates a .bvh file
In an other Blender session .. import the bvh file by using the
bvh_import2.py
ANYTHING ELSE ?
Blender Motion Kit is released under Blender Artistic Licence
read the LICENCE file or visit:
http://download.blender.org/documentation/html/appendix_licenses_bal.html
Futur releases will be made available on:
http://www.zoo-logique.org/3D.Blender/index.php3?zoo=dld&rep=zip
Bug report, evolution requirements, remarks and comments can be posted
here:
http://www.zoo-logique.org/3D.Blender/newsportal/post.php?newsgroups=3D.Blender&type=new
Put [IKBaker Kit] in front of the "Sujet:" field
(C) 2005 Jean-Baptiste PERIN -
released under Blender Artistic License - www.blender.org