BVH Rest Position Error

Hi All,

I am working with a BVH client file. This BVH file was exported from Endorphin.

I used the BVH importer to bring the animation into Blender and it plays back fine. However, whenever I put the Armature into Rest Position, it craps out and does not look right. See attached file to see what I mean. Open the Blend and put the Armature into Rest Position. I have also included the BVH file in a text window for a reference.

Can anyone help with this? I can’t skin my character without Rest Position, right?

PS: I also loaded the same BVH file into BVHacker and it displays the Rest Position (T-Pose) the same way Blender does. So I m fairly certain that there is some error in the BVH, but I am not experienced enough with this data type to detect it.


ras_bvh_rest_pos_error.blend (200 KB)

I have studied your bvh file, It has only structure and no animation.
Your BVH file has only structure of the Bones and does not contain animation.
My bvh

Actually it does, only one frame. This is a stripped down version for posting.

Here is a 10 frame example. It’s rest position distorts in a different way.

Thanks for taking a look at the file.:smiley:


fall_back.blend (256 KB)

Download the the file. In this armature is in rest pos.


fall_back2.blend (234 KB)

I’m not sure what you did, but nothing seems changed?

The rest position should have the armature in a T-Pose. What I see is in the picture.

It’s like the rest pose is messed up from the waist up.:spin:


I have officially posted a bug report.

Let’s hope this gets fixed!

The root problem is that the armature was created during the importation with the collar bones already missaligned.

This is fixable. (see attached blend) though not without doing some work.

First go into edit mode and from the top view rotate each collar bone and it’s children into the “t” pose position. Do this by first putting the cursor at the base of the collar bone, then with the collar bone selected, select the children of the collar bone with “shift - ]” untill all are selected. Then rotate the entire selection into position. Keep track of how many degrees this rotation is.

When you go back to pose mode the collar bones will now be messed up. So the next step is to select ALL the keys in the action and move them 5 or so frames to the right.

Now on frame 1, select the collar bone and rotate it back the same amount you rotated it in edit mode. (front view) Set a rotation key frame.

Open an IPO window and check the rotations for the collar bone. You’ll see a big step in the curves from this new keyframe to the existing action keyframes. (see screenshot) Select a rotation curve, tab into edit mode and select all the cp’s. Next deselect the FIRST cp and translate the ENTIRE balance of the curve up or down so that it aligns with the first cp. Do this for each curve in turn that isn’t aligned.

Now do the other collar bone, and apply this entire process to any other bones that need it. I’d also reccomend taking the time to clean up the roll on each bone while doing this, otherwise I believe your going to be having a battle getting clean deformations on whatever charactor your going to use this on.

In the attached file I also did the hip bone with this process, so the armature is vertical and its center is correct.

I hope this helps.


fall_back3.blend (240 KB)

Thanks for the effort pappy.

This is just a test senario but I plan on working with other files from Endorphin and don’t want correct them by hand.

The date on the BVH importer by Campbell Barton is 2001. I feel there were some assumptions made in the import process at the time of creation that no longer hold true. I can import the same BVH file into Poser and it works.

One thing I noticed that is different from the Endorphin BVH compared to the Poser BVH is that the Endorphin BVH creates the armature from the waist down, then does the chest up. All other BVH files I have seen create from the waist up then do the waist down.

I have tried simply re-arranging the hierarchy, but that does not work unless all the associated motion data is re-arranged as well.

I feel like a script update is probably the only reasonable solution at this time.

Just a note, I was able to load the BVH file into BVHacker and correct the T-Pose. I then saved it out and imported into Blender and the rest-pose looked correct. I still don’t know how this will work with a skinned mesh, however.

Hi Atom,

You mention BVHacker which I found a wonderful program except I keep getting this problem when I set the T pose. The last bones at the feet get extended (?), see attachment. Wondering if you or anyone else knows anything about this. The bvhacker forum seems pretty dead so this is why I ask here. Have also included the BVH file in a zip but extension changed to .blend as zips don’t seem to go.

Attachments (92.9 KB)