Home | Product Info | BVH Helper

A suite of Python tools to aid the import of Motion Capture (BVH) files into Poser.

Includes tools for animation editing from either BVH import or Poser Pose Library.

For Poser 6 and later, PC & Mac

Original BVH Import
After using BVH Helper tools
 

Poser has the ability to import motion capture files and apply them to figures in the scene. The difficulty is that like the curate's egg the results are often "good in parts". I do not think it will ever be possible to refine a one click solution however the BVH Helper does provide a suite of easy to use tools that can address a number, if not all, of the issues. This is best explained by going through a worked example.

Start by loading a figure into the scene. I then find it best to turn off all IK chains and select the option in the figure menu to apply limits. The BVH file may then be imported using the File > Import > BVH Motion. The following options are then presented:-

The arms alignment should be self explanatory. From experience I tend to select the option to scale automatically but since there are only two possibilities it only takes a moment to try both and see which is best. Very often the body part names in the BVH file do not match the body part names of the Poser figure. Poser does make a very good attempt at assigning the parts correctly but if it can not make a match you will see this message:-

At this point you'll have no option other than to click the OK and have the motion applied to your figure. To address this click on the first button in the BVH Helper tools labeled "Edit BVH File".

     

You do not need to change all the names, just the ones that Poser is having difficulty with. On completion a revised BVH file is created, the original is not affected. Then ensuring that the scene is set to the frame that you wish the imported animation to start from you may now import the revised BVH file. Once applied the animation should be inspected to see which areas need to be addressed, the idea is to deal with the worst errors first then progressively refine. This is best done by opening the animation graph window and scrubbing through the frames. The graph editor may be accessed via the Key frame Editor or by clicking the small triangle at the right of each parameter dial. To scrub between frames drag the orange triangle found bottom center of the Animation Controls.

By checking each body part and rotation it should be relatively easy to see where the major errors are. In this example some of the values are obviously considerably adrift and show as spikes in the animation graph. To address this select Tools - All Frames > Cure Animation Spikes. You will then be given the option of either editing the whole body or the selected body part.

You will be asked to input the maximum safe value difference between one frame and the next. i.e. anything more and it will be considered to be a spike. If you put in a value that is too low the animation graph will "flat line". Review your animation to ascertain suitable values. You may wish to use higher values for the whole figure then further refine by doing this again for each actor. An undo button is provided should you need to go back to the state prior to clicking one of the Python buttons.With the major errors corrected we can start to refine the details. You'll often find that motion for hands and particularly fingers do not import well. This was very evident in this animation.

In this example it was felt that the bend of the hand was correct (or nearly so), but the best thing to do with the fingers was to set them all back to their zero pose. With the hand selected in the scene the tool for this is found at Tools-All Frames > More > Zero Children only.A common error in an imported animation is that you will find that a body part will go through the motions correctly but it is offset, or over bent by the same amount in every frame. This is addressed by using the tools found at Tools-All Frames > Correct Offset.

1) Using the Poser animation controls select a suitable frame to work in. It need not be the first frame. Best to choose a frame in which you can clearly see the error.

2) Click button number 2. This will load a duplicate figure and automatically pose it to match the subject figure. It is for reference only, you do not need to do anything to it. It will in fact be locked to avoid the possibility of accidental alteration.3) Repose the subject figure to correct for the error. Only work in the selected frame, you do not need to edit any other frame. 4) Click button number 4. This will repose the subject figure in all frames taking into account the difference between it and the reference figure.

Further refinement may be applied by using Tools-AllFrames > Smooth Pose which will bring up this window:-

This tool looks at the parameter values in the frames before and after each frame and applies a smoothing algorithm to them. The result is that the animation becomes smoother. Imagine that ! :)

Untie First Frame

Sometimes you will import a BVH file and find that the first frame is all in knots. The rest will be OK but frame one is obviously a mess. Clicking the "Untie First Frame" button will provide a simple solution by taking the pose information from frame 2 and apply it to frame one.

Other tools are provided, their function should be self apparent from the button name.