DotXSI File Format and Templates

Table of contents

The dotXSI File Format

The dotXSI file format is an ASCII file format defined by Autodesk Softimage to store SI|3D and Softimage scene data. You can use it to simplify the import and export of characters, models, and animation for complete customization of any game-development pipeline. The file format lets you include user data, making it straightforward to introduce new types of custom information.

The dotXSI file format is optimized for current game engine technology, and it can be easily:

• Imported into and exported from SI|3D (v4.0 and later) and Softimage.

• Used to exchange scene data between SI|3D and Softimage.

• Imported into third-party software.

• Converted into other file formats.

• Extended and customized to meet any special needs.

SDK Support for the dotXSI File Format

The following tools and toolkits are available for use with the dotXSI file format:

For dotXSI file format v5.0 and later:
The Crosswalk SDK is designed to read, write and manipulate dotXSI files (in both the text and binary compressed format). It maintains both a low level, generic representation and a high level, semantic representation of the dotXSI file's content. The XSI Viewer uses this representation to maintain 3D data in memory.

For dotXSI file format v3.0, v3.5, v3.6, and v3.6.3:
In addition to the Crosswalk SDK, the XSI Viewer is available as a visualization tool for dotXSI files (in both the text and binary compressed format). The XSI Viewer can load one or more files and display a subset of their content using either OpenGL or DirectX 9.0c. It's usually used as an interactive content validation tool, a pre-visualization tool or as a 3D prototyping tool.

Compatibility

Softimage can read and write versions v3.0 and later of the dotXSI file format.


'dotXSI 'version

'SI|3D' v4.0

XSI Viewer' 'v3.0

Softimage v5.0

Crosswalk SDK v5.0

XSI Viewer' 'v3.6.3

1.1

Read/Write

Read

No support

No support

No support

1.3

Read/Write

Read

No support

No support

No support

2.0

Read/Write

Read

No support

No support

No support

3.0

Read/Write

Read

Read/Write

Read/Write

Read/Write*

3.5

No support

No support

Read/Write

Read/Write

Read/Write*

3.6

No support

No support

Read/Write

Read/Write

Read/Write*

5.0

No support

No support

Read/Write

Read/Write

No Support

6.0

No support

No support

Read/Write

Read/Write

No Support


* Available only with the XSI Viewer Professional.

About the Binary Format

With versions 3.0 and later of the dotXSI file format, you can create a binary file. The binary format provides an easy way to compress the data in the dotXSI file.

How Do I Extract Information from the dotXSI File?

