by Jean-Baptiste PERIN

BVH2ARM is a script that ease the use of bvh with Blender by  automatically creating a parented armature upon a hierarchy of empties .. as the one created by a BVH import .. The created armature follows the empties.


Download and place it into the ".blender\script\" directory of your Blender Installation


First, you have to import a bvh content by using "File->Import->Motion Capture (.bvh)..."

bvh_import The first step consists in importing motion capture data.

To do so .. just use the menu File->Import->Motion Capture ... (.bvh)

A file selector windows is displayed .. in which you can choose the bvh file you want to import.
Once selected .. click on Import BVH.

You should be asked to enter a scale parameter which allow you to size the resulting structure.

Once the scale is selected .. press OK ..  the script will then build a hierarchically structured heap of empty such as the one shown beside.

The newly created structure should be facing the sky .. and lying on X-Y plan.

To see it properly ... switch to a top view (NumPad 7) .. and zoom out  (- minus key)

You can press Alt-A to play the bvh animation.

In following steps, the first frame of the bvh animation will  be used as the rest position of our armature.

In order to have it suit our model, it might be interesting to adapt this rest position at our model position .. (which might have arms set in horizontal position instead of lying along the torso)
At frame one, select a shoulder empty (RMB-click on it ) and rotate it 90 degrees (R key, mouse move, while maintaining Ctrl key pressed).
Do the same with other shoulder empty to get something similar to what's shown beside .

Now select both shoulder empties (RMB-click on them while holding Shift-key pressed) .. and insert a Rot Key (press I and select Rot in the displayed menu).

This cannot be applied to Hips empty .. We'll see later how to rotate the resulting armature.

bvh2arm The HipBoneName field must be filled with the name of the main empty of the structure. It is automatically set to the name of the selected empty if it is a root Empty (ie: if it has no parent).

The startframe and endframe fields can be used to configure the  It is recommanded to use the frame number 1 as the first frame because it's going to be the rest position of our armature. By default, these fields are set to your animation parameter (defined in the anim tabspace of the scene panel (F10))

The FrameDecimation field allows to select the frequency at which position key are going to be inserted into the armature object's ipo.

Once all parameters are set ... Press Create Armature button.

It creates an armature which follow the empties ..

Go into Ipo of Armature, select rotX curve and grab it 9 unit up..



BVH2ARM is released under GPL licence.
Look at the LICENCE file or visit:

Futur releases will be made available on:

Bug report, evolution requirements, remarks and comments can be posted here:
Put [BVH2ARM] in front of the "Sujet:" field

visitors since creation on december the 20th of 2005.
since creation on december the 20th of 2005.
(C) 2005 Jean-Baptiste PERIN - released under Blender Artistic License -