I capture motions using Kinect 2.0 and Microsoft Kinect Studio (2.0 1410.19000) and get results in a xef file. But to use it in Blender (2.7) I need a bvh file.

I found no free software to convert xef to bvh, So firstly I convert it to a fbx file using Kinect Animation Studio following this instruction.

Unfortunately, Blender cannot immediately use this file, it shows this error:

ASCII FBX files are not supported

Then I convert ASCII fbx file to a binary fbx file using Autodesk FBX Converter (x64 2013). After that Blender can convert the fbx to a bvh file to use it with a model.

Now I can combine animated skeleton with a model created with MakeHuman, I follow the instructions from this answer.

And here is the problem: arms and legs are twisted for some reason:

screen 1

I guess it is related to this paragraph from the first link:

Kinect orientation data is not exactly aligned to the floor plane. This means that when exported, the skeleton will be slightly inclined throughout the whole clip. For this reason, we assume that, on the first frame, the skeleton hips are orthogonal to the floor. Based on this assumption, the orientation of the skeleton's hip joint is corrected by adding some pre-rotation around the x-axis (value should vary for each clip).

Changing the Rotation W value, I get a better result, I can’t manually repair each frame:

screen 2

I think, that the problem is due to different skeletons in my file and MakeHuman model. Or, with my pipeline of getting the file, because when I use some downloaded files, the final results look well.

What is the best way to solve the problem?

PS: I know about the Kinector app, it can capture motions and save them directly to Blender, but the quality is significantly worse there, so I don’t consider this option.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.