blender bvh import: importing as object and armature result in different positions

I have just written a bvh exporter for use with blender, and encountered a problem. The files I export behave correctly, when imported as an object, using [ file -> import -> motion capture (bvh) ] and selecting “Target: object”.

When I import the same file as an armature (“Target: armature”), into the same timeline, then the global rotation around the x-axis is inverted.

I am not a blender expert, so I wonder if this happens on purpose or is a bug. It would be great if someone with more experience could enlighten me on this problem.

For comparison, I’ve attached a short bvh file of a face which can be used to demonstrate the problem.

I’ve used the Blender 2.62.0 that comes with ubuntu for the test.

Kind regards,

Brian

Attachments

b.zip (285 KB)

Yep, they’re different, the import as object also has bigger dots on my Windows machine. Can’t you just rotate the whole thing? What program did you
make that in?

Hi Brian,

blenders default space is -Y forward Z up, hence the axis display when choosing numpad 1 front, 3 side, 7 top.

blender bones however are Y up -Z forward, ie the y axis of a bone is the bone axis. Add a single bone armature to see this.

Your bvh space appears to be

-Y up -Z forward. eg hit ctrl-7 on the numpad after importing as empties.and your face faces the view. (not knowing which way the bvh is supposed to face, could be looking down for instance) As far as I can see changing target axis, when importing using default bvh importer in object mode, will make no difference.

If your bvh is imported as an armature using

-Z forward Y up

it will face the default blender directions as an armature.

My suggestion is a workflow that uses blender space when in blender.