Overview of the DTS File Format

(todo - this page needs cleanup/rewrite)

Overview of DTS File structure

What follows is a discussion of the internals of the DTS file format.  If you wish to skip this section and get straight to work, detailed tutorials can be found here: Tutorial Index. If you want to know what's going on behind the scenes, read on.

DTS files contain several types of information, including DTS objects, sequences, detail levels, nodes, and materials.

DTS Objects and meshes

A DTS File can contain one or more DTS Objects. DTS Objects contain one or more versions of a mesh to be displayed in different detail levels.  Each DTS Object must contain either a mesh or a null mesh for each detail level that is present in the DTS File.  The exporter generates null meshes automatically as needed.

Detail Levels

\

DTS Objects

Detail-1

(size 600)

Detail-2

(size 100)

Detail-3

(size 60)

Detail-4

(size 32)

Detail-5

(size 3)

Collision-1

(size -1)

LOS-10

(size -1)

HeadMesh Mesh data Mesh data Mesh data Mesh data Mesh data Null Mesh Null Mesh
BodyMesh Mesh data Mesh data Mesh data Mesh data Mesh data Null Mesh Null Mesh
HatMesh.base Mesh data Mesh data Mesh data Mesh data Mesh data Null Mesh Null Mesh
CollisionMesh1 Null Mesh Null Mesh Null Mesh Null Mesh Null Mesh Mesh data Null Mesh
LOSMesh1 Null Mesh Null Mesh Null Mesh Null Mesh Null Mesh Null Mesh Mesh data

 

Detail Levels

Detail levels group meshes by visibility.  Each detail level has a visibility number (size) assigned to it.  Visible detail levels must have a size that is 0 or higher, and invisible detail levels must have a size that is less than zero.  Detail level size numbers must be integers (whole numbers).  Each column in the table above represents a detail level, and the mesh data contained therein.  Collision and LOSCollision detail levels are special non-rendering detail levels that Torque uses for collision and raycast operations.  Certain animation types, such as visibility animations, are directly tied to individual DTS Objects and will play back on all of the meshes contained in a particular DTS Object.

DTS Materials

A DTS material usually consists of a base (diffuse) texture, along with series of flags and parameters that define effects and settings for the material.  There are other special helper materials that are not meant to be displayed on their own, but rather serve as placeholders for secondary textures to be used with another material.  The exporter generates these helper materials automatically when they are needed.

DTS Nodes

DTS Nodes serve multiple purposes within the dts file format including but not limited to animation of meshes.  DTS Nodes can be arranged in a hierarchy and can be animated through translation (change in location), rotation, or scale.  All meshes in a DTS File, with the exception of skinned meshes, must have a node as a parent.  The exporter automatically generates nodes for each Blender object in all exported scene layers (one node for each detected DTS object, based on the object naming convention).  Blender bones are also converted into DTS nodes upon export.

Nodes in a dts file do not have a base and a tail as Blender bones do;  DTS nodes are only a single point in space; because of this difference, the "bones" display for DTS nodes in showtool pro will look a little bit different than the Blender bones (it will appear that the "tips" of the bones have been chopped off).  Animations play the same way in either system; what you see should be what you get.

DTS Sequences

DTS Sequences represent a discreet unit of animation in Torque.  Sequences can contain one or more types of animation.  The animation types that can be stored within a sequence are:

  • Node animations - created in Blender using Blender actions; these come in two types "standard" and "blend".
  • Mesh (DTS object) visibility animations - created in Blender using IPO curves and the exporter user interface
  • Image File List (IFL) animations - created in Blender using the exporter user interface
  • Texture U/V animations - not yet supported by the Blender DTS exporter
  • Mesh Morph animations - not yet supported by the Blender DTS exporter