![]()
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 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.
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++; }
|