.mdd (PointOven) format support

BazC

0
Messages
26
.mdd (PointOven) format support

I hope this is already planned because it's such a useful format. It allows import of animation by vertex and fcurve data.

Here's what the PointOven site says about it.

"MDD Files
Mdd files are used by Point Oven to store deformation data. When an MDD file is exported, Point Oven saves the position of every vertex on the chosen mesh for every frame of the animation specified. Once baked, the mesh can be stripped of all deformers and animation, and have just the Point Oven MDD reader plugin applied. This will then read the data for the specified frame and deform the mesh to the correct position. "

This means that even if an app doesn't support a feature it can still import and render the animation. So you could import a fluid animation from Realflow for instance and render it in Cheetah3d or I could export a character animtaion from Cheetah3d and render it in Modo even though Modo doesn't have bones yet.
 
Here's the format description from the developers site

MDD file format
The MDD file format is very simple and here is a brief description for TD's and developers who are interested in adding tools to a pipeline built around MDD.

The first thing to note is that the MDD file format is Motorola Big Endian byte order as opposed to the Intel Little Endian standard. So however you implement the structure below, you must come up with an algorithm to flip the bytes during file IO.


The data structure is like so:
typedef Struct{
int totalframes;
int totalPoints;
float *Times; //time for each frame
float **points[3];
}mddstruct;


and the data is written like so:


totalframes
totalPoints
Times
while(!totalframes)
{
while(!totalPoints)
{
write point[frame][point][axis];
point++;
}
frame++;
}
 
I wonder how difficult it would be to create an exporter for this format. Thinking aloud.

Mike
 
Interesting, this is essentially MDx file format (used by Quake, et al) but without the size optimizations (and corresponding lack of precision) of the early forms (which used fixed point values).
 
Back
Top