THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 26/11/2008 at 23:32, xxxxxxxx wrote:
Cinema 4D Version: R10+
Platform: Windows ;
Language(s) : C++ ;
First off, bear in mind that I'm not terribly versed with animations in general, or Joints, in particular, so any help will be appreciated...
Ok, I'm working on exporting rigging and keyframed animations related to that rigging. The problem (or advantage, depending on your perspective) with Cinema 4D is that there are so many different methods available to rig/animate a figure. I might be looking at a 'Bone' system, or a 'Joint' system or some other setup. Even within those options, they are fairly open-ended as far as adding controllers, constraints and expressions, etc. to further limit or control the rigging.
Anyway, my current question is in regards to "Joint" Object rigs. My understanding is that I can look for and grab a pointer to a CAWeightTag object and use that to get a list of joints, as well as weights/weight-maps for each joint. So far, so good - that pretty much covers what I need to export the rig itself.
Next thing I also need to do is export animations. Again, this is a new area for me, but I'll figure out how to get the tracks and keyframe info I need... but my concern is this:
Most of the example riggings/animation I've looked at doesn't actually animate the "Joint" objects themselves (no keyframes for joints) - instead, controllers are set up and the controllers are animated. Therein lies my question... without just exporting every frame, is there some way to resolve the controller keyframes into joint keyframes (ie. without having to basically parse the entire scene to determine what expressions, constraints and controllers may be affecting some particular joint) ?
Is there some sort of BakeJointKeyFrames() routine that I'm missing? Or... any ideas?