![]()
Introduction
Point Oven is a commercial suite of plugins designed to bake vertex and fcurve data to
streamline pipelines, and to transfer data between different applications.
Point Oven can be used to simplify your
existing Lightwave scenes by baking complex deformations, or to share data with other
users who have Point Oven but may use a different 3D application. Point Oven currently supports XSI,
Maya, 3DS Max, Lightwave and Messiah.
The Point Oven Baker plugin for Lightwave can be found in the generic plugin list.
It is recommended you add the plugin as a button to the Lightwave interface for easy access.
If unsure how to do this refer to the Lightwave user manual. Main Tab
The list box shows what items are currently in the scene, and allows you to flag the item to be baked. In this example I have just the default camera and distant light in the scene and I have activated the camera for processing. To activate and de-activate items, click inline with the item underneath the bake column header. If you want to activate all of the items press the “Select All” button, and to de-activate all press the “Select None” button. The other controls on this page are IN, OUT, and STEP. These are the start frame, end frame and frame step which you would like to bake. If at any point while using the interface you press the OK button, baking will commence. Pressing the cancel button will exit from the plugin without any data being processed.
Scenes Tab
The scenes tab is where you specify which scene formats you wish to export and where to save them. The controls on this tab are fairly self explanatory, just enable the formats you want to export, and specify a file path by either typing in the path or by pressing the button to the right of the text box to browse to the path. You may not wish to save any scene files, if this is the case you can skip this tab.
Objects Tab
The The objects tab allows you to enable mdd export. All meshes selected for export will have their deformation baked to mdd files. Use this when you need to bake out deformation created by bones, morphs, or displacements. If you do not have any deforming geometry this should be disabled.
Motions Tab
Along side the baking of geometry, Point Oven can also bake fcurves and convert them for use with the other supported packages. Point Oven refers to this as motion processing, and thus the Motion Options block gives you control over what is processed and how it is stored. For motions to be processed, the “Enable Motion Export” check box must be activated. Once active you must also activate the types of objects to export motions for, you have a choice between, Cameras, Lights, Nulls, and Mesh objects. If you happen to enable Cameras and there aren't any to be processed, Point Oven will simply ignore this flag. By default, Point Oven will embed the motion of the item into the scene file providing that a scene file has been setup to bake to. If you wish to bake the motion of an item without making a scene file you should enable the “Separate Motion Files” check box. This will bake all of the required motions into separate motion files. This can be very useful if only a couple of items need to be baked for an existing scene.
Reading MDD files
Now that you have some mdd files you can apply them to objects in Lightwave via the standard Motion Designer MD_PLUG or with the Point Oven Reader plugin. The Point Oven Reader plugin can be found in the object->properties displacement plugins list. Once the Point Oven Reader plugin is applied to the object double click on it in the displacement list and this interface will be presented:
To apply your MDD file simply browse to the file using the FileName control. Once there is a valid path the geometry will displace and animate when scrubbing the time line. Point Oven dynamically loads the data to maximise memory efficiency, so playback is governed by how much geometry you are displacing, and how fast your network/disk is.
The
Offset and End Behaviour controls allow you to control the
playback of the MDD file. Offset shifts the entire MDD animation forward
or backwards by the number of frames specified. You can also animate the
offset allowing looping and other highly customisable effects. End Behaviour
allows you to set what the MDD player will do at the end of the MDD file
animation. Here you can tell it to stop playing, loop, or ping-pong. These
effects are possible through animating the offset parameter, but End Behaviour
gives you a much faster and easier approach to this. By combining animated
offsets and loop end behaviour you can get some really crazy results! Interpolation allows you to choose how the MDD file is interpolated at subframe steps. Subframe steps are required when using motion blur or using a different fps in the scene to the MDD file. An example of this is if you bake an MDD file from a scene at 25 frames per second, and then load it into a scene at 30 frames per second, Point Oven will try and scale the MDD file by 1.2. The scale by 1.2 makes frame 16 frame 19.2! In this case Point Oven interpolates frame 20 and 19 to get an approximated value for frame 19.2. The linear mode will simply use 0.8 of the value at frame 19 and 0.2 of the value at frame 20, where as the spline interpolation maps a spline across 3 frames of the MDD file thus getting a non linear subframe value. The spline method is better for objects that are rotating very fast, but is more computationally expensive. The MDD Reader interface also provides the user with three read only parameters that display information about the data the MDD file contains. These are the number of frames of animation, the amount of vertices in the mdd file mesh, and the frames per second the MDD was baked at. This data is very useful for identifying you have the correct MDD file.
The MDD editor is a Modeler plugin allowing you to edit your MDD files using the modeler tool set. Because Modeler is not designed for animation the MDD Editor does have some limitation, but it still can save a lot of time when fixing small glitches in simulations etc.
The first thing I recommend you do is add the plugin to the interface so there is a button to activate it,
refer to the Lightwave User Guide for information on how to do this.
Once you have you're object loaded, run the plugin and press the “n” key or press the numeric button to activate the interface.
You should be presented with the interface.
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
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++; } |