Hi,
to move a bone, you have access to all the MObject3d functions (MOBone derive from MObject3d),
for example, the rotation/translation (there is a lot more, you can look at MObject3d.h for more detail) :
bone->setEulerRotation(euler);
bone->addAxisAngleRotation(axis, angle);
bone->setPosition(position);
Be just careful that there is no keyframes associated with the bone, or it will discard your changes.
If you want to remove keyframes for a specific bone, lets say the bone 0 for example, you can do :
MArmatureAnim * armatureAnim = mesh->getArmatureAnim();
if(armatureAnim)
{
// get bones anim array
MObject3dAnim * bonesAnim = armatureAnim->getBonesAnim();
// clear bone 0 keys
bonesAnim[0].clearPositionKeys();
bonesAnim[0].clearScaleKeys();
bonesAnim[0].clearRotationKeys();
}
To play/stop animation (you can look at MOEntity.h for more animation related functions) :
entity->changeAnimation(animationId);
And for shape keys animation, I started working on it and wrote the MMorphingData class,
but I didn't finished to implement it, maybe you can help by studying how to improve the Blender python script exporter
to export Blender shape keys ?
Cheers,
Anaël.