how to use bvh file to create animation

I have a bvh file. After i added the mesh to the armature by assignment vertice to the armature part, it seems didn’t match the movement of the armature. I should say it isn’t match the exact position, but some parts are flying around. I have tried many times, but it still didn’t work properly.

So I want to know what are the steps to use bvh file to create animation?

You must be having bvh file.
Open blender
File->Import BVH ( Import that bvh file)
It will ask for option, Select Armature
You will see that Armature is created. Now Click ALT-A and you will see that armature is walking. ( If you have walk.bvh ) Now you have to put mesh on this armature and rig
Your animation is done.

Actually, i have work properly til import the bvh file to the armature, these are the step I work on it

  1. open a file already have the mesh
  2. import bvh file as armature
  3. rotate and scale the mesh to fit the armature
  4. select mesh and armature -->press ctrl-p–>armature–>create from closest bone
  5. go into the edit mode of mesh, select vertices and assign to different vertex groups
  6. go to object mode and press Alt-A to see the result

Is there any problem…? I am still don’t know why assigned vertices are not match the bone when it move

Post your mesh and bvh, I will try
On my youtubepage you will see one robo girl is running.
I imported the armature, created a mesh according to bone, and rigged.

Here are the files
aramture with mesh
original file

Not able to download both the files.


I’ve just repair the links

Yes there is some problem. See your mesh its NOT showing faces. You open armature_with_mesh.blend and see in Sold mode, your mesh is not SOLID. I exported this mesh as OBJ and then again imported. By doing this, mesh started showing faces, but even now its not jumping with the armature.


The mesh not showing faces is just because it is in wire Drawtype mode in the Draw tab.

In order to skin this rig, add an Armature modifier on the mesh, go into pose mode, select all bones and press Alt-G and Alt-R to put the armature in rest mode. You must do your weight painting/skinning in pose mode. I’d suggest you key all the bones, although another option would be to append this armature to another file and weight paint your mesh to the same armature without the animations, then re-append the weight painted mesh back into this file with the keyed armature.

The bottom line is that you need to do your skinning with the armature in its rest position.

Also, for some reason your envelopes are all shrunken to little tiny tubes, so you won’t be able to use weights from envelopes unless you resize those to include the mesh.

Many Many Thanks Mr BugMan_2000
Day by Day my knowledge is increasing…

I’m having a similar problem at the moment, though don’t think it is exactly the same. Usually work in Lightwave 3D so a bit lost here in Blender.

Hoping to get on top of this program so can use it for Character Animation as LW at the moment is just too complicated and older generation in this department. Though the CA is being upgraded at the moment, it is taking ages.

Anyway, these are my excuses. Just can’t get the mesh to deform with the BVH bones, which run away with a portion only of the mesh. I’ve read every bit of documentation and tutorials i can lay my hands on and can’t work out what is happening. Any help would be greatly appreciated!

Have attached file here at this link (2mb):

I’m having a similar problem at the moment, though don’t think it is exactly the same.

It’s basically the same problem. You need to first make sure that the objects have the same rotation. If you go into object mode and press alt-R to clear the rotations on the objects, you’ll find they’re both rotated differently. You need to press Ctrl-A to apply the rotations with both objects in their correct rotations.

Then you’ve got to clear the pose in pose mode, just like I said before. Select all bones with A in pose mode, and press Alt-R and Alt-G to get into the rest pose. Make your mesh conform to that pose and do the skinning in the rest pose.

On a side note, in my opinion using bvh armatures is a fairly intermediate thing to do. It’s not where I would start if I wanted to learn the basics of rigging, skinning and animation in Blender, personally.

finally, i can make a correct way

Thanks very much for the help!

I think you have sorted it out pretty much. Did exactly what you said and about half the mesh followed the bones, then thought to increase the influence of the bones, just guessing, so put dist. up in the ‘Armature Bones’ (pressed A to select all and hope the one distance would work for all) actually, checked it now and it was just one small hip bone at the center…)

So anyway, is this correct, an area of influence needs to be set up for each bone? And also on the Modifier/ Armature just activate ‘Envelopes’, leave vert. and VGroup disabled? (will do weight painting stuff etc later when understand all this)

(don’t understand exactly why everything is happening -surprised you can put the bones in rest position, being from a BVH file, don’t think you can do this in Lightwave, but there again don’t know that much, not a beginner, but only intermediate level say)

Have done a few tutorials in rigging, skinning and Character Animation in Blender, but it was more to compare it to Lightwave and try to get use to it. Aways a bit of a mystery exactly what options and exactly how they work for deforming the mesh Then got stuck on this problem with BVH and just had to know how it works!

For some reason, a lot of BVH files don’t import into LW properly, and Blender has a much higher success rate. When I get the Blender part to work I want to export the meshes as MDD into LW and use them at varying speeds to test the motion blur settings which is one area in which LW is really sophisticated.

Thanks very much again for the help!!!

With a bone selected in edit mode, in the edit buttons, under the “Armature” tab, there are some handy visualization options. One is “X-Ray” which neither of you guys are using but is very handy for seeing the whole armature even when the mesh is in solid view. The other is “Envelopes” looking at this will show you the envelope influences. I am assuming neither of you have touched those yourself, which means that bvh files automatically don’t seem to import with ordinary-sized envelopes. Make a fresh armature and look at it to compare the difference. You can change the size of the envelope influences by scaling the joints of those envelopes in edit mode.

For skinning, once you’re ready and have things in place, a good way to start is pose mode, select all bones with A, select the mesh and enter weight paint mode, then W>apply envelope weights to groups. After you do this you’ll have your vert groups weighted, and you turn off Envelope deformation on the armature modifier.

FWIW, the new heat-based automatic skinning (not yet in an officially released version) is much better than the current automatic skinning. That’s something to look forward to.

I’ve often thought it would be nice to be able to reset the rest pose to a different pose, or to be able to rig in a pose other than the rest pose. It would probably be possible to do the first of these things with a Python script fairly simply… I don’t know of any script offhand that does this. One of these days if I get some time I might put that on my list of things to try to do. In that case, you could just set the rest pose to the frame 1 pose and skin the character more the way you’ve got in mind.

Thanks again for all the information!

Yes, I discovered the the X-ray when experimenting with the weight paint. The envelope tip is great, thanks, had seen this before, but forgot about it.

It seems that if the mesh is not within an envelope influence it gets left behind! This is this true, yes?

It seems that if the mesh is not within an envelope influence it gets left behind! This is this true, yes?

It gets left behind by the envelopes, yes. You can still weight paint it, but you won’t get the automatic envelopes->vertex groups weight.

Thanks again.