MM3D File Format

Contents

Overview

This document describes version 1.6 of the MM3D file format. Data that is available only in specific versions will be noted below. All other data is common to every version of the file format. Previous releases of Misfit Model 3D that do not read all data segments should still be able to load model files, though some information may be lost.

The MM3D file format was designed to be easy to extend and easy to read to extract just the information you want. The header will tell you what information is included in the file and give you offsets to the location where the information is in the file.

Data sections have their own header before the data. Each data type is either a fixed size or a variable size. If the data size is fixed (constant, Type B) the data size immediatley preceeds the data block of the data section. If the data size is variable (Type A) the data size preceeds each data element.

MM3D uses Intel byte order (least significant byte first). Bytes are 8 bits. The types specified in the Type fields below are ints (signed integers) or uints (unsigned integers). The type designation is followed by a number which designates the number of bits in that integer. The type may be multiplied by a constant or variable number to get the full length of the field. Variables are generally data fields from earlier sections in the file. In the data chunks there is also a float32 which is a 32-bit floating point number and an ASCIIZ which is every byte up to and including the next null byte. ASCIIZ strings are truncated to 1024 bytes (including the terminating null) if necessary.

As of MM3D version 1.4 (and later 1.3 versions) all text strings are encoded as UTF-8. Versions 1.2 and earlier (as well as early 1.3 versions) used extended ASCII encoding. If you want your MM3D models to be usable in new and older versions of MM3D you should use only standard ASCII characters (0-127) for model object names and texture filenames.

NOTE: Items marked in red are still under development. They will not be finalized until the next revision of the file format is complete. They are provided for reference in the interim and are subject to change without notice.

File Header

The file header is 12 bytes.

