Have you taken a look at the .X file format? It sounds like it supports the parameters you need to export.
xof 0303txt 0032
template AnimTicksPerSecond {
<9E415A43-7BA6-4a73-8743-B73D47E88476>
DWORD AnimTicksPerSecond;
}
Frame Root {
FrameTransformMatrix {
1.000000, 0.000000, 0.000000, 0.000000,
0.000000,-0.000000, 1.000000, 0.000000,
0.000000, 1.000000, 0.000000, 0.000000,
0.000000, 0.000000, 0.000000, 1.000000;;
}
Frame Cube {
FrameTransformMatrix {
1.000000, 0.000000, 0.000000, 0.000000,
0.000000, 1.000000, 0.000000, 0.000000,
0.000000, 0.000000, 1.000000, 0.000000,
3.953169, 0.000000, 0.000000, 1.000000;;
}
Mesh { // Cube mesh
8;
1.000000; 1.000000;-1.000000;,
1.000000;-1.000000;-1.000000;,
-1.000000;-1.000000;-1.000000;,
-1.000000; 1.000000;-1.000000;,
1.000000; 0.999999; 1.000000;,
0.999999;-1.000001; 1.000000;,
-1.000000;-1.000000; 1.000000;,
-1.000000; 1.000000; 1.000000;;
6;
4;0,1,2,3;,
4;4,7,6,5;,
4;0,4,5,1;,
4;1,5,6,2;,
4;2,6,7,3;,
4;4,0,3,7;;
MeshNormals { // Cube normals
6;
0.000000; 0.000000;-1.000000;,
0.000000;-0.000000; 1.000000;,
1.000000;-0.000000; 0.000000;,
-0.000000;-1.000000;-0.000000;,
-1.000000; 0.000000;-0.000000;,
0.000000; 1.000000; 0.000000;;
6;
4;0,0,0,0;,
4;1,1,1,1;,
4;2,2,2,2;,
4;3,3,3,3;,
4;4,4,4,4;,
4;5,5,5,5;;
} // End of Cube normals
MeshMaterialList { // Cube material list
1;
6;
0,
0,
0,
0,
0,
0;;
Material Material {
0.640000; 0.640000; 0.640000; 1.000000;;
96.078431;
0.500000; 0.500000; 0.500000;;
0.000000; 0.000000; 0.000000;;
}
} // End of Cube material list
} // End of Cube mesh
} // End of Cube
} // End of Root
AnimTicksPerSecond {
24;
}
AnimationSet Global {
Animation {
{Cube}
AnimationKey { // Rotation
0;
10;
0;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
1;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
2;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
3;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
4;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
5;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
6;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
7;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
8;4;-1.000000, 0.000000, 0.000000, 0.000000;;,
9;4;-1.000000, 0.000000, 0.000000, 0.000000;;;
}
AnimationKey { // Scale
1;
10;
0;3; 1.000000, 1.000000, 1.000000;;,
1;3; 1.000000, 1.000000, 1.000000;;,
2;3; 1.000000, 1.000000, 1.000000;;,
3;3; 1.000000, 1.000000, 1.000000;;,
4;3; 1.000000, 1.000000, 1.000000;;,
5;3; 1.000000, 1.000000, 1.000000;;,
6;3; 1.000000, 1.000000, 1.000000;;,
7;3; 1.000000, 1.000000, 1.000000;;,
8;3; 1.000000, 1.000000, 1.000000;;,
9;3; 1.000000, 1.000000, 1.000000;;;
}
AnimationKey { // Position
2;
10;
0;3;-11.989254, 0.000000, 0.000000;;,
1;3;-11.916801, 0.000000, 0.000000;;,
2;3;-11.708167, 0.000000, 0.000000;;,
3;3;-11.375905, 0.000000, 0.000000;;,
4;3;-10.931933, 0.000000, 0.000000;;,
5;3;-10.387617, 0.000000, 0.000000;;,
6;3;-9.753836, 0.000000, 0.000000;;,
7;3;-9.041045, 0.000000, 0.000000;;,
8;3;-8.259341, 0.000000, 0.000000;;,
9;3;-7.418507, 0.000000, 0.000000;;;
}
}
} // End of AnimationSet Global