New for 2015
After many years, I'm now officially stopping development for bvhacker, at least in it's current form. I am slowly moving my virtual world activities over to
High Fidelity now, and am building an integrated animation editor within the HighFidelity client (Interface). There may come a point where bvhacker's codebase becomes useful for
High Fidelity animation tasks, but for now, it's all stop.
Many thanks to everyone who has contributed bug reports, feature suggestions and donations over the years, without your interest and engagement I'd not have kept the project going for so long!
feb 2014 - breaking news - bvhacker is now open source
I've decided to make bvhacker open source. I have done so for two reasons: One, I don't have time to contribute any more, but there seems to still a lot of interest in the project and two, I became exasperated trying to keep the runtime libraries up to date as Micro$oft kept pushing up both the license complexity and price of the installer software. I'm a software developer, not a licensing issues expert!
The project is hosted on GitHub - see
here.
What is bvhacker?
bvhacker is a project I started in November 2006 to make a bvh file conversion tool for Second Life.
bvhacker has since evolved into a quick loading tool ideally suited for final preparation of bvh files for upload to Second Life.
bvhacker is great for viewing, analysing, converting, fault finding and preparing of bvh files.
bvhacker is not for creating animations from scratch. bvhacker is for working on existing animation data.
bvhacker is an animation tool designed by animators for animators.
bvhacker is used extensively by commercial enterprises, educational establishments and hobbyists.
Use bvhacker to speed up your animation production pipeline!
Help and support
The bvhacker help pages give an overview of the bvhacker interface, bvhacker menu commands, tutorials, link to the bvhacker discussion group, a list of known bugs and more...
New features and changes in version 1.8:
- Added four new video tutorials to the help section
- Now possible to merge joints with their parent - useful for converting skeletons with roll bones
- Now possible to delete descendants - useful for removing multiple finger or toe joints
- Now possible to zero out descendants - see new video tutorial for use
- Added preferences dialog (Ctrl P)
- Now possible to set the default file view for open and save dialogs
- Now possbile to show or hide the head mesh display
- Added Zoom In and Zoom Out buttons to the view shortcuts
- Removed 'Show first frame' view option
Bugs squished in version 1.8:
- Fixed bug where global rotation didn't work if there was an offset set on the hips
New Features in version 1.7:
- Improved mouse control (left mouse dolly, right mouse zoom)
- Improved, clearer skeleton and cursor drawing
- Improved Loop->Knit function (totally smooth translation blending)
- Simple scene shading (can be turned on and off from View menu)
- Ability to reverse (i.e. make play backwards) the entire animation (Hack menu)
- Round / Square shoulders fix (Hack menu)
- Crane / Straighten neck fix (Hack menu)
Bugs squished in version 1.7:
- Bug in 'Knit' function causing bvhacker to crash: fixed
New Features in version 1.6:
- Now possible to associate bvh files with bvhacker, so bvhacker can be the default editor for bvh files
- Now possible to open bvh files by dragging them onto bvhacker (drag and drop opening)
- Ability to undo last operation
- Simple resampling (downsamples to half number of frames)
- Split and enhanced SLify function into to separate functions (Attempt SL bone renaming, Attempt retarget to SL). Joint sizing function now uses quaternion magic for a far smoother conversion of arms axis alignment and joint rotation order
- Added support for bvh files with position and scale motion data values
- Separated display of joint offset and motion translation data. Joint offsets now displayed in joint properties and translation data values are displayed on dynamic sliders.
- Added support to allow the typing in of values for slider X,Y and Z values
- Added support to allow the typing in of values for slider range
- Added support to allow the typing in of values for joint offsets in joint properties (X,Y,Z)
- Added support to allow the typing in of values for frame time
- Center function: centres the first frame of the animation in X and Z
- Added 26 new keyboard shortcuts (see below)
- Tidied menu and removed experimental functions
- Made file open and save dialogs re-sizable
- Global hips rotation is now possible ('standard' ZXY rotation order hips only)
- Added figure head to display
Bug fixes:
- Fixed add and remove joint bugs where subsequent joints down the hierarchy were sometimes not correctly parented
- Fixed bug where bvhacker exited when the escape key was pressed
- Fixed bug where bvhacker exited when return was pressed when an edit box was being edited
- Fixed flickering joint properties pane
- The ground plane was sometimes not easily visable from ground view. Fix: set ground colour to black when on ground view
Keyboard shortcuts
- T: Select translation editing mode
- R: Select rotation editing mode
- Space: play/pause
- Cursor keys left/right: step forward/reverse
- Cursor keys up/down: select next/previous joint
- Home: Go to first frame and stop
- End: Go to last frame and stop
- Insert: Insert joint above currently selected joint
- Delete: Delete currently selected joint
- F2: Rename currently selected joint
- N: No offset (remove hips offset)
- C: Center skeleton in X and Z on the first frame
- S: Set T - Add new frame at start of sequence and set rotation to zero on all joints in first frame
- D: Remove T - Remove the first frame
- Z: !Zero - ensures all joint's rotations are above zero in the first frame
- L: Fix loop bug (SL VWR-3783 bug fix)
- F: Toggle front view
- V: Toggle side view
- Ctrl Z: Undo last operation
- Ctrl O: Open File
- Ctrl S: Save File
- Ctrl Q: Quit
- Ctrl +: Scale Up
- Ctrl -: Scale Down
New features in version 1.5
- Application window re-sizing now possible
- Tidied up and grouped appropriate user interface elements. Added menu system
- Made view settings persistent
- Includes automatic fix for Second Life 'First frame of uploaded animations is duplicated' bug
- Optimised resample algorithm is still work in progress!
New features in version 1.4
- Knit function for looping now more accurate
- Slight pause put in after joint deletion to avoid crashes (yes, a hack!)
- QC button added to give report listing common problems
A note on intellectual property rights
If you do sell animations made with bvhacker you have an obligation to obtain permission from the original bvh
motion file creator to re-sell their work. However, this does not apply to free animation files
from Animazoo - if you want to sell modified copies of their free animations you
are can do so, provided you add the word 'Animazoo' to the name of the product at point of sale.