Skip to main content
7 of 7
replaced http://stackoverflow.com/ with https://stackoverflow.com/

You can import .c3d file in blender like this:

https://stackoverflow.com/questions/20499320/how-to-import-c3d-files-into-blender

The problem is it won't be an armature, but animated locations of points:

enter image description here

Some points will be dead in the center (marked).

  1. Adjust the frame range to fit the mocap data

  2. Delete the dead markers

  3. Re-build the armature - add armature to scene

    • looks like we have markers from both sides for each leg - that means the bones will be somewhere in between markers

    • Building the armature:

      • select a marker (or two if I want position in between) and align 3D cursor with 'Shift-S > Cursor to Selected'
      • then enter edit-mode of armature and select a joint and 'Shift-S > Selection to Cursor'
      • this way I can place all the bones (joints) precisely

      enter image description here

      • also recalculate the Roll of the bones with 'Ctrl+N > Cursor' with 3D cursor on some reference marker
    • Name the bones properly

    • Constraining location of root bones:

      • use copy_location constraint
      • or two of them with second on 50% influence to get in-between position of two markers
      • similar for center of 3 markers, you get the idea
    • Constraining bones direction

      • use damped_track constraint
      • also multiple of them with adjusted influence for center of group of markers

      enter image description here

  4. Bake the animation to Action with Pose > Animation

    Bake Action: visual_keying_ON, clear_constraints_ON

  5. Export armature as .bvh from the blender main menu (you might need to enable BVH addon).

These steps will result in having a .c3d file converted to a .bvh file. A sample .blend file with rigged markers here: