furylynx / MAE

The Movement Analysis Engine is able to analyze movements and provide events based on a described movements sequence (Labanotation). The engine can be used by other applications for further movement processing and filtering in ambient spaces (i.e., smart environments).
GNU General Public License v3.0
9 stars 1 forks source link

BVH format issues #11

Open n1ckfg opened 4 years ago

n1ckfg commented 4 years ago

Really excited to see the bvh example outputting rendered Labanotation! However I can only get it working with the included file.bvh that matches your default spec. Can you tell me more about that bvh variant, what you used to capture? If no alternate spec methods exist, I can help write one for a more common variant, like MotionBuilder BVH.

furylynx commented 4 years ago

Thank you for your interest in this project.

The example file.bvh is an export of a sequence recorded with a depth camera using a non-standard BVH format which preserves some important information for later imports. This format made it possible to render sequences using Blender and is based on the skeleton representation used by the MAE (which actually is the OpenNI/Nite skeleton).

The said spec is basically a mapping of joint ids (from the (string) joint identifiers present in the BVH file to those (integer joint ids) used by the skeleton (hierarchy)). For any BVH variant, a custom spec needs to be provided.

I'm afraid I'm not familiar with any BVH variants. But I can take a look if you provide an example BVH file and we can try to figure out how it should be imported.

n1ckfg commented 4 years ago

Amazing! So I can generate output from the MAE bvh sample project by taking one of these MotionBuilder format BVH files captured in iPi Studio (of all the BVH flavors I think MotionBuilder is currently the most common) and modifying it with a Blender Python script. However a friend who reads Labanotation tells me this isn't generating output true to the original motion, so I'd love to try your approach instead. 2019-11-21_11-10-49.bvh.zip

furylynx commented 4 years ago

Please excuse my late response. I have been quite busy during December and January and still am.

Your BVH file is based on a skeleton structure that contains some special cases not considered by the BVH import routine. I fixed that in the feature/bvh_motionbuilder branch. However, the export is also affected and needs to be fixed, too. You can try to use the current state to import your file and generate labanotation scores using custom-defined bones.

Hopefully, I can fix that issue in February and provide a convenient way to import and use motion builder BVH files.

n1ckfg commented 4 years ago

That would be awesome--in my experience MotionBuilder is the most common BVH format, and the popular public mocap archives (CMU and OSU, for example) provide it as an option. Let me know how I can help!