This is the cgspeed.com home page for BVHplay, a free, lightweight, Python-based, multi-OS, open-source playback utility for BVH animation files.
To get BVHplay, you can go directly to the DOWNLOAD PAGE.
You might also want to read the BVHplay FAQ.
Here's a screenshot of BVHplay in action:
Below is the September 2008 announcement about the v1.00 release of BVHplay:
Announcing: BVHplay, a free, lightweight, open-source BVH animation player.
I've just finished working out the bugs (or at least, the obvious bugs) from this program and decided to make it available for free. I've prepackaged it into some ready-to-run versions as much as possible.
Where to get it: www.cgspeed.com or http://sourceforge.net/projects/bvhplay
Presently (mid-September, 2008) I have a Windows 32-bit prebuilt version, a Linux/Intel 64-bit built version, and a source code archive posted.
A README file is included with each distribution that tells you how to install and run BVHplay.
Features and facts about BVHplay:
- Plays any BVH file that conforms to the basic BVH file format. It
doesn't matter what skeleton is represented by the file, BVHplay
should be able to play it.
- Resizable view window. Some BVH players force you to display the
playback in a small or fixed-size window. BVHplay doesn't do this -
you can make the animation view window as large as your screen if you
- Mouseless "asdw"-style camera control which people will either love
or hate. You can control the view camera with just one hand. Modeled
after video game left-right-forward-back first-person keyboard
- Four degrees-of-freedom camera control allows you to position the
camera pretty much any where you want to watch the BVH animation.
You can also move the camera during the animation playback if you
- Provides the usual transport control buttons that you'd expect to
see in an animation program: play, stop, step forward, step back, go
to start, go to end.
- Optional grid display, XYZ axis display at world origin, and camera
- Built-in help. If you forget the keyboard commands, just bring up
the help screen and they're in there.
- Doesn't use OpenGL. This means no video card driver issues, and
keeps the source code simple
- Written entirely in Python. Should be (very) easy to port between
- The GUI is coded using Python's Tkinter GUI library. This means
that the 3D perspective functionality is "faked" using Tkinter's
2D-only canvas functionality. So BVHplay is a good example of how
to do simple animation in Python.
- BVHplay only plays back BVH -- it's not a BVH file or animation editor.
There is no "save" option because there's nothing to save.
- True realtime playback not supported for animation sequences faster
than 30fps. Most BVH files are 30fps (or even 24fps), however some
are 60fps or even 120fps. BVHplay can still play those files, it
just won't play the animation back in realtime -- it will be a bit
- Doesn't provide full 6 degrees-of-freedom camera control. Camera
tilt left/right and camera tilt forward/back aren't supported.
However, I have yet to encounter a BVH file that actually needed the
ability to tilt the camera like this.