Is there a way to generate an armature from a collection of points/vertices? So I have some data exported from OpenCV that captures human movement from videos, such that each joint is mapped to a point in 3d space for each frame of the video, and saved into a CSV for later use.

I have a rough idea about how to load these points through an import script in blender, and sequence the frames into an animation, but is there any way I could possibly take these points and turn them into a proper rig? Is there a plugin that does this already? I've done some googling with no luck, and the recent questions don't seem to ask about this specifically. I understand there might be some complication in describing relative rotations from translations alone. If this is the case, I'm fine trying to figure it out on my own.
I would do it this way, requiring Blender and Blender Add-On: Sverchok and/or maybe Animation Nodes (!).

Supposedly all this can be done using Python Script, but for artist, maybe Sverchok or AN Animation Nodes is A LOT easier.


You start with some kind of data of point cloud. In CSV or whatever. I supposed you have recorded the data for each frame. I will start with just a single frame, this will be for the Rest Bones.

Load the CSV data into Sverchok via Text In node. Right away here, I am turning the point cloud into group of edges, merge, and this will be for the Bones, via Skin Modifier.





Poly Edge -> Skin Modifier -> Create Armature -> Bones! Magic!



Here, sometimes you need to Clear Parent for the Bones.


Next, we simply pipe in the animation data into the Pose Bone, frame by frame using Animation Nodes or Sverchok. Here is Sverchok way:




So.... that's pretty much it the basic idea.