Things you can do with bvhacker
- Very quickly prepare bvh files for upload to Second Life
- Convert many types of bvh files to be Second Life compatible
- Make smooth looped sequences with the Knit function
- Make adjustments to any motion channel across all frames at once
- Make adjustments to the skeletal structure
- Set a T-pose for the first frame (for Second Life upload) with one keystroke
- Adjust any and all bvh file properties
- Quickly and easily see which axis the arms are aligned on
- Open and view many different bvh file variants
Things you can't do with bvhacker
It's not really possible to create a new animations using key framing or is it possible to adjust individual keyframes. For these sorts of features I recommend the following:
bvhacker's retargetting function is not 100% finished, so it's not always possible to reliably retarget y-axis aligned arm rotations if the rotations are greater than ±90°. The technical reason for this is described here
Links to tutorials focussing on animating for Second Life. Click the image to the left to view.
This page gives guides to all the controls and menu commands on the bvhacker interface. Click the image to the left to view.
Report bugs, submit new feature requests or ask for help. The bvhacker group is the place to discuss all and any aspects of bvhacker. Click the image to the left to visit the group's page.
This page offers the latest version of bvhacker for download, complete with release notes. Click the image to the left to view.
I started bvhacker for a number of reasons.
The initial idea came after I found I couldn't import a bvh file from Animazoo into Second Life.
Not to be easily dissuaded, I opened up the bvh file in a text editor to see what was there.
Since the format was human readable and didn't appear too convoluted,
I decided that it would be an interesting project to further investigate exactly how the file could be adapted to be compatible with Second Life.
In addition, I had wanted to 'get my feet wet' with some OpenGL / STL / 3D tools programming for some time, and so got started.
The greatest challenges were:
- Converting the arms alignment axis. This was really hard and is still not quite complete!
- Compounding all the offsets and rotations for the joints during drawing
- Keeping track of joint hierarchy during changes in skeletal structure
Since writing the program, I've spent a lot of time using bvhacker to help make Second Life animations.
New functionality has been added as required, resulting in an animation tool made by animators, for animators.
If you have any suggestions for new features, please post them in the bvhacker discussion group
. Have fun!