Data Type Notes Description
MAGIC_NUMBER int8 * 8 'MISFIT3D' If the first 8 bytes do not match this string it is not an MM3D file
MAJOR_VERSION uint8 0x01 Major version number, the file format may be incompatible with newer or older filters if the major version number does not match
MINOR_VERSION uint8 0x06 Minor version number, older filters should be able to get useful data from the file but may not underll unnates
  • Texture Projections

  • [ Contents | Using | Tools | Commands ]
    Copyright © 2004-2007, Kevin Worcester
    ./usr/share/doc/mm3d/html/olh_mergewin.html0000644000000000000000000000735110767331576017567 0ustar rootroot Misfit Model 3D Help - Merge Window

    Merge Window

    Overview

    The Merge Window allows you to merge a model file into the current model. After selecting a model file you will be prompted with the merge window to specify the location of the new model in the existing model as well as options for importing textures and animations.

    Merge Location

    The merge location frame is made up of two components, the Rotation and Translation components.

    The Rotation specifies how the new model will be rotated relative to the existing model. You can rotate the new model on all three axes. Rotation is specified in degrees.

    The Translation specifies the location of the new model relative to the origin of the existing model. The translation is specified in GL units. The relative position will depend on the scale of your model. As a guide, the small number in the lower-left corner of the viewports tell you what the GL unit distance is between each grid line in the viewport.

    Merge Options

    The Include textures checkbox allows you to specify if textures from the new model should be merged into the existing model.

    The Include animations checkbox allows you to specify if animations from the new model should be merged into the existing model. If this checkbox is selected, you can also specify Animation Options

    Animation Options

    The Append animations checkbox will make the animations of the existing model and animations of the new model separate animations. Both models will appear in each others animations, but only one will animate. This only applies to the merge. After the models are merged you may modify the existing animations to animate both models.

    The Merge if possible checkbox will attempt to combine the existing animations of both models so that both models are animated in each animation. In order to merge animations you must have the same number of animations in each model and the frame counts of the corresponding animations must also match (if model A has animations with 10, 15, and 12 frames, and model B has animations with 10, 15, and 12 frames they can be merged). Skeletal and Frame animations are merged independently. If you have a model which contains both types of animations and one type can be merged and the other cannot, the mergeable type will be merged.

    Note that you can merge skeletal animations using the Animation Sets window even after the model has been merged. Frame animations cannot be merged through the Animations Sets window.

    Press Ok to merge the new model into the current model or press Cancel to abort the merge.


    [ Contents | Using | Tools | Commands ]
    Copyright © 2004-2007, Kevin Worcester
    ./usr/share/doc/mm3d/html/olh_meshdetails.html0000644000000000000000000000634310767331576020254 0ustar rootroot Misfit Model 3D Help - Mesh Details

    Mesh Details

    Overview

    A mesh is a collection of triangles that are connected by common vertices. If every edge of every triangle in the mesh is connected to another mesh (there are no gaps or holes in the mesh) the mesh is called an "enclosed mesh".

    Meshes are not first-class objects to Misfit Model 3D, but there are some operations where use of the term mesh can be helpful.

    Note that the term "mesh" is distinct from "group". The term "group" in MM3D generally refers to a collection of triangles that have been defined as a group and may have a material applied. Triangles in a mesh may or may not be in a group.

    Creating a Mesh

    Meshes are created when you use the creation tools to create geometric shapes such as cubes, spheres, or cylinders.

    Other Mesh Details

    You can combine meshes using the Boolean Operataions panel. For the union, intersection, and subtraction operations to work properly, all meshes involved must be enclosed (otherwise the behavior of the face-removal step is undefined). If the meshes are not enclosed you can still use the fuse operation and manually remove the faces that must be removed.

    The Simplify Mesh command is useful for combining faces that do not add detail to a shape. For example if you have a cube where each side is made up of 8 triangles, then all of these triangles are in the same plane and many edges form a single straight line. In this case, the eight faces on each side can be reduced to two faces. Often when you use a boolean operation to combine two objects you will want to use the simplify mesh command to eliminate unecessary faces from the model.

    If you have mesh that is not enclosed you can use the Cap Holes command to create faces to fill in the gaps. Note that the cap holes feature is very limited. If your shape is relatively complex it may have difficulty correctly determining how to connect faces to fill in the gaps.

    See Also


    [ Contents | Using | Tools | Commands ]
    Copyright © 2004-2007, Kevin Worcester
    ./usr/share/doc/mm3d/html/olh_metawin.html0000644000000000000000000000330510767331576017411 0ustar rootroot Misfit Model 3D Help - Model Meta Data Window

    Model Meta Data Window

    The Model Meta Data Window is used to add or remove information associated with a model that does not affect rendering. This can include any arbitrary text data such as the name of the creator, copyright information, URLs.

    The main component of the window is the Name/Value list box. This list box contains name and value pairs.

    To add a new name/value pair click the New button. A new Name/Value row will appear. A new name/value pair will be created. You can edit the name and value by pressing the Enter key or by double-clicking on the name or value with the mouse. Names do not need to be unique, though duplicate names may be confusing for other people using this model.

    To remove a name/value pair from the model, select the name in the list box and click the Delete button.

    Press Ok to keep your changes or press Cancel to ignore any changes.


    [ Contents | Using | Tools | Commands ]
    Copyright © 2004-2007, Kevin Worcester
    ./usr/share/doc/mm3d/html/olh_mm3dformat.html0000644000000000000000000012760610767331576020031 0ustar rootroot Misfit Model 3D Help - MM3D File Format

    MM3D File Format

    Contents

    Overview

    This document describes version 1.6 of the MM3D file format. Data that is available only in specific versions will be noted below. All other data is common to every version of the file format. Previous releases of Misfit Model 3D that do not read all data segments should still be able to load model files, though some information may be lost.

    The MM3D file format was designed to be easy to extend and easy to read to extract just the information you want. The header will tell you what information is included in the file and give you offsets to the location where the information is in the file.

    Data sections have their own header before the data. Each data type is either a fixed size or a variable size. If the data size is fixed (constant, Type B) the data size immediatley preceeds the data block of the data section. If the data size is variable (Type A) the data size preceeds each data element.

    MM3D uses Intel byte order (least significant byte first). Bytes are 8 bits. The types specified in the Type fields below are ints (signed integers) or uints (unsigned integers). The type designation is followed by a number which designates the number of bits in that integer. The type may be multiplied by a constant or variable number to get the full length of the field. Variables are generally data fields from earlier sections in the file. In the data chunks there is also a float32 which is a 32-bit floating point number and an ASCIIZ which is every byte up to and including the next null byte. ASCIIZ strings are truncated to 1024 bytes (including the terminating null) if necessary.

    As of MM3D version 1.4 (and later 1.3 versions) all text strings are encoded as UTF-8. Versions 1.2 and earlier (as well as early 1.3 versions) used extended ASCII encoding. If you want your MM3D models to be usable in new and older versions of MM3D you should use only standard ASCII characters (0-127) for model object names and texture filenames.

    NOTE: Items marked in red are still under development. They will not be finalized until the next revision of the file format is complete. They are provided for reference in the interim and are subject to change without notice.

    File Header

    The file header is 12 bytes.

    Data Type Notes Description
    MAGIC_NUMBER int8 * 8 'MISFIT3D' If the first 8 bytes do not match this string it is not an MM3D file
    MAJOR_VERSION uint8 0x01 Major version number, the file format may be incompatible with newer or older filters if the major version number does not match
    MINOR_VERSION uint8 0x06 Minor version number, older filters should be able to get useful data from the file but may not underll unnates
  • Texture Projections

  • [ Contents | Using | Tools | Commands ]
    Copyright © 2004-2007, Kevin Worcester
    ./usr/share/doc/mm3d/html/olh_mergewin.html0000644000000000000000000000735110767331576017567 0ustar rootroot Misfit Model 3D Help - Merge Window

    Merge Window

    Overview

    The Merge Window allows you to merge a model file into the current model. After selecting a model file you will be prompted with the merge window to specify the location of the new model in the existing model as well as options for importing textures and animations.

    Merge Location

    The merge location frame is made up of two components, the Rotation and Translation components.

    The Rotation specifies how the new model will be rotated relative to the existing model. You can rotate the new model on all three axes. Rotation is specified in degrees.

    The Translation specifies the location of the new model relative to the origin of the existing model. The translation is specified in GL units. The relative position will depend on the scale of your model. As a guide, the small number in the lower-left corner of the viewports tell you what the GL unit distance is between each grid line in the viewport.

    Merge Options

    The Include textures checkbox allows you to specify if textures from the new model should be merged into the existing model.

    The Include animations checkbox allows you to specify if animations from the new model should be merged into the existing model. If this checkbox is selected, you can also specify Animation Options

    Animation Options

    The Append animations checkbox will make the animations of the existing model and animations of the new model separate animations. Both models will appear in each others animations, but only one will animate. This only applies to the merge. After the models are merged you may modify the existing animations to animate both models.

    The Merge if possible checkbox will attempt to combine the existing animations of both models so that both models are animated in each animation. In order to merge animations you must have the same number of animations in each model and the frame counts of the corresponding animations must also match (if model A has animations with 10, 15, and 12 frames, and model B has animations with 10, 15, and 12 frames they can be merged). Skeletal and Frame animations are merged independently. If you have a model which contains both types of animations and one type can be merged and the other cannot, the mergeable type will be merged.

    Note that you can merge skeletal animations using the Animation Sets window even after the model has been merged. Frame animations cannot be merged through the Animations Sets window.

    Press Ok to merge the new model into the current model or press Cancel to abort the merge.


    [ Contents | Using | Tools | Commands ]
    Copyright © 2004-2007, Kevin Worcester
    ./usr/share/doc/mm3d/html/olh_meshdetails.html0000644000000000000000000000634310767331576020254 0ustar rootroot Misfit Model 3D Help - Mesh Details

    Mesh Details

    Overview

    A mesh is a collection of triangles that are connected by common vertices. If every edge of every triangle in the mesh is connected to another mesh (there are no gaps or holes in the mesh) the mesh is called an "enclosed mesh".

    Meshes are not first-class objects to Misfit Model 3D, but there are some operations where use of the term mesh can be helpful.

    Note that the term "mesh" is distinct from "group". The term "group" in MM3D generally refers to a collection of triangles that have been defined as a group and may have a material applied. Triangles in a mesh may or may not be in a group.

    Creating a Mesh

    Meshes are created when you use the creation tools to create geometric shapes such as cubes, spheres, or cylinders.

    Other Mesh Details

    You can combine meshes using the Boolean Operataions panel. For the union, intersection, and subtraction operations to work properly, all meshes involved must be enclosed (otherwise the behavior of the face-removal step is undefined). If the meshes are not enclosed you can still use the fuse operation and manually remove the faces that must be removed.

    The Simplify Mesh command is useful for combining faces that do not add detail to a shape. For example if you have a cube where each side is made up of 8 triangles, then all of these triangles are in the same plane and many edges form a single straight line. In this case, the eight faces on each side can be reduced to two faces. Often when you use a boolean operation to combine two objects you will want to use the simplify mesh command to eliminate unecessary faces from the model.

    If you have mesh that is not enclosed you can use the Cap Holes command to create faces to fill in the gaps. Note that the cap holes feature is very limited. If your shape is relatively complex it may have difficulty correctly determining how to connect faces to fill in the gaps.

    See Also


    [ Contents | Using | Tools | Commands ]
    Copyright © 2004-2007, Kevin Worcester
    ./usr/share/doc/mm3d/html/olh_metawin.html0000644000000000000000000000330510767331576017411 0ustar rootroot Misfit Model 3D Help - Model Meta Data Window

    Model Meta Data Window

    The Model Meta Data Window is used to add or remove information associated with a model that does not affect rendering. This can include any arbitrary text data such as the name of the creator, copyright information, URLs.

    The main component of the window is the Name/Value list box. This list box contains name and value pairs.

    To add a new name/value pair click the New button. A new Name/Value row will appear. A new name/value pair will be created. You can edit the name and value by pressing the Enter key or by double-clicking on the name or value with the mouse. Names do not need to be unique, though duplicate names may be confusing for other people using this model.

    To remove a name/value pair from the model, select the name in the list box and click the Delete button.

    Press Ok to keep your changes or press Cancel to ignore any changes.


    [ Contents | Using | Tools | Commands ]
    Copyright © 2004-2007, Kevin Worcester
    ./usr/share/doc/mm3d/html/olh_mm3dformat.html0000644000000000000000000012760610767331576020031 0ustar rootroot Misfit Model 3D Help - MM3D File Format

    MM3D File Format

    Contents

    Overview

    This document describes version 1.6 of the MM3D file format. Data that is available only in specific versions will be noted below. All other data is common to every version of the file format. Previous releases of Misfit Model 3D that do not read all data segments should still be able to load model files, though some information may be lost.

    The MM3D file format was designed to be easy to extend and easy to read to extract just the information you want. The header will tell you what information is included in the file and give you offsets to the location where the information is in the file.

    Data sections have their own header before the data. Each data type is either a fixed size or a variable size. If the data size is fixed (constant, Type B) the data size immediatley preceeds the data block of the data section. If the data size is variable (Type A) the data size preceeds each data element.

    MM3D uses Intel byte order (least significant byte first). Bytes are 8 bits. The types specified in the Type fields below are ints (signed integers) or uints (unsigned integers). The type designation is followed by a number which designates the number of bits in that integer. The type may be multiplied by a constant or variable number to get the full length of the field. Variables are generally data fields from earlier sections in the file. In the data chunks there is also a float32 which is a 32-bit floating point number and an ASCIIZ which is every byte up to and including the next null byte. ASCIIZ strings are truncated to 1024 bytes (including the terminating null) if necessary.

    As of MM3D version 1.4 (and later 1.3 versions) all text strings are encoded as UTF-8. Versions 1.2 and earlier (as well as early 1.3 versions) used extended ASCII encoding. If you want your MM3D models to be usable in new and older versions of MM3D you should use only standard ASCII characters (0-127) for model object names and texture filenames.

    NOTE: Items marked in red are still under development. They will not be finalized until the next revision of the file format is complete. They are provided for reference in the interim and are subject to change without notice.

    File Header

    The file header is 12 bytes.

    Data Type Notes Description
    MAGIC_NUMBER int8 * 8 'MISFIT3D' If the first 8 bytes do not match this string it is not an MM3D file
    MAJOR_VERSION uint8 0x01 Major version number, the file format may be incompatible with newer or older filters if the major version number does not match
    MINOR_VERSION uint8 0x06 Minor version number, older filters should be able to get useful data from the file but may not underll unnates
  • Texture Projections

  • [ Contents | Using | Tools | Commands ]
    Copyright © 2004-2007, Kevin Worcester
    ./usr/share/doc/mm3d/html/olh_mergewin.html0000644000000000000000000000735110767331576017567 0ustar rootroot Misfit Model 3D Help - Merge Window

    Merge Window

    Overview

    The Merge Window allows you to merge a model file into the current model. After selecting a model file you will be prompted with the merge window to specify the location of the new model in the existing model as well as options for importing textures and animations.

    Merge Location

    The merge location frame is made up of two components, the Rotation and Translation components.

    The Rotation specifies how the new model will be rotated relative to the existing model. You can rotate the new model on all three axes. Rotation is specified in degrees.

    The Translation specifies the location of the new model relative to the origin of the existing model. The translation is specified in GL units. The relative position will depend on the scale of your model. As a guide, the small number in the lower-left corner of the viewports tell you what the GL unit distance is between each grid line in the viewport.

    Merge Options

    The Include textures checkbox allows you to specify if textures from the new model should be merged into the existing model.

    The Include animations checkbox allows you to specify if animations from the new model should be merged into the existing model. If this checkbox is selected, you can also specify Animation Options

    Animation Options

    The Append animations checkbox will make the animations of the existing model and animations of the new model separate animations. Both models will appear in each others animations, but only one will animate. This only applies to the merge. After the models are merged you may modify the existing animations to animate both models.

    The Merge if possible checkbox will attempt to combine the existing animations of both models so that both models are animated in each animation. In order to merge animations you must have the same number of animations in each model and the frame counts of the corresponding animations must also match (if model A has animations with 10, 15, and 12 frames, and model B has animations with 10, 15, and 12 frames they can be merged). Skeletal and Frame animations are merged independently. If you have a model which contains both types of animations and one type can be merged and the other cannot, the mergeable type will be merged.

    Note that you can merge skeletal animations using the Animation Sets window even after the model has been merged. Frame animations cannot be merged through the Animations Sets window.

    Press Ok to merge the new model into the current model or press Cancel to abort the merge.


    [ Contents | Using | Tools | Commands ]
    Copyright © 2004-2007, Kevin Worcester
    ./usr/share/doc/mm3d/html/olh_meshdetails.html0000644000000000000000000000634310767331576020254 0ustar rootroot Misfit Model 3D Help - Mesh Details

    Mesh Details

    Overview

    A mesh is a collection of triangles that are connected by common vertices. If every edge of every triangle in the mesh is connected to another mesh (there are no gaps or holes in the mesh) the mesh is called an "enclosed mesh".

    Meshes are not first-class objects to Misfit Model 3D, but there are some operations where use of the term mesh can be helpful.

    Note that the term "mesh" is distinct from "group". The term "group" in MM3D generally refers to a collection of triangles that have been defined as a group and may have a material applied. Triangles in a mesh may or may not be in a group.

    Creating a Mesh

    Meshes are created when you use the creation tools to create geometric shapes such as cubes, spheres, or cylinders.

    Other Mesh Details

    You can combine meshes using the Boolean Operataions panel. For the union, intersection, and subtraction operations to work properly, all meshes involved must be enclosed (otherwise the behavior of the face-removal step is undefined). If the meshes are not enclosed you can still use the fuse operation and manually remove the faces that must be removed.

    The Simplify Mesh command is useful for combining faces that do not add detail to a shape. For example if you have a cube where each side is made up of 8 triangles, then all of these triangles are in the same plane and many edges form a single straight line. In this case, the eight faces on each side can be reduced to two faces. Often when you use a boolean operation to combine two objects you will want to use the simplify mesh command to eliminate unecessary faces