There are few different file formats for Cal3D and several different versions for those formats. Maverick Model 3D has support for most Cal3D functionality, but some features are missing or imperfect. The following is a short list of things to be aware of when working with Cal3D files in Maverick Model 3D. Some of these items are discussed in more detail in the sections below.
MM3D has a Cal3D Export Options window that allows you to write meshes in a single file, or in separate files, as well as specifying whether materials should be in XML or binary format.
Cal3D models are made up of skeleton, animation, mesh, and material files, as well as .cal or .cfg configuration files that define how to put the final model together from the individual files. There are two file formats for the .cal and .cfg files. One style is similar to a Windows .INI file. It has section names in square brackets and key/value pairs that specify filenames for parts of the model. The other style is an XML format. Maverick Model 3D will read and write the INI style files, but not the XML format.
Some attirbutes of the configuration file will be read, preserved, and written even though MM3D does not use them. Those attributes include things like scale and rotation.
Binary skeleton file formats 700 through 1200 are supported. XML skeleton files are not supported.
The filename of the skeleton file written by MM3D will be the same as the main .cal or .cfg file with the extension replaced with .csf.
Binary animation file formats 700 through 1200 are supported. XML animation files are not supported.
There is one animation file per animation. The animation filename is is the name of the animation plus the .caf extension. If a meta data key for "animation_[animation name] is defined, the filename specified in the meta data is used instead.
MM3D tracks animations on a per-frame basis, using the frames-per-second attribute to determine at which point in time a keyframe influences the skeleton. Cal3D animations do not have an FPS attribute, only keyframe times. MM3D assumes 30 fps to assign the keyframes to frame numbers.
MM3D will read compressed animation tracks. MM3D will write animation files in any version number you specify, but regardless of the version number MM3D will always write uncompressed animation tracks.
Binary mesh file formats 700 through 1200 are supported. XML mesh files are not supported.
The meshes in the model may be written in one mesh file, or one file for every group. If there is a single mesh file, it will be the same name as the .cal or .cfg file with the extension replaced with .cmf. If there are multiple mesh files, the files will be named after the groups with .cmf appended.
Note that LOD (level of detail) attributes and springs are not supported by MM3D. LOD and spring data will be silently discarded when mesh files are read.
Binary material file formats 700 through 1200 are supported. XML versions 900 through 1000 are supported.
Material file names are the material name with .crf or .xrf appended.
Texture map materials are supported. Other additional maps that are specified will be silently discarded by MM3D.
Often Cal3D texture images are in PNG or RAW format. MM3D supports both of these formats in addition to many other formats.