Home Downloads Docs Support Order FAQ


Point Oven XSI


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. Although still a commercial product, Point Oven for XSI is now included as standard and gives you access to import and export compatible files. Point Oven can be used to simplify your existing XSI 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 XSI Point Oven plugins allow you to import and export several different file formats:

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.
For high resolution poly meshes this can be alot of data to read/write and thus MDD files can be quite large, however, the Point Oven MDD reader plugin only loads the data for the specified frame, minimising memory requirements. The data is stored as binary for speed and efficiency and thus can't be read in a text viewer.

LWO2 Files
LWO2 is the standard object file format used by Lightwave 3D. Point Oven uses this file format to transfer objects/meshes with multiple UV maps between the supported applications. Point Oven for XSI can also import LWO files that have weight and morph/shape map information, although this data is not currently supported when exporting LWO2 files. LWO2 supports poly mesh objects only and is a binary data format.

Scene files (LWS, FXS, PSC)
LWS is the Lightwave scene file format, FXS is the Messiah scene file format, and PSC is the native Point Oven scene file format. These are all formats that share the same principle of referencing objects and storing motion information. This means that if you had a simple scene with a cube animating up and down, these files would store a path to the cube LWO2 to import, and the fcurve motion data of it moving up and down. If you export the motion via an mdd file, the motion isn't stored in the scene file, instead the scene file references the mdd file to apply to the object. At no point is the mesh information stored in any of these files. With this in mind, it is important to export the objects to LWO2 files at the same time as exporting a scene file, thus the file has the correct file paths to reference. If you do not export the LWO2s the scene file will have invalid paths and fail to load. LWS and FXS files are ascii formats and can be loaded into a text editor, where as PSC is a binary format.

MOT files
Point Oven can export fcurve motions to seperate motion files for each object. Currently these are stored in Lightwave motion MOT files. MOT files are ascii files and can be opened in a text editor.



Baking


The Point Oven Baker plugin for XSI can be found in the main file menu of XSI. The baker plugin is the first tool you are likely to use. It is with this you can bake your mesh and fcurve data to the various supported file formats. When you run the Point Oven Baker plugin you will be presented with the baking interface which has been broken into the following tabs:



Main Tab




This is where you specify which items in the scene should be baked. All items listed in this box will be processed. To add an item, pin the property page open, select the item or items you want to add, then press “Add Selected”. To remove items from the item list, select them in the list and press “Remove selected”, and to clear the list completely just press “Remove All”.

The other controls on this page are “Start_Frame”, “End_Frame”, and “Process”. Obviously the start and end frame settings tell Point Oven what frame range you wish to process, these default to whatever your scene start/end frames are. The Process button starts the baking process, once this button is pressed either a progress bar will appear, or Point Oven will return an error as to why nothing has happened in the XSI script editor.

Note: All errors that occur inside any of the Point Oven plugins will be reported to the XSI script editor. Always check the script editor before contacting support.



Meshes Tab




The meshs tab is where to setup mdd file paths and mesh export settings. “Export MDD” enables mesh baking to mdd displacement files. The mdd files will be exported to the mdd folder specified, and the “File_Prefix” control allows the user to append a string to the beginning of the mdd file name. By default the mdd file will be named after the mesh it contains data for. So if you have a mesh called “box” and you enter a prefix of “Sc001_” your mdd file will be called “Sc001_box.mdd”.

The next group of controls allows you to specify what object file format to use and where to save them. EMDL is only relevant if you wish to bake for XSI, and uses the XSI standard EMDL model format to save the geometry. Most cases using Point Oven require baking to another program and thus the LWO file format should be used. The EMDL or LWO filename is based on the item name inside XSI so you only need to specify the directory to store the object files, for importing and exporting individual LWO files see the XSI LWO import and export plugin section of this documentation.



Scenes Tab




The scenes tab is where to setup scene formats and file paths for export. Each format has a checkbox to enable export, and a file control to specify where to save the scene. Multiple scene formats can be exported in one bake. To export to XSI, Maya or 3DS MAX use the Point Oven scene format.



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 “Motions Enabled” 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.



PSC file import






To import a Point Oven scene file (PSC) simply go to file->import->PointOven->Import PSC. The above requester will appear allowing you to specify which PSC file to import. Any errors during loading will be reported to the XSI script editor. Note that the PSC file will be imported into whatever scene you have open.



LWO file support


LWO Export

Point Oven XSI provides plugins for load and saving LWO (Lightwave Object) files from within XSI. To export an LWO file go to File->Point Oven->LWO Export and you will be presented with the following interface:






The file control allows you to set where the file will be saved and the file name. Before pressing export, make sure you have the geometry you wish to export selected. If you select several polymesh objects the exporter will export one file with each polymesh on a different layer within that file.



LWO Import

To import an LWO file into XSI go to File->Point Oven->LWO Import and you will be presented with the following interface:






Before you attempt to import an LWO file it is advisable to make sure the aren't any 1 or 2 point polygons in the mesh. XSI does not support this geometry type so the LWO importer will return an error if you try to import them.

Once you know you have clean geometry, specify the file you want to import using the “Pick LWO file” control. With the default settings, if you press the import button your LWO file will imported, and a new model will be present in your scene, under which will be all of the layers from the LWO file as polygon mesh objects. If there were morphs present in the LWO then a mixer object will be present under your imported model. By selecting the layer with morphs and pressing ALT+0 you will see each morph is a clip inside the mixer, and you can blend the morphs using the mixer weight sliders. Uvs, Surfaces and Weights are brought in and placed in the clusters folder of the polygon mesh, each surface cluster having a material attached.

Most of the time these default settings will be all you will need, however sometimes you may only want the geometry to be imported and turning off the other options will speed up the import, and prevent unneeded clutter.





Reading MDD files


MDD files may be used to displace geometry in XSI by using the PO_XSI_Reader operator. To apply the operator to a polymesh, select the mesh, then go to File->PointOven->Apply MDD Reader. This will place the operator in the polymesh stack and will also bring up the following interface:




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. To temporarily disable the effect simply activate the Mute button and no calculation will take place.

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.

When the MDD reader is applied the script creates an expression to drive the time parameter of the operator. This is to force the MDD reader to update every time the user changes time in XSI. This should always be taken care of by the Apply MDD Reader script but is worth noting here because if this expression gets removed the playback will not update. If the MDD file is not playing back this connection should be the first to check. By changing the expression it is possible to make the MDD reader playback any frame at any time, but it is reccomended to use the offset parameter to do this.





PO Morph Property




The morph property plugin automatically sets up and maintains a custom bank of sliders and interface that link to the morphs of your imported LWO file. To use the property, import the LWO file with the PO LWO importer then select the mesh and run the property. If successful a property will be present under your mesh and the interface should appear.




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++;

}