BvhViewer visualizes motion data in the BVH format. This format was originally developed by Biovision and has become a widely used format in many motion capture and character animation applications such as Blender and Poser.

BvhViewer uses the OpenGL 3D engine (with GLUT) so it runs very fast.

BvhViewer provides an easy and straightforward user interface for viewing and editing motion of each human body joint at each frame. BvhViewer includes a rich set of features. With BvhViewer, you can

Compatible BVH format

Technically BvhViewer can recognize any joint hierarchy. The only constraint is that the root joint has to be "hip" or "hips" (case insensitive). A sample BVH file (of Chinese martial art) is here. (The data is obtained from All rights reserved.)

Downloads and Installation


Downloading, installing or using BvhViewer (the software) signifies acceptance of these terms and conditions of the license.

User interface

The interface of BvhViewer consists of 5 main parts: The menu and the toolbar at the top, the animation window in the middle, the joint info list control and the status bar at the bottom. Those are standard components (except for the joint info list control) in a common single document interface (SDI).

The joint info list control shows exactly the joint rotation angles and 3D joint positions at the current frame. For user's convenience, it also lists all keyboard shortcuts.

The status bar shows the current frame number / total frame number, current frame time, camera type (fixed or posing), current viewpoint, camera position and rotation in the world coordinate system and the scale applied to the current human figure.

How to...

The following lists answers to some basic questions. The details of most of BvhViewer's functions are described in the "Toolbar and keyboard shortcuts".

Toolbar and keyboard shortcuts

Most of BvhViewer's functions can only be accessed through toolbar and keyboard commands. Fortunately you don't have to remember those keys. Actually you can click the "Keyboard Command" tab on the joint info list control to get a quick list of all keyboard shortcuts.

Note that:

  1. Make sure that the image window got the focus to accept keyboard input. If not, just click the image window.
  2. All keyboard commands are case insensitive.

Toolbar Keyboard Menu Function
Ctrl+O File->Open Open a bvh file
Home   Go to the first frame
PageUp   Go to the previous frame
    Go to the specified frame
    Change the frame step
PageDown   Go to the next frame
End   Go to the last frame
    Play the sequence
    Rewind the sequence
    Stop playing
    Change joint rotation angle according to the numbers you specified in the joint info list control
    Reset all joint rotation angles to zero
    Save the current bvh file as another bvh file
    Save the motion (no hierarchy, only the rotation angle) of the current file as a text file
    Save the 3D positions of all joints as a text file
    Save the image of the current frame as a bmp file, which will be saved in the same folder as the bvh file. The image file name is the same as bvh file, followed by the frame number.
  Space   Select the next joint
  Backspace   Select the previous joint
  Right Arrow   Increase the first rotation angle of the selected joint. Note that the first rotation angle does not necessarily mean the rotation in X direction. It depends on the order of the local coordinate system of the selected joint. If the order is "ZXY", the first rotation angle means the rotation in Z direction. See the "Rotation Type" in the joint info list control for such information.
  Left Arrow   Decrease the first rotation angle of the selected joint
  Up Arrow   Increase the second rotation angle of the selected joint
  Down Arrow   Decrease the second rotation angle of the selected joint
  Ctrl+Up Arrow   Increase the third rotation angle of the selected joint
  Ctrl+Down Arrow   Decrease the third rotation angle of the selected joint
  Ctrl+a   Show names of all/no joints if the option of showing joint name is on.

  Ctrl+b   Switch bone on/off

  Ctrl+g   Switch ground plane on/off

  Ctrl+j   Switch joint on/off

  Ctrl+l   Switch local coordinate system on/off

  Ctrl+n   Switch joint name on/off

  Ctrl+o   Switch overlaid mode on/off. When the overlaid mode is on, BvhViewer does not erase the images of previous frames.

  Ctrl+p   Switch posing camera on/off. When the posing camera is on, the camera will move along with the human figure so that the image is always centered at the root joint "hip". Otherwise, the camera is fixed. The current status of the camera (fixed or posing) is shown on the status bar.

  Ctrl+s   Save the current viewpoint
  Ctrl+r   Restore to the saved viewpoint
  Ctrl+w   Switch world coordinate system on/off

  Ctrl+1   Frontal viewpoint

original viewpoint

frontal viewpoint

  Ctrl+2   Back viewpoint

original viewpoint

back viewpoint

  Ctrl+3   Left viewpoint

original viewpoint

left viewpoint

  Ctrl+4   Right viewpoint

original viewpoint

right viewpoint

  Ctrl+5   Top viewpoint

original viewpoint

top viewpoint

  Ctrl+6   Bottom viewpoint

original viewpoint

bottom viewpoint

  Ctrl+7   Increase joint size

  Ctrl+8   Decrease joint size

  Ctrl+9   Increase bone size

  Ctrl+0   Decrease bone size

  Tab   Show/Hide the list control window

BVHViewer © 2006 Fengjun Lv
Last update: 10/10/2006 (check html)