You can access the contents of a dotXSI file either by using the IO Layer or the Semantic Layer of the Crosswalk SDK. See [ftk_XwalkSDK.htm#Rac79686 Crosswalk SDK] for specific information on the tools available.


Are All Versions of the dotXSI File Format Supported?

No. Crosswalk SDK v5.0 supports reading and writing of dotXSI v3.0 and later.

What Programming Environments Are Supported?

Since the dotXSI file format encoding is text-based, anything that can read text can use the text-based dotXSI files. However, the binary compressed encoding is only readable by the Crosswalk SDK. The functionality of the Crosswalk SDK is currently available as a C++ API.


dotXSI Templates

This section answers questions you might have about how to use the dotXSI format.


What Is a Template?

The dotXSI file is organized into several different sections, according to functionality. For example, in version 3.6 there is a section called [ftk_SI_Ambience.htm#Rad31588 SI_Ambience] that describes the ambient color in the Softimage scene. It consists of three values (mapping to Red, Green, and Blue). Here is an example of the SI_Ambience section in a typical dotXSI file:

SI_Ambience {
0.200000,
0.200000,
0.200000,
}

Each section in the dotXSI file follows a pattern, or template, so that you can know what to expect when you are trying to interact with the information in any dotXSI file. The specification for these templates are detailed in [ftk_TemplateRef.htm#Rad53145 Template Reference]. For example, you can find the following information in the SI_Ambience template:

SI_Ambience
{
<red>,
<green>,
<blue>,
}


Template Sections

At a skeletal level, dotXSI files contain these sections. Inside many of these sections, there are other templates.


Template

Description

[ftk_FileHeader.htm#Rad62742 File Header]

This template must come first in the file. It contains information about the dotXSI file format version number and the format of the dotXSI file itself.

[ftk_SI_FileInfo.htm#Rad34219 SI_FileInfo]

Stores general information (file name, time stamp, and the identification of the application that created it).

[ftk_SI_Scene.htm#Rad78866 SI_Scene]

Stores global scene information (such as the start and end frames, and the frame rate).

[ftk_TemplateRef_SI_CoordinateSystem.htm#Rad39098 SI_CoordinateSystem]

Specifies the coordinate system in which transformations are expressed.

[ftk_SI_Angle.htm#Rad21105 SI_Angle]

Indicates how angle values are expressed in the file (degrees or radians).

[ftk_SI_Ambience.htm#Rad31588 SI_Ambience]

Stores the ambient scene color.

[ftk_SI_MaterialLibrary.htm#Rad77603 SI_MaterialLibrary]

Stores global materials.

Note: This section contains either XSI_Material or SI_Material.

[ftk_SI_Model.htm#Rad19418 SI_Model]

Stores models and model hierarchies.

Note: This section appears for each scene object, such as a model, a camera root, a mesh sphere, etc.

[ftk_SI_Light.htm#Rad21293 SI_Light]

Stores light data.

[ftk_XSI_ImageLibrary.htm#Rad68547 XSI_ImageLibrary]

Stores a list of all the images used in the scene.

Note: This template is only available in version 3.6.

[ftk_XSI_FXTree.htm#Rad50243 XSI_FXTree]

Sores data from the FX tree (Softimage’s integrated compositor).

Note: This template is only available in version 3.6.


Template Reference

The table below provides a list of the templates supported in the current dotXSI file format version. If you need information about a template but it does not appear in this list, it is probably obsolete. You can look it up in the legacy information provided in the [ftk_archives.htm#Rae20841 Template Archives].


Template

Introduced

Description

[ftk_FileHeader.htm#Rad62742 File Header]

1.3

This template must come first in the file.

[ftk_XwalkXSI_UserData.htm#Rab57501 Custom Effects in SI|3D]

1.3

Stores the arguments, results, and parameters of a persistent effeczt.

[ftk_SI_Ambience.htm#Rad31588 SI_Ambience]

1.3

Stores the ambient scene color.

[ftk_SI_Angle.htm#Rad21105 SI_Angle]

1.3

Indicates how angle values are expressed in the file (degrees or radians).

[ftk_SI_Camera.htm#Rad10633 SI_Camera]

1.3

Stores camera data.

[ftk_SI_Constraint.htm#Rad74337 SI_Constraint]

1.3

Stores constraint information.

[ftk_TemplateRef_SI_CoordinateSystem.htm#Rad39098 SI_CoordinateSystem]

1.3

Specifies the coordinate system in which transformations are expressed.

[ftk_SI_ElementUserData _userDataTag.htm#Rad71672 SI_ElementUserData _<userDataTag>]

1.3

Stores user data attached to a camera, light, material, model, or texture.

[ftk_SI_Envelope.htm#Rad16040 SI_Envelope]

1.3

Defines an envelope (also known as a skin).

[ftk_SI_EnvelopeList.htm#Rad33278 SI_EnvelopeList]

1.3

Defines a list of envelopes.

[ftk_SI_Fog.htm#Rad20643 SI_Fog]

1.3

Describes the fog (depth fading) in the scene.

[ftk_XSI_CurveList.htm#Rad15168 SI_ImageClip]

1.3

Identifies an animated texture sequence.

[ftk_SI_Light.htm#Rad21293 SI_Light]

1.3

Stores light data.

[ftk_SI_PatchSurface.htm#Rad26325 SI_PatchSurface]

1.3

Defines a patch (a surface defined by splines).

[ftk_SI_SubelementUserDataPolygon_userDataTag.htm#Rad63743 SI_SubelementUserDataPolygon_<userDataTag>]

1.3

Stores polygon user data.

[ftk_SI_SubelementUserDataVertex_userDataTag.htm#Rad31686 SI_SubelementUserDataVertex_<userDataTag>]

1.3

Stores vertex user data.

[ftk_SI_Texture2D.htm#Rad16736 SI_Texture2D]

1.3

Stores 2D texture information.

[ftk_TemplateRef_SI_FCurve.htm#Rad34472 SI_FCurve]

2.0

Stores an fcurve.

[ftk_SI_FileInfo.htm#Rad34219 SI_FileInfo]

2.0

Stores general information (file name, time stamp).

[ftk_SI_Material.htm#Rad39935 SI_Material]

2.0

Defines a material. Adds support for specifying the shading model (Constant, Lambert, Phong, Blinn, Shadow Object, or Vertex Color) and storing the ambient color.

[ftk_SI_MaterialLibrary.htm#Rad77603 SI_MaterialLibrary]

2.0

Stores global materials.

[ftk_SI_Mesh.htm#Rad42651 SI_Mesh]

2.0

Stores a mesh.

[ftk_SI_Model.htm#Rad19418 SI_Model]

2.0

Stores models and model hierarchies.

[ftk_SI_NurbsSurface.htm#Rad21639 SI_NurbsSurface]

2.0

Defines a NURBS surface.

[ftk_SI_Cluster.htm#Rad29521 SI_Cluster]

3.0

Stores cluster information.

[ftk_SI_GlobalMaterial.htm#Rad19720 SI_GlobalMaterial]

3.0

Stores an object’s global material.

[ftk_SI_IK_Effector.htm#Rad25032 SI_IK_Effector]

3.0

Stores the rotation flag for the effector of an IK chain.

[ftk_SI_IK_Joint.htm#Rad34751 SI_IK_Joint]

3.0

Stores IK joint information.

[ftk_SI_IK_Root.htm#Rad27854 SI_IK_Root]

3.0

Stores the names of the joints and effector of an IK chain.

[ftk_SI_Instance.htm#Rad24686 SI_Instance]

3.0

Stores SI|3D model instance information.

[ftk_SI_LightInfo.htm#Rad53634 SI_LightInfo]

3.6

Stores additional light information, such as falloff.

[ftk_SI_Null.htm#Rad27309 SI_Null]

3.0

Defines a null object.

[ftk_SI_NurbsCurve.htm#Rad13631 SI_NurbsCurve]

3.0

Defines a NURBS curve.

[ftk_SI_PolygonList.htm#Rad85857 SI_PolygonList]

2.0

Stores a list of polygons in a mesh.

[ftk_SI_Scene.htm#Rad78866 SI_Scene]

2.0

Stores global scene information (such as the start and end frames, and the frame rate).

[ftk_SI_Shape.htm#Rad60085 SI_Shape]

2.0

Stores the mesh geometry.

[ftk_SI_ShapeAnimation.htm#Rad13035 SI_ShapeAnimation]

2.0

Stores the animation of vertex positions, normals, colors, and UV coordinates.

[ftk_SI_Transform.htm#Rad13409 SI_Transform]

2.0

Stores SRT transforms as vectors.

[ftk_SI_TriangleList.htm#Rad50304 SI_TriangleList]

2.0

Stores a list of triangles.

[ftk_SI_TriStripList.htm#Rad50788 SI_TriStripList]

[ftk_SI_TriStrip.htm#Rad58693 SI_TriStrip]

2.0

Stores triangle strips.

[ftk_SI_UserDataFormat.htm#Rad86890 SI_UserDataFormat]

2.0

Stores formatting information for user data.

[ftk_SI_Visibility.htm#Rad26811 SI_Visibility]

3.0

Stores node and

visibility fcurves. (Softimage only supports node visibility)

[ftk_XSI_Action.htm#Rad22140 XSI_Action]

3.0

Stores source action data.

[ftk_XSI_ActionClip.htm#Rad29895 XSI_ActionClip]

3.0

Stores action clip data.

[ftk_XSI_CurveList.htm#Rad15168 XSI_CurveList]

3.0

Stores a list of NURBS curves.

[ftk_XSI_CustomPSet.htm#Rad21313 XSI_CustomPSet]

3.0

Stores Softimage custom parameters.

[ftk_XSI_Extrapolation.htm#Rad14290 XSI_Extrapolation]

3.0

Stores an action clip’s extrapolation type.

[ftk_XSI_Material.htm#Rad40004 XSI_Material]

3.0

Stores an action’s static values.

[ftk_XSI_Mixer.htm#Rad31908 XSI_Mixer]

3.0

Stores action data.

[ftk_XSI_StaticValues.htm#Rad25453 XSI_StaticValues]

3.0

Stores an action’s static values

[ftk_XSI_TimeControl.htm#Rad17035 XSI_TimeControl]

3.0

Stores an action clips’s clipping and offset values.

[ftk_XSI_Track.htm#Rad33927 XSI_Track]

3.0

Stores an action track’s status.

[ftk_XSI_Material.htm#Rad40004 XSI_Material]

3.5

Defines a Autodesk Softimage material.

[ftk_XSI_Shader.htm#Rad38498 XSI_Shader]

3.5

Defines a Softimage shader.

[ftk_XSI_ShaderInstanceData.htm#Rad34711 XSI_ShaderInstanceData]

3.5

Stores the instance data for a shader on a shared material.

[ftk_XSI_ClusterInfo.htm#Rad93099 XSI_ClusterInfo]

3.6

Stores the type of cluster.

[ftk_XSI_CustomParamInfo.htm#Rad11634 XSI_CustomParamInfo]

3.6

Stores additional information about the custom parameter, such as minimum and maximum values.

[ftk_XSI_FXOperator.htm#Rad94676 XSI_FXOperator]

3.6

Stores data about the operators in the FX tree.

[ftk_XSI_FXTree.htm#Rad50243 XSI_FXTree]

3.6

Stores data from the FX tree (Softimage’s integrated compositor).

[ftk_XSI_Image.htm#Rad40029 XSI_Image]

3.6

Stores data about the list of images in the XSI_ImageLibrary template.

[ftk_XSI_ImageData.htm#Rad81333 XSI_ImageData]

3.6

Stores image data, such as RGB values. This template is not exported by Softimage, but is accessible through the Crosswalk SDK.

[ftk_XSI_ImageFX.htm#Rad49876 XSI_ImageFX]

3.6

Stores the list of special effect parameters applied to the image in Softimage Illusion.

[ftk_XSI_ImageLibrary.htm#Rad68547 XSI_ImageLibrary]

3.6

Stores a list of all the images used in the scene.

[ftk_XSI_MaterialInfo.htm#Rad59236 XSI_MaterialInfo]

3.6

Stores additional material information, specifically U and V wrapping information.

[ftk_XSI_NurbsProjection.htm#Rad43280 XSI_NurbsProjection]

3.6

Stores the list of curves that make up a projection.

[ftk_XSI_NurbsTrim.htm#Rad20229 XSI_NurbsTrim]

3.6

Stores the list of curves that make up the trim.

[ftk_XSI_UserData.htm#Rad32544 XSI_UserData]

3.6

Stores user data attached to scene entities.

[ftk_XSI_UserDataList.htm#Rad80772 XSI_UserDataList]

3.6

Identifies the entities to which user data is attached.

[ftk_XSI_BasePose.htm#Rad33166 XSI_BasePose]

5.0

Stores the base pose scaling, translation, and rotation.

[ftk_XSI_Limit.htm#Rad50683 XSI_Limit]

5.0

Stores the minimum and maximum limits of a parameter value.

[ftk_XSI_Mesh.htm#Rad27312 XSI_Mesh]

5.0

Stores the definition of a polygon mesh.

[ftk_XSI_PolygonList.htm#Rad76491 XSI_PolygonList]

5.0

Stores the polygons in a mesh.

[ftk_XSI_Shape.htm#Rad14914 XSI_Shape]

5.0

Stores the mesh vertex positions, normals, texture coordinates and color information. Also used to store shape animation.

[ftk_XSI_ShapeAnimation.htm#Rad13819 XSI_ShapeAnimation]

5.0

Stores shape animation as a series of shape keys and an (optional) fcurve.

[ftk_XSI_SubComponentAttributeList.htm#Rad65312 XSI_SubComponentAttributeList]

5.0

Stores cluster properties such as vertex positions, colors, normals, texture coordinates, and weight maps. Also used to store shape keys.

[ftk_XSI_Transform.htm#Rad16017 XSI_Transform]

5.0

Stores the local transformation information for an object.

[ftk_XSI_TriangleList.htm#Rad39694 XSI_TriangleList]

5.0

Specifies the vertex indices of triangles for normals (“ImplicitNormal”), user normal properties (“User_Normal_Property” and “XSI_UserNormals”), vertex colors, and texture projections.

[ftk_XSI_TriangleStripList.htm#Rad34073 XSI_TriangleStripList]

5.0

Stores a list of triangle strips. Each strip is made up of N vertices. The polynodes in this list can have N number of attibutes like vertex, normals, UV and color information.

[ftk_XSI_UserDataBlob.htm#Rad28220 XSI_UserDataBlob]

5.0

Contains the binary user data stored in a UserDataBlob property.

[ftk_XSI_VertexList.htm#Rad86295 XSI_VertexList]

5.0

Lists the vertices in the original shape and in any weightmaps.

[ftk_XSI_Camera.htm#RadXSI_Camera XSI_Camera]

6.0

Describes a camera.

[ftk_XSI_IK_ResolutionPlane.htm#RadXSI_IK_ResolutionPlane XSI_IK_ResolutionPlane]

6.0

Describes the resolution plane on an IK chain.

[ftk_XSI_Lookat.htm#RadXSI_Lookat XSI_Lookat]

6.0

Holds lookat data in the [ftk_XSI_Polymatricks.htm#RadXSI_Polymatricks XSI_Polymatricks] container.

[ftk_XSI_Matrix.htm#RadXSI_Matrix XSI_Matrix]

6.0

Holds matrix data in the [ftk_XSI_Polymatricks.htm#RadXSI_Polymatricks XSI_Polymatricks] container.

[ftk_XSI_Polymatricks.htm#RadXSI_Polymatricks XSI_Polymatricks]

6.0

Container for holding an arbitrary stack of transformations.

[ftk_XSI_Rotate.htm#RadXSI_Rotate XSI_Rotate]

6.0

Holds rotation data in the [ftk_XSI_Polymatricks.htm#RadXSI_Polymatricks XSI_Polymatricks] container.

[ftk_XSI_Scale.htm#RadXSI_Scale XSI_Scale]

6.0

Holds scaling data in the [ftk_XSI_Polymatricks.htm#RadXSI_Polymatricks XSI_Polymatricks] container.

[ftk_XSI_Shear.htm#RadXSI_Shear XSI_Shear]

6.0

Holds shearing data in the [ftk_XSI_Polymatricks.htm#RadXSI_Polymatricks XSI_Polymatricks] container.

[ftk_XSI_Translate.htm#RadXSI_Translate XSI_Translate]

6.0

Holds translation data in the [ftk_XSI_Polymatricks.htm#RadXSI_Polymatricks XSI_Polymatricks] container.

[ftk_XSI_IndexList.htm#Rad25344 XSI_IndexList]

6.0

Contains polygon ordering information for importing clusters.

[ftk_XSI_ActionClipContainer.htm#RadXSI_ActionClipContainer XSI_ActionClipContainer]

6.0

Stores action clip data and tracks.

[ftk_XSI_ShapeReference.htm#RadXSI_ShapeReference XSI_ShapeReference]

6.0

Contains a reference to the shape key.

[ftk_XSI_CameraFocalLength.htm#RadXSI_CameraFocalLength XSI_CameraFocalLength]

6.0

Overrides the field of view value in the [ftk_XSI_Camera.htm#RadXSI_Camera XSI_Camera] template.

[ftk_XSI_ImageFX2.htm#Radftk_XSI_ImageFX2 XSI_ImageFX2]

6.0

Holds the extra image clip properties in addition to the properties available in the [ftk_XSI_ImageFX.htm#Rad49876 XSI_ImageFX] template.

[ftk_XSI_ShaderMultiPortConnection.htm#Radftk_XSI_ShaderMultiPortConnection XSI_ShaderMultiPortConnection]

6.0

Specifies which one of multiple output ports are connected to the input inside the containing [ftk_XSI_Shader.htm#Rad38498 XSI_Shader] or [ftk_XSI_Material.htm#Rad40004 XSI_Material] template.

[ftk_XSI_TextureLayer.htm#Radftk_XSI_TextureLayer XSI_TextureLayer]

6.0

Represents a texture layer.

[ftk_XSI_TextureLayerPort.htm#Radftk_XSI_TextureLayerPort XSI_TextureLayerPort]

6.0

Represents a shader port in the texture layer.

[ftk_XSI_UserKeyword.htm#Radftk_XSI_UserKeyword XSI_UserKeyword]

6.0

Stores the list of user keywords for material and image clips.

[ftk_XSI_ClipToParent.htm#RadXSI_ClipToParent XSI_ClipToParent]

6.0

Stores the options that allow you to link a clip to its parent’s time information.

[ftk_XSI_ShaderCompound.htm#RadXSI_ShaderCompound XSI_ShaderCompound]

6.0

Corresponds to an unexported shader compound.

[ftk_XSI_ShaderCompoundPort.htm#RadXSI_ShaderCompoundPort XSI_ShaderCompoundPort]

6.0

Encapsulates the information from a shader compound port defined inside of a shader compound (see [ftk_XSI_ShaderCompound.htm#RadXSI_ShaderCompound XSI_ShaderCompound]).

This page was last modified 18:27, 13 Dec 2010.
This page has been accessed 6068 times.

© Copyright 2009 Autodesk Inc. All Rights Reserved. Privacy Policy | Legal Notices and Trademarks | Report Piracy