You can import .c3d
file in blender like this:
http://stackoverflow.com/questions/20499320/how-to-import-c3d-files-into-blenderhttps://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:
Some points will be dead in the center (marked).
Adjust the frame range to fit the mocap data
Delete the dead markers
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
- 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
- use
Constraining bones direction
- use
damped_track
constraint - also multiple of them with adjusted influence for center of group of markers
- use
Bake the animation to Action with Pose > Animation
Bake Action: visual_keying_ON, clear_constraints_ON
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: