PDA

View Full Version : Fitting BVH to arbitrary skeletons?


Kuroyume0161
07-31-2007, 02:14 AM
I'm in the envious position of trying to fit BVH motion capture files (of various sources) to particular skeletons. There is much to be considered: scale, bone lengths, offset relationships, rotation orders, translation adjustments, and so on.

Anyone have links to information on procedures for doing this?

Robert

dlanier
08-10-2007, 08:05 PM
Hi Robert,

I think this is a feature part of Autodesk Motion Builder...
Regards,

Kuroyume0161
08-10-2007, 09:26 PM
Motion Builder needs a 'template'. I should mention that I need to do this programmatically - thus, the reason for this topic in Graphics Programming. ;)

There are ways to do this programmatically - as I've just found the proper term: "Motion Retargeting". Not that it is simple.

There are two stages to the problem:

1. Aligning the input and target joints' initial directions (pose).

2. Modifying the animation to the target skeketon considering initial pose, variations in hierarchy, rotation orders, etc.

Some solutions depend upon IK solvers to match the input to the target and reduce the 'noise' (the systemic differences). I'm still reading up on possible approaches but am really saddened by the lack of algorithms or code. Even the math is sparse and basically in this easy to work format:

deltaAlpha = Ji * deltaX + I - (Ji * J) * deltaZ

where:
I is the identity matrix (easy enough)
J is a Jacobian matrix of the set of constraints (?)
Ji is the 'pseudo' inverse of J
deltaX and deltaZ are the primary and secondary 'variations of the set of Cartesian constraints'

They lost me on the constraints - and I'll bet that this is a particular rotation order solution (meaning that supporting others is more derivative work). I HATE mathematicians solving programmatic problems. They are absolutely necessary and provide a fertile basis for improved algorithmic solutions - but they ignore the details of implementation. Seemingly simple mathematical equations can be tens or hundreds (or thousands) of lines of arduous code (esp. when Sigma or other ranges are involved). 8 basic equations for one solution that I did for another area, to be completely generalized, would be hundreds of lines of code. Having the math is great - having algorithms is so much better... (sorry for opining).

Robert

CGTalk Moderation
08-10-2007, 09:26 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.