Template Reference


This chapter provides details about the data stored in each of the dotXSI file templates. At a skeletal level, dotXSI files contain these sections:

Template
Description
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.
Stores general information (file name, time stamp, and the identification of the application that created it).
Stores global scene information (such as the start and end frames, and the frame rate).
Specifies the coordinate system in which transformations are expressed.
Indicates how angle values are expressed in the file (degrees or radians).
Stores the ambient scene color.
Stores global materials.
Note: This section contains either XSI_Material or SI_Material.
Stores models and model hierarchies.
Note: This section appears for each scene object, such as a model, a camera root, a mesh sphere, etc.
Stores light data.
Stores a list of all the images used in the scene.
Note: This template is only available in version 3.6.
Sores data from the FX tree (XSI’s integrated compositor).
Note: This template is only available in version 3.6.

Inside many of these sections, there are other templates. For more information about a section, click on the link in the table above.

The table below provides a list of the templates supported in the current dotXSI file format version.

Note  

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 Template Archives.

Template
Introduced
Description
1.3
This template must come first in the file.
1.3
Stores the arguments, results, and parameters of a persistent effect.
1.3
Stores the ambient scene color.
1.3
Indicates how angle values are expressed in the file (degrees or radians).
1.3
Stores camera data.
1.3
Stores constraint information.
1.3
Specifies the coordinate system in which transformations are expressed.
1.3
Stores user data attached to a camera, light, material, model, or texture.
1.3
Defines an envelope (also known as a skin).
1.3
Defines a list of envelopes.
1.3
Describes the fog (depth fading) in the scene.
1.3
Identifies an animated texture sequence.
1.3
Stores light data.
1.3
Defines a patch (a surface defined by splines).
1.3
Stores polygon user data.
1.3
Stores vertex user data.
1.3
Stores 2D texture information.
2.0
Stores an fcurve.
2.0
Stores general information (file name, time stamp).
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.
2.0
Stores global materials.
2.0
Stores a mesh.
2.0
Stores models and model hierarchies.
2.0
Defines a NURBS surface.
3.0
Stores cluster information.
3.0
Stores an object’s global material.
3.0
Stores the rotation flag for the effector of an IK chain.
3.0
Stores IK joint information.
3.0
Stores the names of the joints and effector of an IK chain.
3.0
Stores SOFTIMAGE|3D model instance information.
3.6
Stores additional light information, such as falloff.
3.0
Defines a null object.
3.0
Defines a NURBS curve.
2.0
Stores a list of polygons in a mesh.
2.0
Stores global scene information (such as the start and end frames, and the frame rate).
2.0
Stores the mesh geometry.
2.0
Stores the animation of vertex positions, normals, colors, and UV coordinates.
2.0
Stores SRT transforms as vectors.
2.0
Stores a list of triangles.
2.0
Stores triangle strips.
2.0
Stores formatting information for user data.
3.0
Stores node and
visibility fcurves. (SOFTIMAGE|XSI only supports node visibility)
3.0
Stores source action data.
3.0
Stores action clip data.
3.0
Stores a list of NURBS curves.
3.0
Stores SOFTIMAGE|XSI custom parameters.
3.0
Stores an action clip’s extrapolation type.
3.0
Stores an action’s static values.
3.0
Stores action data.
3.0
Stores an action’s static values
3.0
Stores an action clips’s clipping and offset values.
3.0
Stores an action track’s status.
3.5
Defines a SOFTIMAGE|XSI material.
3.5
Defines a SOFTIMAGE|XSI shader.
3.6
Stores the type of cluster.
3.6
Stores additional information about the custom parameter, such as minimum and maximum values.
3.6
Stores data about the operators in the FX tree.
3.6
Stores data from the FX tree (XSI’s integrated compositor).
3.6
Stores data about the list of images in the XSI_ImageLibrary template.
3.6
Stores image data, such as RGB values. This template is not exported by XSI, but is accessible through the FTK.
3.6
Stores the list of special effect parameters applied to the image in XSI FX.
3.6
Stores a list of all the images used in the scene.
3.6
Stores additional material information, specifically U and V wrapping information.
3.6
Stores the list of curves that make up a projection.
3.6
Stores the list of curves that make up the trim.
3.6
Stores user data attached to scene entities.
3.6
Identifies the entities to which user data is attached.

File Header

All dotXSI files must begin with a header. The file header indicates the file format and its revision number.

Field
Size
(bytes)
Contents
Description
Magic number
4
"xsi"
File type
Version/major number
2
01
Major version 1
Version/minor number
2
03
Minor version 3
Format type
4
"txt"
Text file
 
 
"bin"
Binary file
Compression type
4
"zip"
Compressed file created by PKZIP
Float size
4
0064
64-bit floats
 
4
0032
32-bit floats

Example

For example, the dotXSI files generated with XSI Export v1.3 plug-in begin with:

xsi 0103txt 0032 

Reading left to right, this indicates:

XSI v3.6 files generated begin with:

xsi 0360txt 0032 

SI_Ambience

Describes the ambient color in the scene.

XSI Version

v1.3/v2.0/v3.0/v3.5/3.6

Template

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

Members

Member name
Type
Description
red, green, blue
float
The ambient color in the scene.

Example

SI_Ambience
{
	0.300000, 
	0.300000, 
	0.300000, 
} 

SI_Angle

Indicates how angle values are expressed in the file. If not specified, the values in the file should be considered as being expressed in degrees.

Limitations

This template is ignored when imported into SOFTIMAGE|XSI, although a warning appears if the angle is not expressed in degrees.

XSI Version

v1.3/v2.0/v3.0/v3.5/3.6

Template

SI_Angle
{
	<type>;
} 

Members

Member name
Type
Description
type
int
Specifies angle representation:
0 = degrees
1 = radians

Example

SI_Angle { 
	0,
} 

SI_Camera

Describes the camera data.

XSI Version

v1.3/v2.0/v3.0/v3.5/3.6

Template

SI_Camera <cameraName> {
	<posx>; <posy>; <posz>;;
	<intx>; <inty>; <intz>;;
	<roll>;
	<fieldOfView>;
	<nearPlane>;
	<farPlane>;
} 

Members

Member name
Type
posx, posy, posz
float
intx, inty, intz
float
roll
float
fieldOfView
float
nearPlane
float
farPlane
float

Example

SI_Camera Camera { 
		36.188316, 
		37.314129, 
		52.439663, 
		2.594838, 
		-2.000000, 
		-21.342739, 
		0.000000, 
		41.529896, 
		0.100000, 
		32768.000000, 
	} 

SI_Cluster

Stores groups of vertices on a model. This is a sublevel template of the SI_Model template. See also XSI_ClusterInfo.

XSI Version

v3.0/v3.5/3.6

Template

SI_Cluster <cluster name>
{
<referenced model>,
<weighting (AVERAGE|ADDITIVE)>,
<cluster center reference (put an empty string if 
there is no cluster center)>,
<number of vertices>,
<index of vertex 1>,
...
<index of vertex n>
} 

Example

SI_Cluster blueball
{
   "blueball",
   "AVERAGE",
   "",
   11,
   1,
   21,
   22,
   28,
   29,
   35,
   36,
   42,
   43,
   49,
   50,
} 

SI_Constraint

Stores constraints.

XSI Version

v1.3/v2.0/v3.0/v3.5/3.6

Template

SI_Constraint <objectName>-<constraintType>
{
	"<objectName>",
	"<constraintType>",
	<nbConstrainingObjects>,
	"<constrainingObjectName>",

	...		// more constraining objects 
}  
 

<constraintType>
Applies to
POSITION
Lights, cameras, models
SCALING
Models
DIRECTION
Models
ORIENTATION
Models
UP_VECTOR
Cameras, models
PREFERED_AXIS
Models
INTEREST
Lights, cameras

Example: Up-vector constraint

This dotXSI fragment shows a cube that is position-constrained to a cone and direction-constrained to a grid. The cube also has Up Vector constraints to a sphere and a null object. The Up Vector constraints are nested within the constraint that they affect.

	SI_Constraint cube1-POSITION
	{
		"cube1",
		"POSITION",
		1,
		"cone1",
		SI_Constraint cube1-UP_VECTOR
	{
			"cube1",
			"UP_VECTOR",
			1,
			"sphere1",
		}
	}
	SI_Constraint cube1-DIRECTION
	{
		"cube1",
		"DIRECTION",
		1,
		"grid1",
		SI_Constraint cube1-UP_VECTOR
		{ 
			"cube1",
			"UP_VECTOR",
			1,
			"null1",
		}
	} 
 // When upvct_active is without reference (not 
assigned to a specific object but set to affect a 
specific axes) then it is exported as follows: 
	SI_Constraint cube1-DIRECTION
	{
		"cube1",
		"DIRECTION",
		1,
		"grid1",
		SI_Constraint cube1-UP_VECTOR
		{
			"cube1",
			"UP_VECTOR",
			0,
		}
	} 

SI_CoordinateSystem

Specifies the coordinate system in which transformations are expressed. This template allows game developers to express data in any coordinate system.

Limitations

If an XSI file contains this template, SOFTIMAGE|XSI ignores it.

XSI Version

v1.3/v2.0/v3.0/v3.5/3.6

Members

Member name
Type
Description
handRotation
int
Specifies the coordinate system:
0 = left-handed (D3D, PlayStation)
1 = right-handed (SOFTIMAGE|3D, Nintendo)
uAxis
int
Orientation of the U axis for texture coordinates:
0 = right (all)
1 = left
vAxis
int
Orientation of the V axis for texture coordinates:
0 = down (D3D, Nintendo, PlayStation)
1 = up (SOFTIMAGE|3D)
xAxis
int
Orientation of the X axis:
0 = right (all)
1 = left
2 = up
3 = down
4 = in
5 = out
yAxis
int
Orientation of the Y axis:
0 = right
1 = left
2 = up (SOFTIMAGE|3D, D3D, Nintendo)
3 = down (PlayStation)
4 = in
5 = out
zAxis
int
Orientation of the Z axis:
0 = right
1 = left
2 = up
3 = down
4 = in (D3D, PlayStation)
5 = out (SOFTIMAGE|3D, Nintendo)

Note  

Only SOFTIMAGE|3D-style coordinates are supported by the XSI Export and XSI Import plug-in.

Example

SI_CoordinateSystem 
{
	1;	// right-handed rotation 
	0;	// U axis goes right 
	1;	// V axis goes up 
	0;	// X axis goes right 
	2;	// Y axis goes up 
	5;	// Z axis goes out 
} 

SI_ElementUserData _<userDataTag>

Stores user data attached to models, cameras, materials, and textures.

Limitations

SOFTIMAGE|XSI does not export this template. If a dotXSI file contains this template, SOFTIMAGE|XSI ignores it. SOFTIMAGE|XSI exports user data to the XSI_UserData template.

XSI Version

v1.3/v2.0/v3.0

Template

SI_ElementUserData_<userDataTag> {

	<format>,		// 0=decimal dump, 1=formatted dump
	<endian>,		// 0=big, 1=little 

	// decimal dump 
	<length>,		// User data length 
	<byte1>, <byte2>, <byte3>, <byte4>,
	<byte5>, <byte6>, <byte7>, <byte8>,
	...
	...,<byteN>,

	// formatted dump 
	<float>,
	<int>,
	<boolean>,
	<short>,
	<byte>,
	<string>,
	<arraySize>,
	<element1>,
	...
	<elementN>,
} 

See Special Issues with Conversion between XSI and 3D for more information on importing and exporting formatted user data.

SI_Envelope

Defines an envelope (also known as a skin). If the enveloped object is the parent of the skeleton bones, then it is global, if it is a child of one of the skeleton bones, then it is local.

XSI Version

v1.3/v2.0/v3.0/v3.5/3.6

Members

Member name
Type
Array size
Description
envelope
{template name}
 
Name of the model to be used as an envelope.
deformer
{template name}
 
Name of the object to be used as a deformer.
nVertices
int
 
Number of weighted vertices in the envelope.
vertexWeights
array
nVertices
Array of weight values associated to the vertices of the envelope.

VertexWeights

Member name
Type
Description
vertexIndex
int
Index of the vertex.
weight
float
Weight value in the range [0.0, 100.0].

Comments

Example

See the example for SI_EnvelopeList.

SI_EnvelopeList

Defines a list of envelopes.

XSI Version

v1.3/v2.0/v3.0/v3.5/3.6

Members

Member name
Type
Array size
Description
nEnvelopes
int
 
Number of envelopes in the list.

Nested Templates

Envelope definitions.

Example

SI_EnvelopeList myEnvelopeList
{
	4;
	SI_Envelope
	{
		"frm-mySphere";	// envelope model 
		"frm-myChainRoot";	// deformer bone model 
		0;	// number of weighted vertices 
	}

	SI_Envelope
	{
		"frm-mySphere";	// envelope model 
		"frm-myBone1";					// deformer bone model 
		6;					// number of weighted vertices 
		0; 30.0;;					// vertex 0 
		1; 30.0;;					// vertex 1 
		2; 30.0;;					// vertex 2 
		3; 70.0;;					// vertex 3 
		4; 70.0;;					// vertex 4 
		5; 70.0;;					// vertex 5 
	}

	SI_Envelope
	{
		"frm-mySphere";	// envelope model 
		"frm-myBone2";					// deformer bone model 
		6;					// number of weighted vertices 
		0; 70.0;;					// vertex 0 
		1; 70.0;;					// vertex 1 
		2; 70.0;;					// vertex 2 
		3; 30.0;;					// vertex 3 
		4; 30.0;;					// vertex 4 
		5; 30.0;;					// vertex 5 
	}

	SI_Envelope
	{
		"frm-mySphere";						// envelope model 
		"frm-myEffector";						// deformer bone model 
		0;						// number of weighted vertices 
	}
} 

SI_FileInfo

Stores general information about the file.

Limitations

If a dotXSI file contains this template, SOFTIMAGE|XSI and SOFTIMAGE|3D ignore it.

XSI Version

v2.0/v3.0/v3.5/3.6

Template

SI_FileInfo 
{
	"<projectName>",
	"<userName>",
	"<savedDateTime>
	"<originator>,			//tool that created the file
} 

SI_FCurve

Defines function curves.

XSI Version

v2.0/v3.0/v3.5/3.6

Template

SI_FCurve <objectName>-<Fcurve>-<Components>
{
  "<objectName>",
  "<Fcurve>",
  "<Interpolation>",
  <nbFcurves>,<nbKeyValues>,
  <nbKeys>,
  <frame>,<keyValues>,
  …
  <frame>,<keyValues>,
} 

The <Components> part of the template name indicates which component fcurves are included in the template. For example, TRANSLATION-XZ indicates that the X and Z translation fcurves are specified in the template.

Members

Member
Type
Description
objectName
char *
Name of the object to which the function curves apply.
Fcurve
char *
Name of the function curves.
For cameras (v2.0/v3.0):

INTEREST | FAR | FOV | NEAR | POSITION | ROLL

For lights (v2.0):

CONE | INTEREST | POSITION | SPREAD

For lights (v3.0):

COLOR | CONE | INTEREST | POSITION | SPREAD | ORIENTATION (XSI Infinite lights only)

For models (v2.0):

SCALING | ROTATION | TRANSLATION

For models (v3.0):

SCALING | ROTATION | TRANSLATION | NODEVIS

For Fog (v3.0 only - not supported by SOFTIMAGE|XSI):

COLOR | END | START

For materials (v3.0 only):

AMBIENT | DIFFUSE | EMMISSIVE | POWER | SPECULAR

Interpolation
char *
Possible values are:

CONSTANT | HERMITE | LINEAR | CUBIC

nbFcurves
int
Number of vector component fcurves. For example, if there is only the X translation fcurve, then the dimension is 1. If there are fcurves for X, Y, and Z, then the dimension is 3.
nbKeyValues
int
Number of values stored for a vector component at a given key.
CONSTANT and LINEAR fcurves have one key value for each vector component.
HERMITE fcurves have three values for each vector component. At each key, a value, in-tangent, and out-tangent is required for each vector component.
The values are arranged in order of major first. For example: ( Xvalue, Xin-tan, Xout-tan, Yvalue, Yvalue, Yin-tan, Yout-tan, ... )
CUBIC fcurves are arranged as follows:
  • frame (in seconds)
  • value
  • left tan X value
  • left tan Y value
  • right tan X value
  • right tan Y value
nbKeys
int
Number of keys.
keyValues
 
For each key, a comma-separated list beginning with the frame number (an integer) or the time in seconds (a floating point value). The SI_Scene template specifies whether time is expressed in frames or time. If frames, you can cast the values from floats to integers.
The key values are floating point values.
The number of key values is given by (Dimension * NbKeyValues).

Example

 SI_FCurve Camera1-ROLL
  {
   "Camera1",
   "ROLL",
   "LINEAR",
   1,1,
   76,
   1,0.0,
   2,0.000155,
   3,0.000616,
   4,0.001377,
   5,0.002431,
   6,0.003772,
   7,0.005393,
   8,0.007289,
   9,0.009452,
   10,0.011876,
   11,0.014556,
   12,0.017484,
   13,0.020655,
   14,0.024061,
   15,0.027697,
   16,0.031556,
   17,0.035631,
   18,0.039917,
   19,0.044408,
   20,0.049095,
   21,0.053974,
   22,0.059038,
   23,0.06428,
   24,0.069695,
   25,0.075275,
   26,0.081014,
   27,0.086907,
   28,0.092946,
   29,0.099125,
   30,0.105439,
   32,0.118441,
   34,0.131903,
   36,0.145773,
   38,0.159999,
   40,0.174532,
   42,0.18932,
   44,0.204311,
   47,0.22707,
   56,0.295689,
   58,0.310681,
   60,0.325468,
   62,0.340001,
   64,0.354227,
   66,0.368097,
   68,0.381559,
   70,0.394561,
   71,0.400875,
   72,0.407054,
   73,0.413093,
   74,0.418986,
   75,0.424725,
   76,0.430305,
   77,0.43572,
   78,0.440962,
   79,0.446026,
   80,0.450905,
   81,0.455593,
   82,0.460083,
   83,0.464369,
   84,0.468444,
   85,0.472303,
   86,0.475939,
   87,0.479345,
   88,0.482516,
   89,0.485444,
   90,0.488124,
   91,0.490548,
   92,0.492711,
   93,0.494607,
   94,0.496228,
   95,0.497569,
   96,0.498623,
   97,0.499384,
   98,0.499845,
   99,0.5,
   100,0.5,
  } 

SI_Fog

Describes the fog (depth fading) in the scene.

Limitations

SOFTIMAGE|XSI does not export this template. If a dotXSI file contains this template, SOFTIMAGE|XSI ignores it.

XSI Version

v1.3/v2.0/v3.0/v3.5/3.6

Members

Member name
Type
Description
Type
int
0 = vertex
1 = pixel
Interpolation
int
0 = linear (depth cue)
1 = exponential
Color
ColorRGB
Color of fog.
Near
float
Distance at which fog starts (everything before this is unmodified).
Far
float
Distance at which fog stops (everything beyond this has the fog’s color).

Example

SI_Fog myFog
{
	0;					// vertex fog 
	0;					// linear interpolation 
	0.0; 0.0; 1.0;;		// blue fog 
	10.0;					// fog starts at 10 units along 
camera->interest vector 
	100.0;					// fog stops at 100 units along 
camera->interest vector 
} 

Comment

The fog type indicates whether the fog is:

SOFTIMAGE|3D supports vertex fog only.

SI_GlobalMaterial

Identifies the global material of SI_Model. In the dotXSI file format, SI_Model corresponds to a model in SOFTIMAGE|3D and an object in SOFTIMAGE|XSI. The template is always embedded inside SI_Model.

XSI Version

v3.0/v3.5/3.6

Template

SI_GlobalMaterial{
	<referenced material>,
	<propagation>
} 

Members

Member name
Description
referenced material
Material for a 3D model or an XSI object.
propagation
Indicates how the material propagation occurs. In the case of SOFTIMAGE|3D, everything is always exported using BRANCH (there is no such thing as a NODE propagated material). In the case of SOFTIMAGE|XSI, the material propagation can be any of the following:
  • BRANCH = material is shared throughout the branch (ie., object and all its nodes)
  • NODE = material is applied only to the object’s node
  • INHERITED = material has been inherited from a parent object

Example

SI_GlobalMaterial {
	"mat1"
	"BRANCH"
  } 

SI_IK_Effector

Stores the rotation flag for the effector of an IK chain. This flag affects the way the effector rotation is exported. In SOFTIMAGE|XSI this flag refers to the Effector Rotation Relative to Last Bone option. If the last bone inherits its rotation, the flag is set to True. False if not. This means that rotation in the SI_FCurve template will be local if this flag is True and global if this flag is False.

XSI Version

v3.0/v3.5/3.6

Template

SI_IK_Effector <effector name>
{
<rotation flag>
} 

Example

SI_IK_Effector r_foot_eff { 
							0, 
						} 

SI_IK_Joint

Stores IK joint information.

Limitations

SOFTIMAGE|3D does not export pseudo root, stiffness activation, or stiffness data. If a dotXSI file contains this data, SOFTIMAGE|3D ignores it.

In SOFTIMAGE|3D, the length of the bone is not stored in this template. Instead, it is calculated using the length from the SRT information, as shown below.

SI_Model MDL-joint1 {

			SI_Transform SRT-joint1 {
				1.000000,
				1.000000,
				1.000000,
				-180.000000,
				-0.000000,
				-68.054466,
				-0.000000,
				0.000000,
				-0.000000,
			}

			SI_Transform BASEPOSE-joint1 {
				1.000000,
				1.000000,
				1.000000,
				-90.000000,
				-11.309933,
				-90.000000,
				0.000000,
				5.471939,
				-0.688776,
			}

			SI_Visibility {
				1,
			}

			SI_IK_Joint joint1 {
				"3D",
				5.463235,
				-180.000000, -0.000000, -68.054466,
				0,
				0.000000, 0.000000, 0.000000,
				0.000000, 0.000000, 0.000000,
				0,
				0, 
				0.000000,
			} 

XSI Version

v3.0/v3.5/3.6

Template

SI_IK_Joint <joint name>
{
<solver type (2D | 3D | DEFAULT)>,
<length>
<preferred rotation x>, 
<preferred rotation y>, 
<preferred rotation z>,
<rotation limit activation>,
<rotation limit min x>, 
<rotation limit min y>, 
<rotation limit min z>,
<rotation limit max x>, 
<rotation limit max y>, 
<rotation limit max z>,
<pseudo-root>,
<stiffness activation>,
<stiffness>,
} 

Example

SI_IK_Joint R_foot { 
							"2D", 
							1.297064, 
							0.000000, 
							-0.000000, 
							-152.342743, 
							0, 
							-180.000000, 
							-180.000000, 
							-180.000000, 
							180.000000, 
							180.000000, 
							180.000000, 
							0, 
							0, 
							0.000000, 
						} 

SI_IK_Root

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

XSI Version

v3.0/v3.5/3.6

Template

SI_IK_Root <root name>
{
<number of joints>,
<joint 1 name>,
...
<joint n name>,
<effector name>
} 

Example

SI_IK_Root R_foot_root { 
						2, 
						"R_foot",
						"R_toes",
						"r_foot_eff", 
					} 

SI_ImageClip

Identifies the animated texture sequence.

Limitations

SOFTIMAGE|XSI does not export this template. If a dotXSI file contains this template, SOFTIMAGE|XSI will ignore it.

XSI Version

v3.0/v3.5/3.6

Template

SI_ImageClip <image clip name>
{
	<texture reference>,
	<number of images>,
	<starting frame/time>,
	<ending frame/time>,
	<image rate>,
	<STOP | LOOP | PINGPONG>
	<image file name 1>,
	...
	<image file name 2>
} 

Example

SI_ImageClip bee.1.pic	{
   "t2d1",
   20,
   1.0,
   20.0,
   30.000000,
   "LOOP",
   "bee.1.pic";
   "bee.2.pic";
   "bee.3.pic";
   "bee.4.pic";
   "bee.5.pic";
   "bee.6.pic";
   "bee.7.pic";
   "bee.8.pic";
   "bee.9.pic";
   "bee.10.pic";
   "bee.11.pic";
   "bee.12.pic";
   "bee.13.pic";
   "bee.14.pic";
   "bee.15.pic";
   "bee.16.pic";
   "bee.17.pic";
   "bee.18.pic";
   "bee.19.pic";
   "bee.20.pic";
} 

SI_Instance

Stores SOFTIMAGE|3D model instances. This template is stored inside the SI_Model template.

XSI Version

v3.0/v3.5/3.6

Template

SI_Instance <instance name>
{
<referenced root name>
} 

Example

SI_Model MDL-inst
{
	SI_Transform SRT-inst 
	{
	1.0,1.0,1.0,
	0.0,0.0,0.0,
	-23.910456,-47.999069,20.927017,
	}

	SI_Instance inst
	{
	"Parent_1",
	}
} 

SI_Light

Describes a light. See also SI_LightInfo.

XSI Version

v1.3/v2.0/v3.0/v3.5/3.6

Template

SI_Light <lightName>
{
	<type>;
	<red>; <green>; <blue>;;

// Point light form: 
	<posx>; <posy>; <posz>;;

// Infinite light form: 
	<orix>; <oriy>; <oriz>;;

// Spot light form: 
	<posx>; <posy>; <posz>;;
	<intx>; <inty>; <intz>;;
	<coneAngle>;
	<spreadAngle>;
} 

Members

Member name
Type
Description
type
int
Specifies the light type:

0 = point or spot
1 = directional
2 = spot
3 = SOFTIMAGE|XSI infinite light

red, green, blue
float
Color of the light.
posx, posy, posx
float
Specifies the light position.
orix, oriy, oriz
float
Orientation of the infinite light.
intx, inty, intz
float
Position of the spotlight interest.
coneAngle
float
 
spreadAngle
float
 

Example

SI_Light light { 
	3, 
	1.000000, 
	1.000000, 
	1.000000, 
	1.000000, 
	1.000000, 
	1.000000, 
	-45.000000, 
	35.264389, 
	-15.000000, 
}

SI_Model MDL-Spot_Root { 
	SI_GlobalMaterial { 
		"Scene_Root", 
		"BRANCH", 
	}

	SI_Transform SRT-Spot_Root { 
		1.000000, 
		1.000000, 
		1.000000, 
		0.000000, 
		0.000000, 
		0.000000, 
		8.223927, 
		8.395267, 
		2.460473, 
	}

	SI_Visibility { 
		1, 
	}

	SI_Null Spot_Root { 
	}

	SI_Light Spot {  
		2, 
		1.000000, 
		0.000000, 
		1.000000, 
		0.000000, 
		0.000000, 
		0.000000, 
		-8.223927, 
		-8.395267, 
		-2.460473, 
		60.000000, 
		10.000000, 
		SI_FCurve { 
			"Spot", 
			"COLOR-R", 
			"CUBIC", 
			1, 
			5, 
			2, 
			
1.000000,1.000000,0.000000,0.000000,3.000000,0.000000,
			10.000000,1.000000,-
3.000000,0.000000,0.000000,0.000000,
		}

		SI_FCurve { 
			"Spot", 
			"COLOR-G", 
			"CUBIC", 
			1, 
			5, 
			2, 
			
1.000000,0.463000,0.000000,0.000000,3.000000,0.000000,
			10.000000,0.000000,-
3.000000,0.000000,0.000000,0.000000,
		}

		SI_FCurve { 
			"Spot", 
			"COLOR-B", 
			"CUBIC", 
			1, 
			5, 
			2, 
			
1.000000,0.000000,0.000000,0.000000,3.000000,0.000000,
			10.000000,1.000000,-
3.000000,0.000000,0.000000,0.000000,
		}

		SI_FCurve { 
			"Spot", 
			"CONE", 
			"CUBIC", 
			1, 
			5, 
			2, 
			
1.000000,19.028000,0.000000,0.000000,3.000000,0.000000
,
			10.000000,60.000000,-
3.000000,0.000000,0.000000,0.000000,
		}

		SI_FCurve { 
			"Spot", 
			"SPREAD", 
			"CUBIC", 
			1, 
			5, 
			2, 
			
1.000000,5.000000,0.000000,0.000000,3.000000,0.000000,
			10.000000,10.000000,-
3.000000,0.000000,0.000000,0.000000,
		}

	}

} 

SI_LightInfo

This template supplements the information in the SI_Light template. It includes falloff, shadows, and photon information.

All parameters but <mode> are animatable. Fcurve names are:

XSI Version

v3.6

Template

SI_LightInfo {

<falloff active>,						 	// attenuation
<mode>, 							// 0- Linear
							// 1 - Use Exponent type
<start>,
<end>,
<shadows active>,							// shadows
<umbra>, 							// 0 - 1, .75 default
<useLight as energy>,	// True or false
<photon factor>,							// 0 - 100000, default .75
<Intensity>
} 

Example

SI_Light Infinite { 
	3, 
	0.186000, 
	0.729000, 
	1.000000, 
	0.000000, 
	0.000000, 
	0.000000, 
	0.000000, 
	0.000000, 
	0.000000, 
	SI_FCurve { 
		"Infinite", 
		"COLOR-R", 
		"CUBIC", 
		1, 
		5, 
		1, 
		
1.000000,1.000000,0.000000,0.000000,0.000000,0.000000,
	}

	SI_FCurve { 
		"Infinite", 
		"COLOR-G", 
		"CUBIC", 
		1, 
		5, 
		1, 
		
1.000000,1.000000,0.000000,0.000000,0.000000,0.000000,

	}

	SI_FCurve { 
		"Infinite", 
		"COLOR-B", 
		"CUBIC", 
		1, 
		5, 
		1, 
		
1.000000,1.000000,0.000000,0.000000,0.000000,0.000000,
	}

	SI_FCurve { 
		"Infinite", 
		"SPREAD", 
		"CUBIC", 
		1, 
		5, 
		1, 
		
1.000000,5.000000,0.000000,0.000000,0.000000,0.000000,
	}

	SI_LightInfo { 
		1, 
		1, 
		217.917999, 
		1138.015015, 
		1, 
		0.487000, 
		1, 
		13317.191406, 
		0.395000
		}
		SI_FCurve { 
			"Infinite", 
			"FALLOFF_ACTIVE", 
			"CONSTANT", 
			1, 
			1, 
			2, 
			1.000000,0.000000,
			100.000000,0.000000,
		}

		SI_FCurve { 
			"Infinite", 
			"FALLOFF_START", 
			"CUBIC", 
			1, 
			5, 
			2, 
			
1.000000,1.000000,0.000000,0.000000,33.000000,0.000000
,
			100.000000,217.917999,-
33.000000,0.000000,0.000000,0.000000,
		}

		SI_FCurve { 
			"Infinite", 
			"FALLOFF_END", 
			"CUBIC", 
			1, 
			5, 
			2, 
			
1.000000,100.000000,0.000000,0.000000,33.000000,0.0000
00,
			100.000000,1138.015015,-
33.000000,0.000000,0.000000,0.000000,
		}

		SI_FCurve { 
			"Infinite", 
			"SHADOWS_ENABLED", 
			"CONSTANT", 
			1, 
			1, 
			2, 
			1.000000,0.000000,
			100.000000,0.000000,
		}

		SI_FCurve { 
			"Infinite", 
			"UMBRA", 
			"CUBIC", 
			1, 
			5, 
			2, 
			
1.000000,0.750000,0.000000,0.000000,33.000000,0.000000
,
			100.000000,0.487000,-
33.000000,0.000000,0.000000,0.000000,
		}

		SI_FCurve { 
			"Infinite", 
			"LIGHT_AS_ENERGY", 
			"CONSTANT", 
			1, 
			1, 
			2, 
			1.000000,0.000000,
			100.000000,0.000000,
		}

		SI_FCurve { 
			"Infinite", 
			"ENERGY_FACTOR", 
			"CUBIC", 
			1, 
			5, 
			2, 
			
1.000000,0.750000,0.000000,0.000000,33.000000,0.000000
,
			100.000000,13317.191406,-
33.000000,0.000000,0.000000,0.000000,
		}

		SI_FCurve { 
			"Infinite", 
			"INTENSITY", 
			"CUBIC", 
			1, 
			5, 
			2, 
			
1.000000,0.750000,0.000000,0.000000,33.000000,0.000000
,
			100.000000,0.395000,-
33.000000,0.000000,0.000000,0.000000,
		}

	}

} 

SI_Material

Defines a SOFTIMAGE|3D material.

Note  

In v3.0 only SI_Material is exported. In v3.5 and 3.6, SoftMaterial is exported as SI_Material, and regular Material is exported as XSI_Material.

XSI Version

v1.3/v2.0/v3.0/v.3.5/3.6

Limitations

SOFTIMAGE|XSI exports this template in v3.0. For v3.5/3.6, XSI exports it when there is a legacy shader imported from SOFTIMAGE|3D (via either dotXSI v3.0 or the ImportSi3D).

See XSI_Material for the corresponding XSI template.

Members

Member name
Type
Description
faceColor
ColorRGBA
Diffuse color
power
float
Specular decay
specularColor
ColorRGB
Specular color
emissiveColor
ColorRGB
Emissive color. Not supported by SOFTIMAGE|3D.
shadingModel
int
Defines the material shading model:
0 = Constant
1 = Lambert
2 = Phong
3 = Blinn
4 = Shadow Object
5 = Vertex Colour
ambientColor
ColorRGB
Ambient color

Nested Templates

Local 2d textures applied to the material. If not present, the face is untextured.
Material user data.
Note: This tag is only available in SOFTIMAGE|3D.

Example (Lambert shaded material)

SI_Material myMaterial
{
	1.0; 0.0; 0.0; 0.0;;							// diffuse (red)
	1.0;							// specular exponent
	0.0; 1.0; 0.0;;							// specular (green)
	0.0; 0.0; 0.0;;							// emissive color (black)
	1;							// Lambert shading model
	0.3; 0.3; 0.3;;							// ambient color (light gray)
} 

Example (with 2D Textures)

See the example for SI_MaterialLibrary.

SI_MaterialLibrary

Specifies a list of materials that are global to the scene. Note that the nested templates are different forSOFTIMAGE|XSI. See the example below.

Note  

In v3.5 and 3.6, you can have a mix of SI_Material and XSI_Material.

XSI Version

v2.0/v3.0/v3.5

Template

SI_MaterialLibrary MATLIB-<sceneName>
{
	<nbMaterials>,
	SI_Material <materialName>
	{
		...
	}
	...		// more materials... 
} 

Example (SOFTIMAGE|XSI Output v3.5)

SI_MaterialLibrary MATLIB-Scene { 
	2, 
	XSI_Material Scene_Root { 
		10, 
		"surface","Phong",
		"volume","",
		"environment","",
		"contour","",
		"displacement","",
		"shadow","Phong",
		"Photon","Phong",
		"PhotonVolume","",
		"normal","",
		"RealTime","",
		XSI_Shader Phong { 
			"Softimage.material-phong.1", 
			4, 
			51, 
			21, 
			"Name","STRING","Phong",
			"ambient.red","FLOAT",0.300000,
			"ambient.green","FLOAT",0.300000,
			"ambient.blue","FLOAT",0.300000,
			"ambient.alpha","FLOAT",0.000000,
			"diffuse.red","FLOAT",0.700000,
			"diffuse.green","FLOAT",0.700000,
			"diffuse.blue","FLOAT",0.700000,
			"diffuse.alpha","FLOAT",0.000000,
			"specular.red","FLOAT",1.000000,
			"specular.green","FLOAT",1.000000,
			"specular.blue","FLOAT",1.000000,
			"specular.alpha","FLOAT",0.000000,
			"ambience.red","FLOAT",0.200000,
			"ambience.green","FLOAT",0.200000,
			"ambience.blue","FLOAT",0.200000,
			"ambience.alpha","FLOAT",1.000000,
			"shiny","FLOAT",50.000000,
			"transparency.red","FLOAT",0.000000,
			"transparency.green","FLOAT",0.000000,
			"transparency.blue","FLOAT",0.000000,
			"transparency.alpha","FLOAT",0.000000,
			"trans_glossy","FLOAT",0.000000,
			"transparent_samples","INTEGER",0,
			"reflectivity.red","FLOAT",0.000000,
			"reflectivity.green","FLOAT",0.000000,
			"reflectivity.blue","FLOAT",0.000000,
			"reflectivity.alpha","FLOAT",0.000000,
			"reflect_glossy","FLOAT",0.000000,
			"reflect_samples","INTEGER",0,
			"index_of_refraction","FLOAT",1.000000,
			"translucency","FLOAT",0.000000,
			"incandescence.red","FLOAT",1.000000,
			"incandescence.green","FLOAT",1.000000,
			"incandescence.blue","FLOAT",1.000000,
			"incandescence.alpha","FLOAT",0.000000,
			"inc_inten","FLOAT",0.000000,
			"bump.x","FLOAT",0.000000,
			"bump.y","FLOAT",0.000000,
			"bump.z","FLOAT",0.000000,
			"notrace","BOOLEAN",0,
			"diffuse_inuse","BOOLEAN",1,
			"specular_inuse","BOOLEAN",1,
			"reflect_inuse","BOOLEAN",1,
			"refract_inuse","BOOLEAN",1,
			"incand_inuse","BOOLEAN",1,
			"translucent_inuse","BOOLEAN",1,
			"radiance.red","FLOAT",1.000000,
			"radiance.green","FLOAT",1.000000,
			"radiance.blue","FLOAT",1.000000,
			"radiance.alpha","FLOAT",1.000000,
			"ambient","","",
			"diffuse","","",
			"specular","","",
			"shiny","","",
			"transparency","","",
			"trans_glossy","","",
			"reflectivity","","",
			"reflect_glossy","","",
			"index_of_refraction","","",
			"translucency","","",
			"incandescence","","",
			"inc_inten","","",
			"bump","","",
			"notrace","","",
			"diffuse_inuse","","",
			"specular_inuse","","",
			"reflect_inuse","","",
			"refract_inuse","","",
			"incand_inuse","","",
			"translucent_inuse","","",
			"radiance","","",
		}

	}

	XSI_Material cube { 
		10, 
		"surface","Lambert",
		"volume","",
		"environment","",
		"contour","",
		"displacement","",
		"shadow","Lambert",
		"Photon","Lambert",
		"PhotonVolume","",
		"normal","",
		"RealTime","",
		XSI_Shader Lambert { 
			"Softimage.material-lambert.1", 
			4, 
			39, 
			18, 
			"Name","STRING","Lambert",
			"ambience.red","FLOAT",0.200000,
			"ambience.green","FLOAT",0.200000,
			"ambience.blue","FLOAT",0.200000,
			"ambience.alpha","FLOAT",1.000000,
			"ambient","STRING","",
			"diffuse","STRING","",
			"transparency.red","FLOAT",0.000000,
			"transparency.green","FLOAT",0.000000,
			"transparency.blue","FLOAT",0.000000,
			"transparency.alpha","FLOAT",0.000000,
			"trans_glossy","FLOAT",0.000000,
			"transparent_samples","INTEGER",0,
			"reflectivity.red","FLOAT",0.000000,
			"reflectivity.green","FLOAT",0.000000,
			"reflectivity.blue","FLOAT",0.000000,
			"reflectivity.alpha","FLOAT",0.000000,
			"reflect_glossy","FLOAT",0.000000,
			"reflect_samples","INTEGER",0,
			"index_of_refraction","FLOAT",1.000000,
			"translucency","FLOAT",0.000000,
			"incandescence.red","FLOAT",1.000000,
			"incandescence.green","FLOAT",1.000000,
			"incandescence.blue","FLOAT",1.000000,
			"incandescence.alpha","FLOAT",0.000000,
			"inc_inten","FLOAT",0.000000,
			"bump.x","FLOAT",0.000000,
			"bump.y","FLOAT",0.000000,
			"bump.z","FLOAT",0.000000,
			"notrace","BOOLEAN",0,
			"diffuse_inuse","BOOLEAN",1,
			"reflect_inuse","BOOLEAN",1,
			"refract_inuse","BOOLEAN",1,
			"incand_inuse","BOOLEAN",1,
			"translucent_inuse","BOOLEAN",1,
			"radiance.red","FLOAT",1.000000,
			"radiance.green","FLOAT",1.000000,
			"radiance.blue","FLOAT",1.000000,
			"radiance.alpha","FLOAT",1.000000,
			"ambient","ambient_blend","SHADER",
			"diffuse","diffuse_blend","SHADER",
			"transparency","","",
			"trans_glossy","","",
			"reflectivity","","",
			"reflect_glossy","","",
			"index_of_refraction","","",
			"translucency","","",
			"incandescence","","",
			"inc_inten","","",
			"bump","","",
			"notrace","","",
			"diffuse_inuse","","",
			"reflect_inuse","","",
			"refract_inuse","","",
			"incand_inuse","","",
			"translucent_inuse","","",
			"radiance","","",
		}

		XSI_Shader diffuse_blend { 
			"Softimage.sib_color_8mix.1", 
			4, 
			80, 
			29, 
			"Name","STRING","diffuse_blend",
			"mixersize","INTEGER",8,
			"base_color.red","FLOAT",0.000000,
			"base_color.green","FLOAT",0.000000,
			"base_color.blue","FLOAT",0.700000,
			"base_color.alpha","FLOAT",0.000000,
			"color1","STRING","",
			"mode1","INTEGER",1,
			"weight1.red","FLOAT",1.000000,
			"weight1.green","FLOAT",1.000000,
			"weight1.blue","FLOAT",1.000000,
			"weight1.alpha","FLOAT",0.500000,
			"alpha1","BOOLEAN",1,
			"inuse1","BOOLEAN",1,
			"color2.red","FLOAT",1.000000,
			"color2.green","FLOAT",1.000000,
			"color2.blue","FLOAT",1.000000,
			"color2.alpha","FLOAT",0.000000,
			"mode2","INTEGER",1,
			"weight2.red","FLOAT",0.500000,
			"weight2.green","FLOAT",0.500000,
			"weight2.blue","FLOAT",0.500000,
			"weight2.alpha","FLOAT",0.000000,
			"alpha2","BOOLEAN",0,
			"inuse2","BOOLEAN",0,
			"color3.red","FLOAT",1.000000,
			"color3.green","FLOAT",1.000000,
			"color3.blue","FLOAT",1.000000,
			"color3.alpha","FLOAT",0.000000,
			"mode3","INTEGER",1,
			"weight3.red","FLOAT",0.500000,
			"weight3.green","FLOAT",0.500000,
			"weight3.blue","FLOAT",0.500000,
			"weight3.alpha","FLOAT",0.000000,
			"alpha3","BOOLEAN",0,
			"inuse3","BOOLEAN",0,
			"color4.red","FLOAT",1.000000,
			"color4.green","FLOAT",1.000000,
			"color4.blue","FLOAT",1.000000,
			"color4.alpha","FLOAT",0.000000,
			"mode4","INTEGER",1,
			"weight4.red","FLOAT",0.500000,
			"weight4.green","FLOAT",0.500000,
			"weight4.blue","FLOAT",0.500000,
			"weight4.alpha","FLOAT",0.000000,
			"alpha4","BOOLEAN",0,
			"inuse4","BOOLEAN",0,
			"color5.red","FLOAT",1.000000,
			"color5.green","FLOAT",1.000000,
			"color5.blue","FLOAT",1.000000,
			"color5.alpha","FLOAT",0.000000,
			"mode5","INTEGER",1,
			"weight5.red","FLOAT",0.500000,
			"weight5.green","FLOAT",0.500000,
			"weight5.blue","FLOAT",0.500000,
			"weight5.alpha","FLOAT",0.000000,
			"alpha5","BOOLEAN",0,
			"inuse5","BOOLEAN",0,
			"color6.red","FLOAT",1.000000,
			"color6.green","FLOAT",1.000000,
			"color6.blue","FLOAT",1.000000,
			"color6.alpha","FLOAT",0.000000,
			"mode6","INTEGER",1,
			"weight6.red","FLOAT",0.500000,
			"weight6.green","FLOAT",0.500000,
			"weight6.blue","FLOAT",0.500000,
			"weight6.alpha","FLOAT",0.000000,
			"alpha6","BOOLEAN",0,
			"inuse6","BOOLEAN",0,
			"color7.red","FLOAT",1.000000,
			"color7.green","FLOAT",1.000000,
			"color7.blue","FLOAT",1.000000,
			"color7.alpha","FLOAT",0.000000,
			"mode7","INTEGER",1,
			"weight7.red","FLOAT",0.500000,
			"weight7.green","FLOAT",0.500000,
			"weight7.blue","FLOAT",0.500000,
			"weight7.alpha","FLOAT",0.000000,
			"alpha7","BOOLEAN",0,
			"inuse7","BOOLEAN",0,
			"base_color","","",
			"color1","Image","SHADER",
			"weight1","","",
			"alpha1","","",
			"inuse1","","",
			"color2","","",
			"weight2","","",
			"alpha2","","",
			"inuse2","","",
			"color3","","",
			"weight3","","",
			"alpha3","","",
			"inuse3","","",
			"color4","","",
			"weight4","","",
			"alpha4","","",
			"inuse4","","",
			"color5","","",
			"weight5","","",
			"alpha5","","",
			"inuse5","","",
			"color6","","",
			"weight6","","",
			"alpha6","","",
			"inuse6","","",
			"color7","","",
			"weight7","","",
			"alpha7","","",
			"inuse7","","",
		}

		XSI_Shader Image { 
			"Softimage.txt2d-image-explicit.1", 
			4, 
			30, 
			21, 
			"Name","STRING","Image",
			"tspace_id","STRING","Texture_Projection",
			"repeats.x","FLOAT",1.000000,
			"repeats.y","FLOAT",1.000000,
			"repeats.z","FLOAT",1.000000,
			"alt_x","BOOLEAN",0,
			"alt_y","BOOLEAN",0,
			"alt_z","BOOLEAN",0,
			"min.x","FLOAT",0.000000,
			"min.y","FLOAT",0.000000,
			"min.z","FLOAT",0.000000,
			"max.x","FLOAT",1.000000,
			"max.y","FLOAT",1.000000,
			"max.z","FLOAT",1.000000,
			"step.x","FLOAT",0.000000,
			"step.y","FLOAT",0.000000,
			"step.z","FLOAT",0.000000,
			"factor","FLOAT",5.000000,
			"torus_u","BOOLEAN",0,
			"torus_v","BOOLEAN",0,
			"alpha","BOOLEAN",0,
			"bump_inuse","BOOLEAN",0,
			"alpha_output","BOOLEAN",0,
			"alpha_factor","FLOAT",1.000000,
			"eccmax","FLOAT",20.000000,
			"maxminor","FLOAT",16.000000,
			"disc_r","FLOAT",0.300000,
			"bilinear","BOOLEAN",1,
			"filtered","BOOLEAN",0,
			"bump_filtered","BOOLEAN",0,
			"tex","refmap2d.tga","IMAGE",
			"repeats","","",
			"alt_x","","",
			"alt_y","","",
			"alt_z","","",
			"min","","",
			"max","","",
			"step","","",
			"factor","","",
			"torus_u","","",
			"torus_v","","",
			"alpha","","",
			"bump_inuse","","",
			"alpha_output","","",
			"alpha_factor","","",
			"eccmax","","",
			"maxminor","","",
			"disc_r","","",
			"bilinear","","",
			"filtered","","",
			"bump_filtered","","",
		}

		XSI_Shader ambient_blend { 
			"Softimage.sib_color_8mix.1", 
			4, 
			80, 
			29, 
			"Name","STRING","ambient_blend",
			"mixersize","INTEGER",8,
			"base_color.red","FLOAT",0.000000,
			"base_color.green","FLOAT",0.000000,
			"base_color.blue","FLOAT",0.300000,
			"base_color.alpha","FLOAT",0.000000,
			"color1","STRING","",
			"mode1","INTEGER",1,
			"weight1.red","FLOAT",1.000000,
			"weight1.green","FLOAT",1.000000,
			"weight1.blue","FLOAT",1.000000,
			"weight1.alpha","FLOAT",0.500000,
			"alpha1","BOOLEAN",1,
			"inuse1","BOOLEAN",1,
			"color2.red","FLOAT",1.000000,
			"color2.green","FLOAT",1.000000,
			"color2.blue","FLOAT",1.000000,
			"color2.alpha","FLOAT",0.000000,
			"mode2","INTEGER",1,
			"weight2.red","FLOAT",0.500000,
			"weight2.green","FLOAT",0.500000,
			"weight2.blue","FLOAT",0.500000,
			"weight2.alpha","FLOAT",0.000000,
			"alpha2","BOOLEAN",0,
			"inuse2","BOOLEAN",0,
			"color3.red","FLOAT",1.000000,
			"color3.green","FLOAT",1.000000,
			"color3.blue","FLOAT",1.000000,
			"color3.alpha","FLOAT",0.000000,
			"mode3","INTEGER",1,
			"weight3.red","FLOAT",0.500000,
			"weight3.green","FLOAT",0.500000,
			"weight3.blue","FLOAT",0.500000,
			"weight3.alpha","FLOAT",0.000000,
			"alpha3","BOOLEAN",0,
			"inuse3","BOOLEAN",0,
			"color4.red","FLOAT",1.000000,
			"color4.green","FLOAT",1.000000,
			"color4.blue","FLOAT",1.000000,
			"color4.alpha","FLOAT",0.000000,
			"mode4","INTEGER",1,
			"weight4.red","FLOAT",0.500000,
			"weight4.green","FLOAT",0.500000,
			"weight4.blue","FLOAT",0.500000,
			"weight4.alpha","FLOAT",0.000000,
			"alpha4","BOOLEAN",0,
			"inuse4","BOOLEAN",0,
			"color5.red","FLOAT",1.000000,
			"color5.green","FLOAT",1.000000,
			"color5.blue","FLOAT",1.000000,
			"color5.alpha","FLOAT",0.000000,
			"mode5","INTEGER",1,
			"weight5.red","FLOAT",0.500000,
			"weight5.green","FLOAT",0.500000,
			"weight5.blue","FLOAT",0.500000,
			"weight5.alpha","FLOAT",0.000000,
			"alpha5","BOOLEAN",0,
			"inuse5","BOOLEAN",0,
			"color6.red","FLOAT",1.000000,
			"color6.green","FLOAT",1.000000,
			"color6.blue","FLOAT",1.000000,
			"color6.alpha","FLOAT",0.000000,
			"mode6","INTEGER",1,
			"weight6.red","FLOAT",0.500000,
			"weight6.green","FLOAT",0.500000,
			"weight6.blue","FLOAT",0.500000,
			"weight6.alpha","FLOAT",0.000000,
			"alpha6","BOOLEAN",0,
			"inuse6","BOOLEAN",0,
			"color7.red","FLOAT",1.000000,
			"color7.green","FLOAT",1.000000,
			"color7.blue","FLOAT",1.000000,
			"color7.alpha","FLOAT",0.000000,
			"mode7","INTEGER",1,
			"weight7.red","FLOAT",0.500000,
			"weight7.green","FLOAT",0.500000,
			"weight7.blue","FLOAT",0.500000,
			"weight7.alpha","FLOAT",0.000000,
			"alpha7","BOOLEAN",0,
			"inuse7","BOOLEAN",0,
			"base_color","","",
			"color1","Image","SHADER",
			"weight1","","",
			"alpha1","","",
			"inuse1","","",
			"color2","","",
			"weight2","","",
			"alpha2","","",
			"inuse2","","",
			"color3","","",
			"weight3","","",
			"alpha3","","",
			"inuse3","","",
			"color4","","",
			"weight4","","",
			"alpha4","","",
			"inuse4","","",
			"color5","","",
			"weight5","","",
			"alpha5","","",
			"inuse5","","",
			"color6","","",
			"weight6","","",
			"alpha6","","",
			"inuse6","","",
			"color7","","",
			"weight7","","",
			"alpha7","","",
			"inuse7","","",
		}

	}

} 

Example (SOFTIMAGE|3D Output v3.0)

SI_MaterialLibrary MATLIB-myCube
{
	1,
	SI_Material MAT_SURFACE-TERRACOTTA001.1-1
	{
		0.75,0.55,0.333,1.0,
		250.0,
		1.0,1.0,1.0,
		0.0,0.0,0.0,
		5,
		1.0,0.733,0.444,
		SI_Texture2D {
			"noIcon.pic";
			4;
			50;75;
			0;49;0;74;
			0;
			1;1;
			0;0;
			1.000000;1.000000;
			0.000000;0.000000;
			1.000000,0.000000,0.000000,0.000000,
			0.000000,1.000000,0.000000,0.000000,
			0.000000,0.000000,1.000000,0.000000,
			0.000000,0.000000,0.000000,1.000000;;
			3;
			0.000000;
			0.000000;
			0.000000;
			0.000000;
			0.000000;
			0.000000;
			4.014000;
		}
	}
}
SI_Model MDL-cube2 {
	SI_Transform SRT-cube2
	{
		...
	}
	SI_Mesh MSH-cube2
	{
		SI_Shape SHP-cube2-ORG
		{
			...
		}

		SI_TriangleList
		{
			12,
			"NORMAL|COLOR|TEX_COORD_UV",
			"MAT_SURFACE-TERRACOTTA001.1-1",
			...
	 }
} 

SI_Mesh

Stores a mesh definition.

XSI Versions

v2.0/v3.0/v3.5/v3.6

Template

SI_Mesh MSH-<objectName>
{
	SI_Shape SHP-<objectName>-ORG
	{
		…
	}

	SI_TriangleList
	{
		...
	}

	SI_TriStripList
	{
		...
	}

	// Output if no tesselation 
	SI_PolygonList
	{
		...
	}

	SI_ShapeAnimation
	{
		...
	}

} 

Examples (SOFTIMAGE|XSI Output v3.5)

This example is for v.3.5 only:

SI_Mesh MSH-cube { 

		SI_Shape SHP-cube-ORG { 
			3, 
			"ORDERED", 

			8, 
			"POSITION", 
			-4.000000,-4.000000,-4.000000,
			4.000000,-4.000000,-4.000000,
			-4.000000,4.000000,-4.000000,
			4.000000,4.000000,-4.000000,
			-4.000000,-4.000000,4.000000,
			4.000000,-4.000000,4.000000,
			-4.000000,4.000000,4.000000,
			4.000000,4.000000,4.000000,

			36, 
			"NORMAL", 
			0.000000,0.000000,-1.000000,
			0.000000,0.000000,-1.000000,
			0.000000,0.000000,-1.000000,
			0.000000,0.000000,-1.000000,
			0.000000,0.000000,-1.000000,
			0.000000,0.000000,-1.000000,
			0.000000,-1.000000,0.000000,
			0.000000,-1.000000,0.000000,
			0.000000,-1.000000,0.000000,
			0.000000,-1.000000,0.000000,
			0.000000,-1.000000,0.000000,
			0.000000,-1.000000,0.000000,
			-1.000000,0.000000,0.000000,
			-1.000000,0.000000,0.000000,
			-1.000000,0.000000,0.000000,
			-1.000000,0.000000,0.000000,
			-1.000000,0.000000,0.000000,
			-1.000000,0.000000,0.000000,
			1.000000,0.000000,0.000000,
			1.000000,0.000000,0.000000,
			1.000000,0.000000,0.000000,
			1.000000,0.000000,0.000000,
			1.000000,0.000000,0.000000,
			1.000000,0.000000,0.000000,
			0.000000,1.000000,0.000000,
			0.000000,1.000000,0.000000,
			0.000000,1.000000,0.000000,
			0.000000,1.000000,0.000000,
			0.000000,1.000000,0.000000,
			0.000000,1.000000,0.000000,
			0.000000,0.000000,1.000000,
			0.000000,0.000000,1.000000,
			0.000000,0.000000,1.000000,
			0.000000,0.000000,1.000000,
			0.000000,0.000000,1.000000,
			0.000000,0.000000,1.000000,

			36, 
			"TEX_COORD_UV", 
			"Texture_Projection", 
			0.000000,1.000000,
			0.000000,1.000000,
			1.000000,1.000000,
			0.000000,1.000000,
			1.000000,1.000000,
			1.000000,1.000000,
			0.000000,1.000000,
			1.000000,1.000000,
			1.000000,0.000000,
			0.000000,1.000000,
			1.000000,0.000000,
			0.000000,0.000000,
			0.000000,1.000000,
			0.000000,0.000000,
			0.000000,0.000000,
			0.000000,1.000000,
			0.000000,0.000000,
			0.000000,1.000000,
			1.000000,1.000000,
			1.000000,1.000000,
			1.000000,0.000000,
			1.000000,1.000000,
			1.000000,0.000000,
			1.000000,0.000000,
			0.000000,1.000000,
			0.000000,0.000000,
			1.000000,0.000000,
			0.000000,1.000000,
			1.000000,0.000000,
			1.000000,1.000000,
			0.000000,0.000000,
			1.000000,0.000000,
			1.000000,0.000000,
			0.000000,0.000000,
			1.000000,0.000000,
			0.000000,0.000000,

		}

		SI_TriangleList cube { 
			12, 
			"NORMAL|TEX_COORD_UV0", 
			"cube", 

			0,2,3,
			0,3,1,
			0,1,5,
			0,5,4,
			0,4,6,
			0,6,2,
			1,3,7,
			1,7,5,
			2,6,7,
			2,7,3,
			4,5,7,
			4,7,6,

			0,1,2,
			3,4,5,
			6,7,8,
			9,10,11,
			12,13,14,
			15,16,17,
			18,19,20,
			21,22,23,
			24,25,26,
			27,28,29,
			30,31,32,
			33,34,35,

			0,1,2,
			3,4,5,
			6,7,8,
			9,10,11,
			12,13,14,
			15,16,17,
			18,19,20,
			21,22,23,
			24,25,26,
			27,28,29,
			30,31,32,
			33,34,35,

		}

	}

} 

SI_Model

Contains all the information for one of the following objects:

SI_Model replaces the Frame template in version 2.0 of the dotXSI file.

Note  

If there is no primitive, XSI creates a model (SI_Model) instead of a null (SI_Null).

XSI Version

v2.0/v3.0/v3.5/3.6

Template

SI_Model <modelName>
{
// Transformations, either in a matrix or as SRT vectors 
	SI_Transform SRT-<modelName> 
	{
		...
	}

// Base pose for IK chains and skeletons 
	SI_Transform BASEPOSE-<modelName> 
	{
		...
	}

// Models 
	SI_Mesh |  SI_Null | XSI_CurveList | 
SI_PatchSurface | XSI_SurfaceMesh
	{
		...
	}

// IK chain 
	SI_IK_Effector | SI_IK_Joint | SI_IK_Root 
	{
		...
	}

// Constraints 
	SI_Constraint 
	{
		...
	}
	...  // more constraints… 

// Children 
	SI_Instance
	{
		...
	}
	...  // more children… 
} 

Examples

Example 1

SI_Model MDL-bone { 

		SI_Transform BASEPOSE-bone { 
			1.000000, 
			1.000000, 
			1.000000, 
			-90.000000, 
			45.509514, 
			-90.000000, 
			0.000000, 
			3.317689, 
			2.961595, 
		}

		SI_Transform SRT-bone { 
			1.000000, 
			1.000000, 
			1.000000, 
			0.000000, 
			-0.000000, 
			-44.490486, 
			0.000000, 
			0.000000, 
			0.000000, 
		}

		SI_Visibility { 
			1, 
		}

		SI_IK_Joint bone { 
			"2D", 
			9.152099, 
			0.000000, 
			-0.000000, 
			-44.490486, 
			0, 
			-180.000000, 
			-180.000000, 
			-180.000000, 
			180.000000, 
			180.000000, 
			180.000000, 
			0, 
			0, 
			0.000000, 
		}

	} 

Example 2

SI_Model MDL-null { 
	SI_GlobalMaterial { 
		"Scene_Root", 
		"BRANCH", 
	}

	SI_Transform SRT-null { 
		1.000000, 
		1.000000, 
		1.000000, 
		0.000000, 
		0.000000, 
		0.000000, 
		0.000000, 
		0.000000, 
		0.000000, 
	}

	SI_Visibility { 
		1, 
	}

	SI_Null null { 
	}

} 

Example 3

SI_Model MDL-crvlist { 
	SI_Transform SRT-crvlist { 
		1.000000, 
		1.000000, 
		1.000000, 
		0.000000, 
		0.000000, 
		0.000000, 
		0.000000, 
		0.000000, 
		0.000000, 
	}

	SI_Visibility { 
		1, 
	}

	XSI_CurveList crvlist { 
		SI_NurbsCurve crvlist { 
			3, 
			0, 
			1, 
			13, 
			
0.000000,0.000000,0.000000,0.000000,1.000000,2.000000,
3.000000,4.000000,5.000000,6.000000,6.000000,6.000000,
6.000000,
			9, 
			0.000000,2.963014,0.155096,1.000000,
			0.000000,2.987645,1.065977,1.000000,
			0.000000,2.869698,2.209332,1.000000,
			0.000000,-0.648747,3.474870,1.000000,
			0.000000,1.010988,-0.466273,1.000000,
			0.000000,3.387955,-1.033708,1.000000,
			0.000000,-0.331472,-4.039958,1.000000,
			0.000000,-1.219195,-0.844412,1.000000,
			0.000000,-1.736430,1.484490,1.000000,
		}

	} 

SI_Null

Identifies a null object.

XSI Version

v3.0/v3.5/3.6

Template

SI_Null 
{
} 

Example

SI_Model MDL-null
{
	SI_GlobalMaterial 
	{
		"Scene_Root",
		"BRANCH",
	}
	SI_Transform SRT-null { 
		1.000000, 
		1.000000, 
		1.000000, 
		0.000000, 
		0.000000, 
		0.000000, 
		0.000000, 
		0.000000, 
		0.000000, 
	}
	SI_Visibility 
	{ 
		1, 
	}
	SI_Null null 
{ 
	}
} 

SI_NurbsCurve

Stores NURBS curve information. It is similar to the NURBS Surface template except one parameter is used (either u or v) instead of two (u and v).

SI_NurbsCurves always stores curve data in IGES format.

XSI Version

v3.0/v3.5/3.6

Template

SI_NurbsCurve
{
	<degree>,
	<closed>,
	<paramType>,
	<nbKnots>,
	<knots>,
	<nbControlPoints>,
	<controlPoints>,
} 

Example

XSI_CurveList circle
{
	SI_NurbsCurve  circle
	{
		3;
		1;
		0;
		15;
		-2.000000; -2.000000; -1.000000; 0.000000;
		1.000000; 2.000000; 3.000000;4.000000; 5.000000;
		6.000000; 7.000000; 8.000000; 9.000000;
		10.000000;10.000000;;
		11;
		0.000000;5.540971;0.000000;1.000000;,
		3.918058;3.918058;0.000000;1.000000;,
		5.540971;0.000000;0.000000;1.000000;,
		3.918058;-3.918058;0.000000;1.000000;,
		0.000000;-5.540971;0.000000;1.000000;,
		-3.918058;-3.918058;0.000000;1.000000;,
		-5.540971;0.000000;0.000000;1.000000;,
		-3.918058;3.918058;0.000000;1.000000;,
		0.000000;5.540971;0.000000;1.000000;,
		3.918058;3.918058;0.000000;1.000000;,
		5.540971;0.000000;0.000000;1.000000;;
	}
} 

SI_NurbsSurface

Defines a NURBS surface.

This template provides a definition for existing NURBS representations, such as IGES. This ensures that the SI_NurbsSurface representation is compatible with most existing game engines and file formats.

SI_NurbsSurface always stores surface data in IGES format.

Limitation

Note that if you export a NURBS surface from SOFTIMAGE|XSI that has a different U and V parameterization, the dotXSI file format can only support a single parametrization in both U and V.

XSI Version

v1.3/v2.0/v3.0/v3.5/3.6

Members

Member name
Type
Array size
Description
uvDegree
array int
2
Degree of surface in U and V.
uvClosed
array BOOLEAN
2
Surface is closed in U.
paramType
int
 
Knot parameterization of the NURBS curves:

0 = uniform
1 = open uniform
2 = non-uniform
3 = chord length
4 = centripetal

nbUVKnots
array int
2
Number of IGES knots in U and V.
uKnots
array DOUBLE
nbUKnots
Knots in U.
vKnots
array DOUBLE
nbVKnots
Knots in V.
nbControlPoints
array int
3
Total number of IGES control points:
  • Number of control points in U
  • Number of control points in V
controlPoints
array vector
nbControlPoints[0]
Surface control points: x, y, z, w

Nested Templates

SI_ShapeAnimation (v2.0 only)

Comments

Closed in U or V implies that a surface is periodic (its continuity is degree –1 by formulation and not construction). In IGES format it implies an overlapping of degree control points, not just the last and first ones.

The IGES Nurbs representation implies:

Open curves have an extra order knot at the end and at the start (order = degree + 1).

Closed (periodic) curves have knot spacing overlap and an overlapping of degree control points.

The SOFTIMAGE|3D NURBS representation implies:

The following table summarizes how the number of IGES control points and IGES knots are calculated.

Constant name
Open
Closed
nbSoftKnots
nbSoftPoints + degree - 1
nbSoftPoints + 1
nbIgesPoints
nbSoftPoints
nbSoftPoints + degree
nbIgesKnots
nbSoftKnots
nbSoftKnots + 2*degree

nbSoftPoints is the number of control points in U (or V) for a NURBS surface in SOFTIMAGE|3D. This is the number shown in the NURBS Surface Info dialog box.

nbSoftKnots is the number of knots in U (or V) for a NURBS surface in SOFTIMAGE|3D.

nbIgesPoints and nbIgesKnots are the numbers of U (or V) points and knots output in a dotXSI file.

Example

SI_NurbsSurface grid3 {
	1; 1;;	// Linear in U, V 
	1; 0;;	// Closed in U, Open in V 
	0;	// Uniform parameterization 
	6; 3;;	// 6 knots in U, 3 knots in V 
	0.000000; 0.000000; 1.000000; 2.000000; 3.000000; 
3.000000; ;
	0.000000; 1.000000; 2.000000; ;
	12; 4; 3;;	// Number of control points: Total, U, V
// Control points: 
	-1.000000;0.000000;1.000000;1.000000;,
	0.000000;0.000000;1.000000;1.000000;,
	1.000000;0.000000;1.000000;1.000000;,
	-1.000000;0.000000;1.000000;1.000000;,
	-1.000000;0.000000;0.000000;1.000000;,
	0.000000;0.000000;0.000000;1.000000;,
	1.000000;0.000000;0.000000;1.000000;,
	-1.000000;0.000000;0.000000;1.000000;,
	-1.000000;0.000000;-1.000000;1.000000;,
	0.000000;0.000000;-1.000000;1.000000;,
	1.000000;0.000000;-1.000000;1.000000;,
	-1.000000;0.000000;-1.000000;1.000000;;

	SI_Material {
		...
		SI_Texture2D {
			...
		}
	}
} 

See also XSI_SurfaceMesh.

SI_PatchSurface

Defines a patch.

A patch is a surface defined by splines (Linear, Bézier, Cardinal, or B-Spline curves) in the U and V dimensions. Each dimension can use a different spline type. For example, a patch can be Linear in the U dimension and Cardinal in the V dimension.

Limitations

SOFTIMAGE|XSI does not export this template. If a dotXSI file contains this template, SOFTIMAGE|XSI converts the patch to a null object.

XSI Version

v1.3/v2.0/3.0/v3.5/3.6

Members

Member name
Type
Array Size
Description
uvType
array int
2
Types of spline in U and V:

0 = Linear
1 = Bézier
2 = Cardinal
3 = B-Spline

uvTension
array float
2
Surface tensions in U and V (applies only to patches that are Cardinal in the U or V dimension).
uvClosed
array BOOLEAN
2
TRUE if surface is closed in the corresponding UV direction.
nbControlPoints
array int
3
- Total number of control points.
- Number of control points in U.
- Number of control points in V.
controlPoints
array Vector
nbControlPoints[0]
Patch control points.

Nested Templates

SI_ShapeAnimation (v2.0 only)

Comments

When a B-Spline patch is open in U or V, there are two extra control points in each open dimension. These extra control points are “phantom” keys used to define the interpolation of the surface at the beginning and end of the surface in each dimension.

SI_PolygonList

Specifies the positions, normals, colors, and uv coordinates for polygon vertices by indexing into the SI_Shape template that defines the mesh.

XSI Versions

v2.0/v3.0/v3.5/v3.6

Limitations

This template changed between version 3.0 and 3.5. In v3.0, the template consisted of the number of UV indices and then the indices. In v3.5 and beyond, the template now contains the number of indices, UV space ("Texture_Projection"), and then the indices.

Template

Version 3.0 and before

SI_PolygonList
{
	<nbPolygons>,
	<elements>
	<nbTotalVertices>
	<nbVertices[0]>		// Number of vertices in polygon 0 
	...		// Number of vertices in polygons 1, 2, ... 

	// Indices for polygon vertex positions 
	<v0>, <v1>, ..., <vnbVertices[0]-1>	// polygon 0 
						...					// polygons 1, 2, ... 

	// indices for polygon vertex normals 
	<n0>, <n1>, ..., <nnbVertices[0]-1>	// polygon 0 
	...										// polygons 1, 2, ... 

	// indices for polygon vertex colors 
	<c0>, <c1>, ..., <cnbVertices[0]-1>,	// polygon 0
	...										// polygons 1, 2, ... 

} 

Version 3.5 and beyond

SI_PolygonList
{
	<nbPolygons>,
	<elements>
	<material>
	<nbTotalVertices>
	<nbVertices[0]>		// Number of vertices in polygon 0 
	...		// Number of vertices in polygons 1, 2, ... 

	// Indices for polygon vertex positions 
	<v0>, <v1>, ..., <vnbVertices[0]-1>	// polygon 0 
						...					// polygons 1, 2, ... 

	// indices for polygon vertex normals 
	<n0>, <n1>, ..., <nnbVertices[0]-1>	// polygon 0 
	...										// polygons 1, 2, ... 

	// indices for polygon vertex colors 
	<c0>, <c1>, ..., <cnbVertices[0]-1>,	// polygon 0
	...										// polygons 1, 2, ... 

	// indices for polygon vertex uv coords 
	<uv0>, <uv1>, ..., <uvnbVertices[0]-1>,	// polygon 0
	...										// polygons 1, 2, ... 
} 

Members

Member
Type
Description
nbPolygons
int
Number of polygons in the mesh
elements
char *
Specifies what information is stored in the template. Can be one or more of the following:
  • NORMAL = Template contains Normals information (see ni below).
  • COLOR = Template contains Color information (see ci below).
  • TEX_COORD_UV# = Template contains texture UV coordinates information (see uvi below). The number sign (#) represents the number of the texture UV coordinates starting at 0.
Note: The TEX_COORD_UV# element is only available in v3.5 and beyond.
If more than one of these is present, use a vertical bar to separate the strings (for example, "NORMAL|COLOR|TEX_COORD_UV0|TEX_COORD_UV1").
Note: Vertex positions are always present in a SI_PolygonList template (see vi below).
material
char *
Name of the material.
Note: This is only available in v3.5 and beyond.
nbTotalVertices
int
Number of vertices in total for this mesh object.
nbVertices
int
Number of vertices for a specific polygon in the mesh.
vi
int
Index of a vertex position in the POSITIONS section of the SI_Shape template for the mesh.
ni
int
Index of a normal in the NORMAL section of the SI_Shape template for the mesh.
ci
int
Index of a color in the COLOR section of the SI_Shape template for the mesh.
uvi
int
Index of a UV coordinate in the TEX_COORD_UV section of the SI_Shape template for the mesh.
Note: The uvi element is only available in v3.5 and beyond.

Example

SI_Model MDL-cube2 {
  SI_Transform SRT-cube2
  {
   1.0,1.0,1.0,
   0.0,0.0,0.0,
   0.0,0.0,0.0,
  }

  SI_Mesh MSH-cube2
  {
   SI_Shape SHP-cube2-ORG
   {
     2,
     "ORDERED",
     8,
     "POSITION",
     -0.5,-0.5,-0.5, // vertex[0] 
     -0.5,-0.5,0.5,  // vertex[1]
     -0.5,0.5,-0.5,  // vertex[2]
     -0.5,0.5,0.5,   // vertex[3]
     0.5,-0.5,-0.5,  // vertex[4]
     0.5,-0.5,0.5,   // vertex[5]
     0.5,0.5,-0.5,   // vertex[6]
     0.5,0.5,0.5,    // vertex[7]

     6,
     "NORMAL",
     -1.0,0.0,0.0,  // normal[0]
     0.0,0.0,-1.0,  // normal[1]
     0.0,-1.0,0.0,  // normal[2]
     0.0,0.0,1.0,   // normal[3]
     0.0,1.0,0.0,   // normal[4]
     1.0,0.0,0.0,   // normal[5]
   }

   SI_PolygonList
   {
     6,    // 6 polygons 
     "NORMAL",
     "MAT_SURFACE-TERRACOTTA001.1-1",
     24,   // 24 vertices 
     4,     // Each polygon in the cube has 4 vertices 
     4,
     4,
     4,
     4,
     4,

// Indices of the vertices in the POSITION section of 
the SI_Shape template 
     0,1,3,2,  // polygon[0] 
     1,5,7,3,
     5,4,6,7,
     4,0,2,6,
     4,5,1,0,
     2,3,7,6,  // polygon[5] 

// Indices of the normals in the NORMAL section of the 
SI_Shape template 
     0,0,0,0,  // polygon[0] 
     3,3,3,3,
     5,5,5,5,
     1,1,1,1,
     2,2,2,2,
     4,4,4,4,  // polygon[5] 
   }
  }
} 

SI_Scene

Contains global scene information

XSI Version

v2.0/v3.0/v3.5/3.6

Template

SI_Scene <sceneName>
{
  "<Timing>",
  <start>,<end>,
  <frameRate>,
} 

Members

Member
Type
Description
Timing
char *
Specifies whether time values are expressed as frames or seconds.
Possible values are:

FRAMES | SECONDS

start
int | float
Start time (in either frames or seconds, depending on the value of the Timing flag) of the scene.
end
int | float
End time (in either frames or seconds, depending on the value of the Timing flag) of the scene.
frameRate
float
Frames per second.

Example

SI_Scene Scene { 
	"FRAMES", 
	1.000000, 
	100.000000, 
	29.970030, 
} 

SI_Shape

Specifies a shape: vertex positions, normals, colors, and (for version 3.5 and beyond) texture coordinates.

For versions 3.5 and later, TEX_COORD_UV# indicates that the shape contains a set of UVs. TEX_COORD_UV0, … TEX_COORD_UVn extends the SI_Shape template. The name of the UV domain follows the TEX_COORD_UV ID.

There are two possible layouts for the information:

Limitations

This template changed between version 3.0 and 3.5. Version 3.0 (and previous versions) does not support the texture UV coordinate information, but version 3.5 and beyond does.

Note  

For a mesh, the original shape definition is in the SI_Shape template named “SHP-<objectName>-ORG” that occurs outside of the SI_ShapeAnimation template. This is true only for meshes.

For a NURBS or patch surface, the original shape is defined by the SI_NurbsSurface or SI_PatchSurface.

XSI Version

v2.0/v3.0/v3.5/3.6

Template

// Ordered form used to define original shape 
SI_Shape SHP-<objectName>-ORG
{
	<nbShapeArrays>,
	<layout>,

	// Arrays for each element (vertex positions, 
	// normals, colors, texure UV coordinates) being 
	// described in the template. There are always at 
	// least two (one for positions and normals each)
	<nbElements>,
	<elements>,
	<value_array1>,
	...
	<value_array[nbElements]>,

}
// Indexed form used in SI_ShapeAnimation to specify 
shape animation 

SI_Shape SHP-<objectName>-<shapeIndex>
{
	<nbShapeArrays>,
	<layout>,

	// Arrays for each element (vertex positions, 
	// normals, colors, texure UV coordinates) being 
	// described in the template. There are always at 
	// least two (one for positions and normals each)
	<nbElements>,
	<elements>,
	<index1><value_array1>,
	...
	<index[nbElements]><value_array[nbElements]>,

} 

Members

Member
Type
Description
nbShapeArrays
int
Number of arrays in the template. There is one array for every kind of information.
For example, a simple cube without any texture projections or color indices contains 2 arrays: one for POSITION (the array of vertex positions) and one for NORMALS (the index of normals).
layout
char *
Specifies how the information is laid out in the template. Possible values are:
  • ORDERED = Defines an original shape.
  • INDEXED = Specifies shape animation in SI_ShapeAnimation.
nbElements
int
Number of this kind of element in the array. For example, there is one array of position values for each vertex in the template.
elements
char *
Specifies what kind of information appears in this section. Possible values are:
  • POSITION = Array of positions for vertices.
  • NORMAL = Array of normals information (see ni below).
  • COLOR = Template contains Color information (see ci below).
  • TEX_COORD_UV# = Template contains texture UV coordinates information (see uvi below). The number sign (#) represents the number of the texture UV coordinates starting at 0.
Note: The TEX_COORD_UV# element is only available in v3.5 and beyond.
If more than one of these is present, use a vertical bar to separate the strings (for example, "NORMAL|COLOR|TEX_COORD_UV0|TEX_COORD_UV1").
Note: Vertex positions are always present in a SI_PolygonList template (see vi below).
material
char *
Name of the material.
Note: This is only available in v3.5 and beyond.
index
int
Index (zero-based) of an element (position, normal, color, or uv coordinate) in the corresponding array of the original shape.
Note: This is used for indexed forms in shape animation templates only .
value_arrayi
array of ints
The structure of the array depends on what element was specified for this block of data:
  • For POSITION, value_arrayi takes the form: <posxi>,<posyi>,<poszi>.
  • For NORMAL, value_arrayi takes the form: <xi>,<yi>,<zi>.
  • For COLOR, value_arrayi takes the form: <ri>,<gi>,<bi>,<wi>.
  • For TEX_COORD_UV#, value_arrayi takes the form: <ui>,<vi>.
Note: The TEX_COORD_UV# element is only available in v3.5 and beyond.

Example

SI_Mesh MSH-superlow_scene.sphere37
	SI_Shape SHP-superlow_scene.sphere37-ORG {
		3,
		"ORDERED",
		3,
		"POSITION",
		0.164448,-8.263903,-0.94169,
		0.905932,-7.565758,0.607855,
		1.435514,-5.374897,1.758833,

		3,
		"NORMAL",
		0.138088,-0.923712,0.357335,
		0.350603,-0.761782,0.544762,
		0.533405,-0.203967,0.8209,

		3,
		"TEX_COORD_UV1",
		<texture space 1 name>
		1.0,0.0,
		-0.0,0.0,
		1.0,0.1,
		...

		3,
		"TEX_COORD_UVn",
		<texture space n name>
		1.0,0.0,
		-0.0,0.0,
		1.0,0.1, 
	}

	SI_TriangleList
	{
		1,
		"NORMAL|TEX_COORD_UV0|...|TEX_COORD_UV2",
		"superlow_scene.mat88",
		0,1,2,
	}
} 

SI_ShapeAnimation

Specifies shape animation, which is the animation of vertex positions, normals, colors, and texture coordinates.

Shape animation is stored as a series of shapes and an fcurve that assigns the shapes to times/frames.

XSI Version

v2.0/v3.0/v3.5/3.6

Template

SI_ShapeAnimation SHPANIM-<objectName>
{
  "LINEAR",
  <nbShapes>,
  SI_Shape SHP-<objectName>-0
  {
   // … 
  }

  // … 

  SI_Shape SHP-<objectName>-<nbShapes - 1>
  {
   // … 
  }

  SI_FCurve <objectName>-SHPANIM-1
  {
   // … 
  }
} 

Examples

SI_ShapeAnimation SHPANIM-cube { 

			"LINEAR", 
			20, 
			SI_Shape SHP-cube-0 { 
				2, 
				"INDEXED", 

				8, 
				"POSITION", 
				0.000000,-4.000000,-4.000000,-4.000000,
				1.000000,4.000000,-4.000000,-4.000000,
				2.000000,-4.000000,4.000000,-4.000000,
				3.000000,4.000000,4.000000,-4.000000,
				4.000000,-4.000000,-4.000000,4.000000,
				5.000000,4.000000,-4.000000,4.000000,
				6.000000,-4.000000,4.000000,4.000000,
				7.000000,4.000000,4.000000,4.000000,

				24, 
				"NORMAL", 
				0.000000,0.000000,0.000000,-1.000000,
				1.000000,0.000000,0.000000,-1.000000,
				2.000000,0.000000,0.000000,-1.000000,
				3.000000,0.000000,0.000000,-1.000000,
				4.000000,0.000000,-1.000000,0.000000,
				5.000000,0.000000,-1.000000,0.000000,
				6.000000,0.000000,-1.000000,0.000000,
				7.000000,0.000000,-1.000000,0.000000,
				8.000000,-1.000000,0.000000,0.000000,
				9.000000,-1.000000,0.000000,0.000000,
				10.000000,-1.000000,0.000000,0.000000,
				11.000000,-1.000000,0.000000,0.000000,
				12.000000,1.000000,0.000000,0.000000,
				13.000000,1.000000,0.000000,0.000000,
				14.000000,1.000000,0.000000,0.000000,
				15.000000,1.000000,0.000000,0.000000,
				16.000000,0.000000,1.000000,0.000000,
				17.000000,0.000000,1.000000,0.000000,
				18.000000,0.000000,1.000000,0.000000,
				19.000000,0.000000,1.000000,0.000000,
				20.000000,0.000000,0.000000,1.000000,
				21.000000,0.000000,0.000000,1.000000,
				22.000000,0.000000,0.000000,1.000000,
				23.000000,0.000000,0.000000,1.000000,

			}

			SI_Shape SHP-cube-1 { 
				2, 
				"INDEXED", 

				8, 
				"POSITION", 
				0.000000,-4.000000,-4.000000,-4.000000,
				1.000000,4.000000,-4.000000,-4.000000,
				2.000000,-4.000000,4.000000,-4.000000,
				3.000000,4.000000,4.000000,-4.000000,
				4.000000,-4.000000,-4.000000,4.000000,
				5.000000,4.000000,-4.000000,4.000000,
				6.000000,-3.863324,3.862999,3.999535,
				7.000000,4.000000,4.000000,4.000000,

				24, 
				"NORMAL", 
				0.000000,0.000000,0.000000,-1.000000,
				1.000000,0.000000,0.000000,-1.000000,
				2.000000,0.000000,0.000000,-1.000000,
				3.000000,0.000000,0.000000,-1.000000,
				4.000000,0.000000,-1.000000,0.000000,
				5.000000,0.000000,-1.000000,0.000000,
				6.000000,0.000000,-1.000000,0.000000,
				7.000000,0.000000,-1.000000,0.000000,
				8.000000,-0.999926,0.008616,0.008616,
				9.000000,-0.999926,0.008616,0.008616,
				10.000000,-0.999926,0.008616,0.008616,
				11.000000,-0.999926,0.008616,0.008616,
				12.000000,1.000000,0.000000,0.000000,
				13.000000,1.000000,0.000000,0.000000,
				14.000000,1.000000,0.000000,0.000000,
				15.000000,1.000000,0.000000,0.000000,
				16.000000,-0.008636,0.999925,0.008636,
				17.000000,-0.008636,0.999925,0.008636,
				18.000000,-0.008636,0.999925,0.008636,
				19.000000,-0.008636,0.999925,0.008636,
				20.000000,-0.000030,0.000030,1.000000,
				21.000000,-0.000030,0.000030,1.000000,
				22.000000,-0.000030,0.000030,1.000000,
				23.000000,-0.000030,0.000030,1.000000,

			}

			SI_Shape SHP-cube-2 { 
				2, 
				"INDEXED", 

				8, 
				"POSITION", 
				0.000000,-4.000000,-4.000000,-4.000000,
				1.000000,4.000000,-4.000000,-4.000000,
				2.000000,-4.000000,4.000000,-4.000000,
				3.000000,4.000000,4.000000,-4.000000,
				4.000000,-4.000000,-4.000000,4.000000,
				5.000000,4.000000,-4.000000,4.000000,
				6.000000,-3.497031,3.495836,3.998289,
				7.000000,4.000000,4.000000,4.000000,

				24, 
				"NORMAL", 
				0.000000,0.000000,0.000000,-1.000000,
				1.000000,0.000000,0.000000,-1.000000,
				2.000000,0.000000,0.000000,-1.000000,
				3.000000,0.000000,0.000000,-1.000000,
				4.000000,0.000000,-1.000000,0.000000,
				5.000000,0.000000,-1.000000,0.000000,
				6.000000,0.000000,-1.000000,0.000000,
				7.000000,0.000000,-1.000000,0.000000,
				8.000000,-0.998948,0.032428,0.032428,
				9.000000,-0.998948,0.032428,0.032428,
				10.000000,-0.998948,0.032428,0.032428,
				11.000000,-0.998948,0.032428,0.032428,
				12.000000,1.000000,0.000000,0.000000,
				13.000000,1.000000,0.000000,0.000000,
				14.000000,1.000000,0.000000,0.000000,
				15.000000,1.000000,0.000000,0.000000,
				16.000000,-0.032502,0.998943,0.032502,
				17.000000,-0.032502,0.998943,0.032502,
				18.000000,-0.032502,0.998943,0.032502,
				19.000000,-0.032502,0.998943,0.032502,
				20.000000,-0.000114,0.000114,1.000000,
				21.000000,-0.000114,0.000114,1.000000,
				22.000000,-0.000114,0.000114,1.000000,
				23.000000,-0.000114,0.000114,1.000000,

			}
 

SI_SubelementUserDataPolygon_<userDataTag>

Stores polygon user data.

Limitations

SOFTIMAGE|XSI does not export this template. If a dotXSI file contains this template, SOFTIMAGE|XSI ignores it. See XSI_UserData for the corresponding SOFTIMAGE|XSI template.

XSI Version

v1.3/v2.0/v3.0/v3.5/3.6

Template

SI_SubelementUserDataPolygon_<userDataTag> {
	<nbSubelements>,

// Polygon indices 
	<polygonIndex>
	...		// more polygon indices 

// user data 
	<format>,		// 0=decimal dump, 1=formatted dump
	<endian>,		// 0=big, 1=little 

	// decimal dump 
	<length>,		// User data length 
	<byte1>, <byte2>, <byte3>, <byte4>,
	<byte5>, <byte6>, <byte7>, <byte8>,
	...
	...,<byteN>,

	// formatted dump 
	<float>,
	<int>,
	<boolean>,
	<short>,
	<byte>,
	<string>,
	<arraySize>,
	<element1>,
	...
	<elementN>,
} 

See Special Issues with Conversion between XSI and 3D for more information on importing and exporting formatted user data.

SI_SubelementUserDataVertex_<userDataTag>

Stores vertex user data.

Limitations

SOFTIMAGE|XSI does not export this template. If a dotXSI file contains this template, SOFTIMAGE|XSI ignores it. See XSI_UserData for the corresponding SOFTIMAGE|XSI template.

XSI Version

v1.3/v2.0/v3.0/v3.5//3.6

Template

SI_SubelementUserDataVertex_<userDataTag> {
	<nbSubelements>,

// Vertex indices 
	<vertexIndex>
	...		// more vertex indices 

// user data 
	<format>,		// 0=decimal dump, 1=formatted dump
	<endian>,		// 0=big, 1=little 

	// decimal dump 
	<length>,		// User data length 
	<byte1>, <byte2>, <byte3>, <byte4>,
	<byte5>, <byte6>, <byte7>, <byte8>,
	...
	...,<byteN>,

	// formatted dump 
	<float>,
	<int>,
	<boolean>,
	<short>,
	<byte>,
	<string>,
	<arraySize>,
	<element1>,
	...
	<elementN>,
} 

See Special Issues with Conversion between XSI and 3D for more information on importing and exporting formatted user data.

SI_Texture2D

Defines a 2D texture.

Limitations

For regular Material, SOFTIMAGE|XSI only imports and exports the first four parameters of this template for native XSI textures: the image’s name, mapping type, width, and height.

For SoftMaterial, SOFTIMAGE|XSI imports and exports all information.

XSI Version

v1.3/v2.0/v3.0/v3.5/3.6

Members

Member name
Type
Description
imageName
STRING
Name of the image file.
mappingType
int
Type of mapping used to associate texture image to the geometry.
0 = XY projection
1 = XZ projection
2 = YZ projection
3 = UV map (unwrapped)
4 = UV map (wrapped)
5 = Cylindrical projection
6 = Spherical projection
7 = Reflection map
width
int
Number of horizontal pixels in image.
height
int
Number of vertical pixels in image.
cropUMin
int
Start of the cropping region in U.
cropUMax
int
End of the cropping region in U.
cropVMin
int
Start of the cropping region in V.
cropVMax
int
End of the cropping region in V.
UVSwap
Boolean
Indicates if the U and V orientations are swapped.
When FALSE, U goes from 0.0 (left) to 1.0 (right) and V goes from 0.0 (bottom) to 1.0 (top).
When TRUE, U goes from 0.0 (top) to 1.0 (bottom) and V goes from 0.0 (right) to 1.0 (left).
URepeat
int
Number of horizontal repetitions of the image.
VRepeat
int
Number of vertical repetitions of the image.
UAlternate
VAlternate
Boolean
Boolean
Specifies whether to mirror the texture horizontally (U) and vertically (V). Corresponds to the Tiling options in SOFTIMAGE|3D.
0;0;
1;0;
0;1;
1;1;
UScale
float
Scaling of image in U.
VScale
float
Scaling of image in V.
UOffset
float
Offset of image in U.
VOffset
float
Offset of image in V.
projectionMatrix
Matrix4x4
Texture projection matrix.
To compute the UV texture coordinates, you need to transform the geometry using the inverse of the texture projection matrix. This generates vertex positions in the the projection coordinate system. Then you compute the actual projection of the geometry into the UV domain defined by the projection method.
blendingType
int
Type of blending between texture and material attributes:
1 = Alpha Mask
2 = Intensity Mask
3 = No Mask
4 = RGB Modulation
blending
float
Normalized contribution of texture attributes (ambient, diffuse, specular, transparency, reflectivity).
Note: When blendingType is No Mask, this value corresponds to the Overall Blending parameter in the 2D Texture dialog box. Otherwise, this value is multiplied with either the alpha channel or the RGB intensity of the image pixels.
ambient
float
Normalized contribution of texture pixel colors to the material ambient color.
The weight used to normalize the contribution is a scalar and is multiplied by the average intensity of the global ambience.
Note: When this value is 0.0, SOFTIMAGE|3D uses the material ambient value. Otherwise, the texture ambient value is multiplied with the atmosphere ambience, and then blended with the material ambient color according to the blending value.
diffuse
float
Normalized contribution of texture pixel colors to the material diffuse color.
Note: If this value is 0.0, then SOFTIMAGE|3D uses the material diffuse value. Otherwise, it blends the texture diffuse value with the material diffuse color according to the blending value.
specular
float
Normalized contribution of texture pixel colors to the material specular color.
Note: If this value is 0.0, then SOFTIMAGE|3D uses the material specular value. Otherwise, it blends the texture specular value with the material specular color according to the blending value.
transparency
float
Normalized contribution of texture pixel colors to the material transparency level.
Note: If this value is 0.0, then SOFTIMAGE|3D uses the material transparency value. Otherwise, it blends the texture transparency value with the material transparency color according to the blending value.
reflectivity
float
Normalized contribution of texture pixel colors to the material reflectivity level.
Note: If this value is 0.0, then SOFTIMAGE|3D uses the material reflectivity value. Otherwise, it blends the texture reflectivity value with the material reflectivity color according to the blending value.
roughness
float
Bump mapping intensity and/or displacement of geometry along surface normals.
For bump mapping, mappingType determines the axis frame or bump basis vectors, which displaces the normals (according to the differences in values between neighboring pixels along the U and V axes).

Nested Templates

Texture user data.
Note: This is only available in SOFTIMAGE|3D.

Example

See also the example for SI_Material.

SI_Material {
	0.700000;0.700000;0.700000;1.000000;;
	50.000000;
	1.000000;1.000000;1.000000;;
	0.000000;0.000000;0.000000;;
	2;
	0.500000;0.500000;0.500000;;

	SI_Texture2D {
		"CITY-london.pic";	// imageName 
		0;			// mappingType 
		512;432;			// width, height 
		0;511;0;431;		// cropUMin, cropUMax, cropVMin, 
cropVMax 
		0;				// UVSwap 
		1;1;			// URepeat, VRepeat 
		0;0;			// UAlternate, VAlternate 
		1.000000;1.000000;	// UScale, VScale 
		0.000000;0.000000;	// UOffset, VOffset

		1.000000,0.000000,0.000000,0.000000,		// 
projectionMatrix 
		0.000000,1.000000,0.000000,0.000000,
		0.000000,0.000000,1.000000,0.000000,
		0.000000,0.000000,0.000000,1.000000;;

		3;				// blendingType 
		1.000000;		// blending 
		0.750000;		// ambient 
		1.000000;		// diffuse 
		0.000000;		// specular 
		0.000000;		// transparency 
		0.000000;		// reflectivity 
		0.000000;		// roughness 
	}
} 

SI_Transform

Specifies an SRT transformation as three vectors.

Provides a default (or base) transform for an object.

SI_Transform can be used in place of the FrameTransformMatrix (for example, to avoid having to extract the vectors from a transformation matrix).

SOFTIMAGE|3D outputs a SI_Transform template when the Transforms option is set to SRT Values. Otherwise, a FrameTransformMatrix template is exported.

XSI Version

v2.0/v3.0/v3.5/3.6

Template

SI_Transform <SRT | BASEPOSE>-<objectName>
{
  <scalX>,<scalY>,<scalZ>,
  <rotX>,<rotY>,<rotZ>,
  <transX>,<transY>,<transZ>,
} 

Members

Member
Type
Description
scalX, scalY, scalZ
float
Scaling vector.
rotX, rotY, rotZ
float
Rotation vector.
transX, transY, transZ
float
Translation vector.

Example

Transforms for a simple sphere:

SI_Model MDL-sphere1 {
  SI_Transform SRT-sphere1
  {
   1.0,1.0,1.0,
   0.0,0.0,0.0,
   -8.003719,0.0,0.0,
  }
  …
} 

Transforms for a chain:

SI_Model MDL-chn95 {
  SI_Transform SRT-chn95
  {
   1.0,0.998,1.0,
   0.0,0.0,0.0,
   -0.028358,4.070922,0.0,
  }

  SI_Transform BASEPOSE-chn95
  {
   1.0,0.998,1.0,
   0.0,0.0,0.0,
   -0.028358,4.070922,0.0,
  }
  …
} 

SI_TriangleList

Specifies the positions, normals, colors, and uv coordinates for triangle vertices by indexing into the SI_Shape template that defines the mesh.

XSI Versions

v2.0/v3.0/v3.5/3.6

Template

Version 3.0 and before

SI_TriangleList
{
	<nbTriangles>,
	<elements>

	// indices of triangle vertex positions 
	<v0>, <v1>, <v2>,	 // triangle 0 
	...						// triangles 1, 2, ... 

	// indices of triangle vertex normals 
	<n0>, <n1>, <n2>,	 		// triangle 0
	...						// triangles 1, 2, ... 

	// indices of triangle vertex colors 
	<c0>, <c1>, <c2>,	 		// triangle 0
	...						// triangles 1, 2, ... 

} 

Version 3.5 and beyond

SI_TriangleList
{
	<nbTriangles>,
	<elements>
	<material>

	// indices of triangle vertex positions 
	<v0>, <v1>, <v2>,	 // triangle 0 
	...						// triangles 1, 2, ... 

	// indices of triangle vertex normals 
	<n0>, <n1>, <n2>,	 		// triangle 0
	...						// triangles 1, 2, ... 

	// indices of triangle vertex colors 
	<c0>, <c1>, <c2>,	 		// triangle 0
	...						// triangles 1, 2, ... 

	// triangle vertex uv coords 
	<uv0>, <uv1>, <uv2>,	 		// triangle 0
	...							// triangles 1, 2, ... 

} 

Members

Member
Type
Description
nbTriangles
int
Number of triangles in the tessellation.
elements
char *
Specifies what information is stored in the template. Can be one or more of the following:
  • NORMAL = Template contains Normals information (see ni below).
  • COLOR = Template contains Color information (see ci below).
  • TEX_COORD_UV# = Template contains texture UV coordinates information (see uvi below). The number sign (#) represents the number of the texture UV coordinates starting at 0.
Note: The TEX_COORD_UV# element is only available in v3.5 and beyond.
If more than one of these is present, use a vertical bar to separate the strings (for example, "NORMAL|COLOR|TEX_COORD_UV0|TEX_COORD_UV1").
Note: Vertex positions are always present in a SI_TriangleList template (see vi below).
material
char *
Name of the material.
Note: This is only available in v3.5 and beyond.
vi
int
Index of a vertex position in the POSITIONS section of the SI_TriangleList template for the mesh.
ni
int
Index of a normal in the NORMAL section of the SI_TriangleList template for the mesh.
ci
int
Index of a color in the COLOR section of the SI_TriangleList template for the mesh.
uvi
int
Index of a UV coordinate in the TEX_COORD_UV section of the SI_TriangleList template for the mesh.
Note: The uvi element is only available in v3.5 and beyond.

Example (SOFTIMAGE|XSI Output v3.5)

SI_MaterialLibrary MATLIB-myCube
{
  1,
  SI_Material MAT_SURFACE-TERRACOTTA001.1-1
  {
   0.75,0.55,0.333,1.0,
   250.0,
   1.0,1.0,1.0,
   0.0,0.0,0.0,
   5,
   1.0,0.733,0.444,

   SI_Texture2D {
     "noIcon.pic";
     4;
     50;75;
     0;49;0;74;
     0;
     1;1;
     0;0;
     1.000000;1.000000;
     0.000000;0.000000;
     1.000000,0.000000,0.000000,0.000000,
     0.000000,1.000000,0.000000,0.000000,
     0.000000,0.000000,1.000000,0.000000,
     0.000000,0.000000,0.000000,1.000000;;
     3;
     0.000000;
     0.000000;
     0.000000;
     0.000000;
     0.000000;
     0.000000;
     4.014000;
   }
  }
}


SI_Model MDL-cube2 {
  SI_Transform SRT-cube2
  {
   1.0,1.0,1.0,
   0.0,0.0,0.0,
   0.0,0.0,0.0,
  }

  SI_Mesh MSH-cube2
  {
   SI_Shape SHP-cube2-ORG
   {
     4,
     "ORDERED",
     8,
     "POSITION",
     -0.5,-0.5,-0.5,
     -0.5,-0.5,0.5,
     -0.5,0.5,-0.5,
     -0.5,0.5,0.5,
     0.623872,-0.5,1.375891,
     0.5,-0.5,0.5,
     0.5,0.5,-0.5,
     0.5,0.5,0.5,

     15,
     "NORMAL",
     -1.0,0.0,0.0,
     0.313313,-0.880909,-0.354731,
     0.313313,-0.880909,-0.354731,
     0.0,0.0,1.0,
     0.0,-1.0,0.0,
     0.552001,-0.552001,-0.624972,
     0.0,1.0,0.0,
     0.578086,0.576982,0.576982,
     0.32551,0.324888,0.88797,
     0.32551,0.324888,0.88797,
     0.32551,0.88797,0.324888,
     0.32551,0.88797,0.324888,
     0.250917,0.684485,0.684485,
     0.250917,0.684485,0.684485,
     0.250917,0.684485,0.684485,

     4,
     "COLOR",
     0.74902,0.54902,0.329412,1.0,
     0.058824,0.937255,0.894118,1.0,
     0.184314,0.337255,0.811765,1.0,
     0.984314,0.0,0.419608,1.0,

     4,
     "TEX_COORD_UV",
     0.0,0.0,
     0.0,4.0,
     3.0,0.0,
     3.0,4.0,

   }

   SI_TriangleList
   {
     12,
     "NORMAL|COLOR|TEX_COORD_UV",
     "MAT_SURFACE-TERRACOTTA001.1-1",
     0,1,3,
     0,3,2,
     1,5,7,
     1,7,3,
     7,5,4,
     7,4,6,
     4,0,2,
     4,2,6,
     0,4,5,
     0,5,1,
     2,3,7,
     2,7,6,

     0,0,0,
     0,0,0,
     3,8,12,
     3,12,3,
     13,9,7,
     13,7,10,
     1,1,5,
     1,5,5,
     2,2,4,
     2,4,4,
     6,6,14,
     6,14,11,

     0,0,0,
     0,0,0,
     1,0,3,
     1,3,2,
     0,0,0,
     0,0,0,
     0,0,0,
     0,0,0,
     0,0,0,
     0,0,0,
     0,0,0,
     0,0,0,

     0,0,1,
     0,1,1,
     0,2,3,
     0,3,1,
     3,2,2,
     3,2,3,
     2,0,1,
     2,1,3,
     0,2,2,
     0,2,0,
     1,1,3,
     1,3,3,
   }

} 

SI_TriStrip

Specifies the positions, normals, colors, and uv coordinates for the vertices in a triangle strip by indexing into the SI_Shape template that defines the mesh.

SI_TriStrip templates are nested in an SI_TriStripList template.

Limitations

This template is not supported in SOFTIMAGE|XSI. The template is ignored.

XSI Versions

v2.0/v3.0/v3.5/3.6

Template

SI_TriStrip

{
  <nbVertices>,
  // position indices 
  <v0>, <v1>, <v2>,
  <v3>,
  ...

  // normal indices 
  <n0>, <n1>, <n2>,
  <n3>,
  ...

  // color indices 
  <c0>, <c1>, <c2>,
  <c3>,
  ...

  // uv coordinate indices 
  <uv0>, <uv1>, <uv2>,
  <uv3>,
  ...
} 

Members

Member
Type
Description
nbVertices
int
Number of vertices in the triangle strip.
pi
int
Index of a vertex position in the POSITIONS section of the SI_Shape template for the mesh.
ni
int
Index of a normal in the NORMAL section of the SI_Shape template for the mesh.
ci
int
Index of a color in the COLOR section of the SI_Shape template for the mesh.
uvi
int
Index of a UV coordinate in the TEX_COORD_UV section of the SI_Shape template for the mesh.

Example

See the examples for SI_TriStripList.

SI_TriStripList

Specifies a list of triangle strips.

Limitations

This template is not supported in SOFTIMAGE|XSI. The template is ignored.

XSI Versions

v2.0/v3.0/v3.5/3.6

Template

SI_TriStripList

{
	<nbTriStrips>,
	<elements>,
	<material>,
	SI_TriStrip
	{
		...
	}
	...  // more SI_TriStrip templates...
} 


Members

Member
Type
Description
nbTriStrips
int
Number of triangle strips.
elements
char *
Specifies what information is stored in the template. Can be one or more of the following:
  • NORMAL = Template contains Normals information.
  • COLOR = Template contains Color information.
  • TEX_COORD_UV# = Template contains texture UV coordinates information. The number sign (#) represents the number of the texture UV coordinates starting at 0.
Note: The TEX_COORD_UV# element is only available in v3.5 and beyond.
If more than one of these is present, use a vertical bar to separate the strings (for example, "NORMAL|COLOR|TEX_COORD_UV|TEX_COORD_UV1").
Note: Vertex positions are always present in a SI_TriStrip template.
<material>
char *
Name of the material.
Note: This is only available in v3.5 and beyond.

Example

SI_Model MDL-sphere5 {

  SI_Transform SRT-sphere5
  {
   1.0,1.0,1.0,
   0.0,0.0,0.0,
   -4.837322,0.0,0.0,
  }

  SI_Mesh MSH-sphere5
  {
   SI_Shape SHP-sphere5-ORG
   {
     3,
     "ORDERED",
     58,
     "POSITION",
     0.0,-1.0,0.0,
     0.0,1.0,0.0,
     0.382683,-0.92388,0.0,
     0.707107,-0.707107,0.0,
     0.92388,-0.382683,0.0,
     1.0,0.0,0.0,
     0.92388,0.382683,0.0,
     0.707107,0.707107,0.0,
     0.382683,0.92388,0.0,
     0.270598,-0.92388,-0.270598,
     0.5,-0.707107,-0.5,
     0.653282,-0.382683,-0.653282,
     0.707107,0.0,-0.707107,
     0.653281,0.382683,-0.653281,
     0.5,0.707107,-0.5,
     0.270598,0.92388,-0.270598,
     0.0,-0.92388,-0.382683,
     0.0,-0.707107,-0.707107,
     0.0,-0.382683,-0.92388,
     0.0,0.0,-1.0,
     0.0,0.382683,-0.923879,
     0.0,0.707107,-0.707107,
     0.0,0.92388,-0.382683,
     -0.270598,-0.92388,-0.270598,
     -0.5,-0.707107,-0.5,
     -0.653282,-0.382683,-0.653282,
     -0.707107,0.0,-0.707107,
     -0.653281,0.382683,-0.653281,
     -0.5,0.707107,-0.5,
     -0.270598,0.92388,-0.270598,
     -0.382683,-0.92388,0.0,
     -0.707107,-0.707107,0.0,
     -0.92388,-0.382683,0.0,
     -1.0,0.0,0.0,
     -0.923879,0.382683,0.0,
     -0.707107,0.707107,0.0,
     -0.382683,0.92388,0.0,
     -0.270598,-0.92388,0.270598,
     -0.5,-0.707107,0.5,
     -0.653282,-0.382683,0.653282,
     -0.707107,0.0,0.707107,
     -0.653281,0.382683,0.653281,
     -0.5,0.707107,0.5,
     -0.270598,0.92388,0.270598,
     0.0,-0.92388,0.382683,
     0.0,-0.707107,0.707107,
     0.0,-0.382683,0.92388,
     0.0,0.0,1.0,
     0.0,0.382683,0.923879,
     0.0,0.707107,0.707107,
     0.0,0.92388,0.382683,
     0.270598,-0.92388,0.270598,
     0.5,-0.707107,0.5,
     0.653282,-0.382683,0.653282,
     0.707107,0.0,0.707107,
     0.653281,0.382683,0.653281,
     0.5,0.707107,0.5,
     0.270598,0.92388,0.270598,

     58,
     "NORMAL",
     0.0,-1.0,0.0,
     -0.0,1.0,0.0,
     0.380611,-0.924735,0.0,
     0.704977,-0.70923,0.0,
     0.923104,-0.384551,0.0,
     1.0,0.0,0.0,
     0.923104,0.384551,0.0,
     0.704977,0.70923,0.0,
     0.380611,0.924735,0.0,
     0.269133,-0.924735,-0.269133,
     0.498494,-0.70923,-0.498494,
     0.652733,-0.384551,-0.652733,
     0.707107,0.0,-0.707107,
     0.652733,0.384551,-0.652733,
     0.498494,0.70923,-0.498494,
     0.269132,0.924735,-0.269132,
     -0.0,-0.924735,-0.380611,
     -0.0,-0.70923,-0.704977,
     -0.0,-0.384551,-0.923104,
     -0.0,0.0,-1.0,
     -0.0,0.384551,-0.923104,
     -0.0,0.70923,-0.704977,
     -0.0,0.924735,-0.380611,
     -0.269133,-0.924735,-0.269133,
     -0.498494,-0.70923,-0.498494,
     -0.652733,-0.384551,-0.652733,
     -0.707107,0.0,-0.707107,
     -0.652733,0.384551,-0.652733,
     -0.498494,0.70923,-0.498494,
     -0.269132,0.924735,-0.269132,
     -0.380611,-0.924735,0.0,
     -0.704977,-0.70923,0.0,
     -0.923104,-0.384551,0.0,
     -1.0,0.0,0.0,
     -0.923104,0.384551,0.0,
     -0.704977,0.70923,0.0,
     -0.380611,0.924735,0.0,
     -0.269133,-0.924735,0.269133,
     -0.498494,-0.70923,0.498494,
     -0.652733,-0.384551,0.652733,
     -0.707107,0.0,0.707107,
     -0.652733,0.384551,0.652733,
     -0.498494,0.70923,0.498494,
     -0.269132,0.924735,0.269132,
     0.0,-0.924735,0.380611,
     0.0,-0.70923,0.704977,
     0.0,-0.384551,0.923104,
     0.0,0.0,1.0,
     0.0,0.384551,0.923104,
     0.0,0.70923,0.704977,
     0.0,0.924735,0.380611,
     0.269133,-0.924735,0.269133,
     0.498494,-0.70923,0.498494,
     0.652733,-0.384551,0.652733,
     0.707107,0.0,0.707107,
     0.652733,0.384551,0.652733,
     0.498494,0.70923,0.498494,
     0.269132,0.924735,0.269132,

     37,
     "TEX_COORD_UV",
     1.0,0.0,
     1.0,2.0,
     1.382683,0.07612,
     1.707107,0.292893,
     1.92388,0.617317,
     2.0,1.0,
     1.92388,1.382684,
     1.707107,1.707107,
     1.382683,1.92388,
     1.270598,0.07612,
     1.5,0.292893,
     1.653281,0.617317,
     1.707107,1.0,
     1.653281,1.382684,
     1.5,1.707107,
     1.270598,1.92388,
     1.0,0.07612,
     1.0,0.292893,
     1.0,0.617317,
     1.0,1.0,
     1.0,1.382684,
     1.0,1.707107,
     1.0,1.92388,
     0.729402,0.07612,
     0.5,0.292893,
     0.346718,0.617317,
     0.292893,1.0,
     0.346719,1.382684,
     0.5,1.707107,
     0.729402,1.92388,
     0.617316,0.07612,
     0.292893,0.292893,
     0.07612,0.617317,
     0.0,1.0,
     0.076121,1.382684,
     0.292893,1.707107,
     0.617317,1.92388,

   }

   SI_TriStripList
   {
     15,
     "NORMAL|TEX_COORD_UV",
     "GLASS-blue_glass.1-1",
     SI_TriStrip
     {
      31,
      9,2,0,
      51,
      44,
      52,
      45,
      53,
      46,
      54,
      47,
      55,
      48,
      56,
      49,
      57,
      50,
      1,
      43,
      36,
      35,
      28,
      27,
      20,
      19,
      12,
      11,
      4,
      3,
      52,
      51,

      9,2,0,
      51,
      44,
      52,
      45,
      53,
      46,
      54,
      47,
      55,
      48,
      56,
      49,
      57,
      50,
      1,
      43,
      36,
      35,
      28,
      27,
      20,
      19,
      12,
      11,
      4,
      3,
      52,
      51,

      9,2,0,
      9,
      16,
      10,
      17,
      11,
      18,
      12,
      19,
      13,
      20,
      14,
      21,
      15,
      22,
      1,
      29,
      36,
      35,
      28,
      27,
      20,
      19,
      12,
      11,
      4,
      3,
      10,
      9,
     }

     SI_TriStrip
     {
      8,
      8,15,1,
      22,
      29,
      21,
      28,
      20,

      8,15,1,
      22,
      29,
      21,
      28,
      20,

      8,15,1,
      22,
      29,
      21,
      28,
      20,
     }

		...

		SI_TriStrip
     {
      11,
      52,4,53,
      5,
      54,
      6,
      55,
      7,
      56,
      8,
      57,

      52,4,53,
      5,
      54,
      6,
      55,
      7,
      56,
      8,
      57,

      10,4,11,
      5,
      12,
      6,
      13,
      7,
      14,
      8,
      15,
     }

   }
} 

SI_UserDataFormat

Specifies formatting information for user data. For more information, see Special Issues with Conversion between XSI and 3D.

Limitations

SOFTIMAGE|XSI does not export this template. If an XSI file contains this template, SOFTIMAGE|XSI ignores it. See XSI_UserData for the corresponding SOFTIMAGE|XSI template.

XSI Version

2.0/v3.0/v3.5/3.6

Template

SI_UserDataFormat <userDataTagName>
{
	<nbFields>;
	"<fieldName>","<fieldType>";
	...			// more field names/types...
} 

SI_Visibility

Stores branch and node visibility fcurves. This template does not store light and camera visibility.

XSI Version

v3.0/v3.5/3.6

Limitations

In SOFTIMAGE|XSI only node information is stored.

Template

SI_Visibility
{
	<visibility>
} 

Members

Member name
Description
visibility
Determines whether visible or not. Possible values are:
  • 0 = Not visible.
  • 1 = Visible.

Example

SI_Model MDL-sphere1 
{ 
	....

	SI_Visibility
	{
		1, // boolean: 0 = not visible / 1 = visible 

		SI_FCurve sphere1-NODEVIS // optional fcurve 
		// must be inside the SI_Visibility template 
		// the node visibility fcurve gives the 
		// visibility through time of the single 
		// element. the node vis fcurve info supersede 
		// any branch visibility fcruve for the elem to 
		// which it is applied. 
		{
			"sphere1",
			"NODEVIS",
			"CONSTANT",
			1,1,
			1,
			1,1.0,
		} 

		SI_FCurve sphere1-BRANCHVIS // optional fcurve 
		// must be inside the SI_Visibility template 
		// the branch visibility fcurve gives the 
		// visibility of a branch (the elem + all its 
		// children)
		{
			"sphere1",
			"BRANCHVIS",
			"CONSTANT",
			1,1,
			1,
			1,1.0,
		} 
	}
} 

XSI_Action

Stores source action parameters.

Limitations

SOFTIMAGE|3D does not export this template. If an XSI file contains this template, SOFTIMAGE|3D ignores it.

XSI Version

v3.0/v3.5/3.6

Template

XSI_Action <action name>
{
	<start>,
	<end>,
	<type>,
	.... // fcurves, shape animation or static values 
} 

Members

Member name
Description
start
Start time
end
End time
type
0 = FCurve action source
1 = Static value action source
2 = Expression source
3 = ClusterKey source
4 = Constraint source
5 = Compound action item source
6 = Shape compound action item source
7 = no flagged source

Example

See the example in XSI_Mixer.

XSI_ActionClip

Stores an action clip.

Limitations

SOFTIMAGE|3D does not export this template. If a dotXSI file contains this template, SOFTIMAGE|3D ignores it.

XSI Version

v3.0/v3.5/3.6

Template

XSI_Actionclip <action clip name>
{
	<start>,
	<duration>,
	<instanced_ref>,
	<active>,
	<weight>,
	<fill_action>,
	<fill_priority>,
	.... // Time control template goes in here
} 

Members

Member name
Description
start
Start time of the clip.
duration
Length of the clip.
instance_ref
Reference to the instanced action source.
active
Determines whether or not the clip contributes to the animation. Possible values are:
  • True = The clip contributes to the animation.
  • False = The clip does not contribute to the animation.
weight
Specifies the relative weight of the action clip when it is mixed with other clips that affect the same parameters or clusters at the same frames.
fill_action
Fill actions determine parameter values only when there is no non-fill action driving particular parameters. They can be used to set parameters to reference values between action clips. Fill actions are not mixed with other clips. Possible values are:
  • True = The clip is a fill action.
  • False = The clip is not a fill action.
fill_priority
Specifies the priority of the fill action. If two fill actions drive the same parameter at a given frame, the one with the higher priority is used.

Example

See the example in XSI_Mixer.

XSI_ClusterInfo

Stores the cluster’s type.

XSI Version

3.6

Limitations

This template is not available for SOFTIMAGE|3D.

Template

XSI_ClusterInfo <name> {
	<type>, 
} 

Members

Member name
Description
type
Possible values are:
“VERTEX”
“POLY”
“EDGE”
“SUBSURFACE”

Example

SI_Cluster cluster_with_center { 
		"ball", 
		"AVERAGE", 
		"ClusterCenter", 
		9, 
		27,
		28,
		29,
		34,
		35,
		36,
		41,
		42,
		43,
		XSI_ClusterInfo { 
			"VERTEX"
		} 

XSI_CurveList

Stores a list of NURBS curves.

XSI Version

v3.0/v3.5/3.6

Template

XSI_CurveList
{
	SI_NurbsCurve{
		...
	}
	... // one or more SI_NurbsCurve templates
} 

XSI_CustomPSet

Stores custom parameters assigned to SOFTIMAGE|XSI objects.

XSI Version

v3.0/v3.5/3.6

Template

XSI_CustomPSet <custom pset name>
{
	<propagation flag>
	<number of fields>,
	<field_name>, <field_type>, <field_value>, 
	...
	// field information (0 or more)
} 

Members

Member name
Description
propagation
Specifies whether the property is either just for the object it is on only or for the object it is on plus all its children--this status is displayed in XSI’s Explorer. If a custom parameter is on a group, it will be exported as BRANCH, since dotXSI does not export groups). Possible values are:
  • BRANCH = material is shared throughout the branch (ie., object and all its nodes)
  • NODE = material is applied only to the object’s node
  • INHERITED = material has been inherited from a parent object
field_count
Number of fields.
field_name
Field name.
field_type
Field type. Possible values are:
  • Text
  • Boolean
  • Integer
  • Small integer number
  • Floating point number
Note: For more information on how dotXSI handles variant data type conversion, see How Does dotXSI Deal with Variant Types?.
field_value
Value for the parameter. Possible values differ according to the field_type used.

Example

XSI_CustomPSet cube.altitude { 

		"NODE", 
		1,
		"posY","Floating Point Number",3.125000, 
		SI_FCurve { 
			"cube.altitude", 
			"posY", 
			"CUBIC", 
			1, 
			5, 
			3, 
			1.000000,-
10.000000,0.000000,0.000000,13.000000,0.000000,
			40.000000,10.000000,-13.000000,-
2.159810,13.333333,2.215190,
			80.000000,3.125000,-
13.333333,0.000000,0.000000,0.000000,
		}
 

When this template is imported into or exported from SOFTIMAGE|3D, it is converted to user data with the XSI_CustomPSet tag. Here is the format of the SOFTIMAGE|XSI user data. Note that this user data will not have the same import or export behavior as the regular user data mechanism.

Field
Decription
int
Size of the user data.
char[] (Null terminated)
Name of the custom PSet.
int
Number of parameters.
[parameters]
Parameters
Field for each of the parameter
Description

XSI_CustomParamInfo

Supplements the XSI_CustomPSet template with additional information.

Note  

This template is not available in SOFTIMAGE|3D.

Version

3.6

Template

XSI_CustomParamInfo <name> {
	<min>,
	<max>,
	<capabilities>
} 

Members

Member name
Description
min
Minimum value
Note: For string parameters, this value must be set to empty string (““).
max
Maximum value
For string parameters, this value must be set to empty string (““).
capabilities
Bit flags corresponding to the capabilities of the parameter. Same as “siCapabilities” in the object model.
Flag values can be cumulative. You can combine them with bitwise “OR”.
Possible values are:
1 = Animatable
2 = Read only
4 = Persistable
8 = Not inspectable
16 = Silent
128 = Not Pset inspectable
256 = Texturable

Example

XSI_CustomPSet cube.My_customPset { 
		"NODE", 
		4,
		"Param","Text","TEXT", 
		"myparam1","Boolean",0, 
		"myParam2","Integer",-86, 
		"MYParam3","Floating Point Number",77.000000, 
		XSI_CustomParamInfo Param { 
			"", 
			"", 
			24548, 
		}

		XSI_CustomParamInfo myparam1 { 
			0, 
			1, 
			23813, 
		}

		XSI_CustomParamInfo myParam2 { 
			-400, 
			400, 
			11413, 
		}

		XSI_CustomParamInfo MYParam3 { 
			-141.091003, 
			202.182007, 
			10678, 
		}

	}

	XSI_CustomPSet cube.Mesh_Subdivision_Info { 
		"NODE", 
		1,
		"Subdivision","Small Integer Number",0, 
		XSI_CustomParamInfo Subdivision { 
			0, 
			4, 
			47956, 
		}

	} 

XSI_Extrapolation

Stores an action’s extrapolation type.

Limitations

SOFTIMAGE|3D does not export this template. If an XSI file contains this template, SOFTIMAGE|3D ignores it.

XSI Version

v3.0/v3.5/3.6

Template

XSI_Extrapolation 
{
	<direction>
	<type>, 
	<value> 
} 

Members

Member name
Description
direction
Extrapolation direction. Possible values are:
  • Before
  • After
type
Specifies how the extrapolation interacts with the action. Possible values are:
  • No contribution = Results in no extrapolation. Use this to delete an extrapolation.
  • hold = Results in the first or last values being held for the number of frames specified by the value node.
  • cycle = Repeats the clip for the number of times specified by the value node.
  • Bounces = Repeats the clip forward, then backward, and so on for the number of times specified by the value node.
value
Extrapolation value. Depending on the type node.

XSI_FXOperator

Stores the operators active in the FX tree.

Note  

This template is not available in SOFTIMAGE|3D.

Version

3.6

Template

XSI_FxOperator <name> {
	<ProgID>,			
	<output>,
	<param_number>,							
	<cnx_number>,
	<param_name>,<param_type>,<param_value>, 
	// for each parameter
	<cnx_name>,<cnx_type>,<cnx_source>
	// for each connection 
}  

Members

Member name
Description
name
Name of the FXOperator
ProgID
Preset name of the FxOperator. Possible values are listed in FxOperator Presets.
output
Type of output. The default is 0 (all the same)
param_number
All parameters that are part of this operator
cnx_number
All available connections
param_name
Parameter name
param_type
Parameter type. Possible values are:
  • “BOOLEAN”
  • “BYTE”
  • “INTEGER”
  • “FLOAT”
  • “STRING”
param_value
Parameter value
cnx_name
Name of connection

FxOperator Presets

Example

XSI_FXTree FxTree { 
		4, 
		XSI_FxOperator Wipe { 
			"Wipe", 
			0, 
			22, 
			3, 
			"Name","STRING","Wipe",
			"EffectName","STRING","Wipe",
			"OutputSel","INTEGER",3,
			"Cnx1Select","BOOLEAN",1,
			"Cnx2Select","BOOLEAN",1,
			"Cnx3Select","BOOLEAN",0,
			"Cnx4Select","BOOLEAN",1,
			"Cnx1Invert","BOOLEAN",0,
			"Cnx2Invert","BOOLEAN",0,
			"Cnx3Invert","BOOLEAN",0,
			"Cnx4Invert","BOOLEAN",0,
			"OutputDepth","INTEGER",0,
			"OutputChannels","INTEGER",0,
			"SizeMode","INTEGER",0,
			"WipeTrans","FLOAT",1.000000,
			"Softness","FLOAT",10.000000,
			"Direction","INTEGER",0,
			"Angle","FLOAT",30.000000,
			"GarbageShapesApply","BOOLEAN",1,
			"GarbageShapesBlur","INTEGER",0,
			"GarbageActive","BOOLEAN",1,
			"GarbageComponentFlags","INTEGER",31,
			"Input 1","FX_OPERATOR","cartest_0",
			"Input 2","FX_OPERATOR","walking_preset_side",
			"Obey Matte","","",
			SI_FCurve { 
				"Scene_Root", 
				"WipeTrans", 
				"CUBIC", 
				1, 
				5, 
				4, 
				1.000000,1.000000,10.000000,0.000000,10.666667,0.000000,
				33.000000,1.000000,-10.666667,0.180791,9.000000,-0.152542,
				60.000000,0.000000,-9.000000,0.000000,13.258429,0.000000,
				100.000000,1.000000,-13.333333,0.000000,0.000000,0.000000,
			}

		}

		XSI_FxOperator FileOutput { 
			"File Output", 
			0, 
			7, 
			1, 
			"Name","STRING","FileOutput",
			"FileName","STRING","\\mount_point\database\Composites\Comp.pic",
			"StartFrame","INTEGER",1,
			"EndFrame","INTEGER",100,
			"Step","INTEGER",1,
			"DoRender","BOOLEAN",0,
			"AutoLog","BOOLEAN",1,
			"Input","FX_OPERATOR","Wipe",
		}

		XSI_FxOperator walking_preset_side { 
			"File Input", 
			0, 
			6, 
			0, 
			"Name","STRING","walking_preset_side",
			
"FileName","STRING","\\mount_point\database\Pictures\walking_preset_side.avi",
			"SourceStart","INTEGER",1,
			"SourceEnd","INTEGER",1,
			"SourceOffset","INTEGER",1,
			"AutoDelog","BOOLEAN",1,
		}

		XSI_FxOperator cartest_0 { 
			"File Input", 
			0, 
			6, 
			0, 
			"Name","STRING","cartest_0",
			"FileName","STRING","\\mount_point\database\Pictures\cartest.0.jpg",
			"SourceStart","INTEGER",1,
			"SourceEnd","INTEGER",1,
			"SourceOffset","INTEGER",0,
			"AutoDelog","BOOLEAN",1,
		}

	} 

XSI_FXTree

Stores the FX tree.

Note  

This template is not available in SOFTIMAGE|3D.

Version

3.6

Template

XSI_FxTree <name> { 
	<number of operators>, 
	XSI_FXOperator
	{
		...
	}
  ...  // more XSI_FXOperator templates...
}  

Example

See the example in XSI_FXOperator.

XSI_Image

Stores information about a specific image used in the scene. All crop parameters are animatable. The fcurve names are:

Version

3.6

Template

XSI_Image <name> {
	// Source Info
	<filename>,
	<imageX>,
	<imageY>,
	<channel_count>, 								
	<bitsPerPixels>, 								
	// Crop
	<Minimun X>,
	<Maximum X>,
	<Minimun Y>,
	<Maximum Y>,
	// Sequence section
	<frame_rate>, 					// 0 -> Scene Frame Rate, otherwise 
						// this is the value
	<frame_count>,
	<first>,
	<last>
}  

Members

Member name
Description
filename
Name of source file.
imageX
Image size in X.
imageY
Image size in Y.
channel_count
Number of channels. Possible values are:
  • 3 = RGB
  • 4 = RGBA
bitsPerPixels
Number of bits per pixel. Possible values:
minX
Leftmost X of the cropping rectangle.
maxX
Rightmost X of the cropping rectangle.
minY
Leftmost Y of the cropping rectangle.
maxY
Rightmost Y of the cropping rectangle.
frame_rate
Specifies frame rate to use. If this value is 0, the scene frame rate is assumed; otherwise, this value is the new frame rate.
frame_count
Number of frames for sequence.
first
Specifies frame number for first frame in sequence.
last
Specifies frame number for last frame in sequence.

Example

XSI_ImageLibrary { 
	1, 
	XSI_Image Geny_3_5_pic { 
		"\\mount_point\database\Pictures\Geny_3.5.pic", 
		262, 
		312, 
		4, 
		4, 
		0.232000, 
		0.741000, 
		0.127000, 
		0.736000, 
		29.970030, 
		0, 
		0, 
		0, 
		SI_FCurve { 
			"cube.Material.Phong.diffuse_blend.Image.Geny_3_5_pic", 
			"CROP-MIN-X", 
			"CUBIC", 
			1, 
			5, 
			2, 
			1.000000,0.232000,0.000000,0.000000,3.000000,0.000000,
			10.000000,0.000000,-3.000000,0.000000,0.000000,0.000000,
		}

		SI_FCurve { 
			"cube.Material.Phong.diffuse_blend.Image.Geny_3_5_pic", 
			"CROP-MAX-X", 
			"CUBIC", 
			1, 
			5, 
			2, 
			1.000000,0.741000,0.000000,0.000000,3.000000,0.000000,
			10.000000,1.000000,-3.000000,0.000000,0.000000,0.000000,
		}

		SI_FCurve { 
			"cube.Material.Phong.diffuse_blend.Image.Geny_3_5_pic", 
			"CROP-MIN-Y", 
			"CUBIC", 
			1, 
			5, 
			2, 
			1.000000,0.127000,0.000000,0.000000,3.000000,0.000000,
			10.000000,0.000000,-3.000000,0.000000,0.000000,0.000000,
		}

		SI_FCurve { 
			"cube.Material.Phong.diffuse_blend.Image.Geny_3_5_pic", 
			"CROP-MAX-Y", 
			"CUBIC", 
			1, 
			5, 
			2, 
			1.000000,0.736000,0.000000,0.000000,3.000000,0.000000,
			10.000000,1.000000,-3.000000,0.000000,0.000000,0.000000,
		}

		XSI_ImageFX { 
			15.262000, 
			91.521004, 
			93.016998, 
			13.217000, 
			0.848000, 
			0.940000, 
			0, 
			1, 
			128, 
			128, 
			0, 
			0, 
			0, 
			0, 
			SI_FCurve { 
				"cube.Material.Phong.diffuse_blend.Image.Geny_3_5_pic", 
				"HUE", 
				"CUBIC", 
				1, 
				5, 
				2, 
				1.000000,15.262000,0.000000,0.000000,3.000000,0.000000,
				10.000000,0.000000,-3.000000,0.000000,0.000000,0.000000,
			}

			SI_FCurve { 
				"cube.Material.Phong.diffuse_blend.Image.Geny_3_5_pic", 
				"GAIN", 
				"CUBIC", 
				1, 
				5, 
				2, 
				1.000000,91.521004,0.000000,0.000000,3.000000,0.000000,
				10.000000,100.000000,-3.000000,0.000000,0.000000,0.000000,
			}

			SI_FCurve { 
				"cube.Material.Phong.diffuse_blend.Image.Geny_3_5_pic", 
				"SATURATION", 
				"CUBIC", 
				1, 
				5, 
				2, 
				1.000000,93.016998,0.000000,0.000000,3.000000,0.000000,
				10.000000,150.000000,-3.000000,0.000000,0.000000,0.000000,
			}

			SI_FCurve { 
				"cube.Material.Phong.diffuse_blend.Image.Geny_3_5_pic", 
				"BRIGHTNESS", 
				"CUBIC", 
				1, 
				5, 
				2, 
				1.000000,13.217000,0.000000,0.000000,3.000000,0.000000,
				10.000000,-5.237000,-3.000000,0.000000,0.000000,0.000000,
			}

			SI_FCurve { 
				"cube.Material.Phong.diffuse_blend.Image.Geny_3_5_pic", 
				"BLUR_RADIUS", 
				"CUBIC", 
				1, 
				5, 
				2, 
				1.000000,0.848000,0.000000,0.000000,3.000000,0.000000,
				10.000000,13.965000,-3.000000,0.000000,0.000000,0.000000,
			}

			SI_FCurve { 
				"cube.Material.Phong.diffuse_blend.Image.Geny_3_5_pic", 
				"BLUR_AMOUNT", 
				"CUBIC", 
				1, 
				5, 
				2, 
				1.000000,0.940000,0.000000,0.000000,3.000000,0.000000,
				10.000000,0.150000,-3.000000,0.000000,0.000000,0.000000,
			}

			SI_FCurve { 
				"cube.Material.Phong.diffuse_blend.Image.Geny_3_5_pic", 
				"FLIP-X", 
				"CONSTANT", 
				1, 
				1, 
				2, 
				1.000000,0.000000,
				10.000000,0.000000,
			}

			SI_FCurve { 
				"cube.Material.Phong.diffuse_blend.Image.Geny_3_5_pic", 
				"FLIP-Y", 
				"CONSTANT", 
				1, 
				1, 
				2, 
				1.000000,0.000000,
				10.000000,0.000000,
			}

		}

	}

} 

XSI_ImageData

Provides additional image data. This template is not exported by dotXSI, but is available through the FTK.

Limitations

This template is not exported or imported yet.

Version

3.6

Template

XSI_ImageData <name> {
	<entries>, 	 
	<compression>,
	<color>
	// there can be several color nodes
} 

Members

Member name
Description
entries
Array of colors (width * height).
compression
Specifies type of compression. Possible values are:
  • 0 = Uncompressed
  • (Others are reserved for now)
color
Color information

XSI_ImageFX

Stores the special effect parameters applied to the image.

All parameters are animatable. Fcurve names are:

Version

3.6

Template

XSI_ImageFX {
	// Color Correction
	<Hue>, 					
	<Gain>, 					
	<Saturation>, 					
	<Brightness>, 					
	// Blur
	<Radius>, 					
	<Amount>, 					
	<blurAlpha>, 					
	// Scaling
	<type> 				
	<scaleX>,<scaleY>,
	// Flip
	<horizontal>,<vertical>,
	// Conversion
	<conversion>,
	<8 buts to 16 bits per channel>	
} 

Members

Member name
Description
Hue
Hue color correction. Possible values are between 0 (default) and 100.
Gain
Gain color correction. Possible values are between 0 (default) and 100.
Saturation
Saturation color correction. Possible values are between 0 (default) and 100.
Brightness
Brightness color correction. Possible values are between -100 and 100 (with 0 being the default).
Radius
Radius of blur. Possible values are between 0 and 20 (with 0 being the default).
Amount
Amount of blur. Possible values are 0 or 1 (default).
blurAlpha
True to blur the Alpha channel.
type
Scaling information. Possible values are:
  • 0 = none (scaling is inactive)
  • 1 = fullsize
  • 2 = halfsize
  • 3 = quartersize
  • 4 = 128 X 128
  • 5 = 256 X 256
  • 6 = 512 X 512
  • 7 = Custom (use scaleX and scaleY)
scaleX
Specify amount to scale in X (used only for Custom type of scaling).
scaleY
Specify amount to scale in Y (used only for Custom type of scaling).
horizontal
Specify horizontal flip value.
vertical
Specify vertical flip value.
conversion
Specifies whether or not to convert RGBA to greyscale. Possible values are:
  • 1 = True (convert RGBA to greyscale)
  • 0 = False (do not convert RGBA to greyscale)
16bits
Specifies whether to use 16 bits per channel or 8bits. Possible values are:
  • 1 = True (use 16 bits per channel)
  • 0 = False (use 8 bits per channel)

Example

See the example in XSI_Image.

XSI_ImageLibrary

Stores the list of images used in the scene.

Note  

This template is not available in SOFTIMAGE|3D.

Version

3.6

Template

XSI_ImageLibrary {
	<image_count>,
	XSI_Image{
		... 
	}
	// zero or more XSI_Image templates
}  

Members

Member name
Description
image_count
Total number of images in list.

Example

See the example for XSI_Image.

XSI_Material

Defines a SOFTIMAGE|XSI material. This template contains the list of connections and the name of the sources (if connected).

This new material template is closer to the XSI conceptual model. In XSI, a material is essentially a placeholder for shaders. So now there is an entity that is a placeholder for both realtime and mental ray shaders in the dotXSI file format as well.

See also XSI_MaterialInfo.

Limitations

SOFTIMAGE|3D does not export this template. See SI_Material for the corresponding 3D template.

XSI Version

v3.5/3.6

Template

XSI_Material <material name>
{
	<cnx_number>,
	<cnx_name>, <cnx_source>,
	// for each connection
	XSI_Shader {
		... // usually contains one or more XSI_Shader 
			 // templates
	}
} 

Members

Member name
Description
cnx_number
Number of connections (that is, <cnx_name, <cnx_source> pairs) listed in this template
cnx_name
Name of connection
cnx_source
Name of connection source

Example

In the example below, the material’s surface, shadow and photon ports connect to a shader called Phong:

XSI_Material sphere 

{ 
10, 
"surface","Phong",
"volume","",
"environment","",
"contour","",
"displacement","",
"shadow","Phong",
"Photon","Phong",
"PhotonVolume","",
"normal","",
"RealTime","",
...
} 

XSI_MaterialInfo

Stores additional information about the material.

XSI Version

v3.6

Template

XSI_MaterialInfo {
	// Wrapping information
	<U Wrap>, 
	<V Wrap>, 
} 

Members

Member name
Description
U Wrap
U-Wrapping information. Possible values are:
  • 0 = Clamp
  • 1 = Repeat
V Wrap
V-Wrapping information. Possible values are:
  • 0 = Clamp
  • 1 = Repeat

Example

		XSI_MaterialInfo { 
			1, 
			1, 
		} 

XSI_Mixer

Stores SOFTIMAGE|XSI animation mixer track configuration and mixing parameters, the list of available actions, and their instantiation (as action clips) in the mixer track.

Limitations

SOFTIMAGE|3D does not export this template. If an XSI file contains this template, SOFTIMAGE|3D ignores it.

XSI Version

v3.0/v3.5/3.6 

Template

XSI_Mixer <name> 
{
	<Auto Transition>,
	<Active>,
	<Normalize>,
	<Quaternion Mixing>,
	<Remove Spins>,
	<Maintain Continuity>,
	.... // actions go in here
	.... // tracks go in here
} 
 

Member name
Description
Auto Transition
Determines if inter-clip interpolation is enabled or not.
Active
Determines if the animation mixer is active or not.
Normalize
Specifies how the mix is calculated. Possible values are:
  • True = Mixes are a weighted averages. The results are mixes that fall in-between the values of the separate clips.
  • False = Mixes are additive. The values of the separate clips are added on top of each other.
Quaternion Mixing
Quaternions usually result in smoother rotations; however, if you are mixing two or more rotations and using Quaternion, there may be some unexpected flips in the animation. Using Euler will probably solve this problem. Possible values are:
  • True = Rotation values are mixed according to their Quaternion values.
  • False = Rotation values are mixed according to their Euler values.
Remove Spins
True to remove spins.
Maintain Continuity
When you select Quaternion for Rotation Mixing, this option generates more continuous rotation curves, especially for operations such as plotting/freezing rotation parameters driven by the animation mixer. Possible values are:
  • True = Maintain Continuity is enabled.
  • False = Maintain Continuity is disabled.

Example

XSI_Mixer Scene_Root { 

		0, 
		1, 
		0, 
		0, 
		0, 
		0, 
		XSI_Action StoredAnimPose { 
			0.033367, 
			3.336667, 
			0, 
			SI_FCurve { 
				"1", 
				"null.kine.local.posx", 
				"CUBIC", 
				1, 
				5, 
				4, 
				1.000000,-8.642886,0.000000,0.000000,9.666667,0.000000,
				30.000000,4.085234,-9.666667,-0.118041,10.000000,0.122112,
				60.000000,-7.922426,-10.000000,-0.120077,13.333333,0.160102,
				100.000000,4.925770,-13.333333,0.000000,0.000000,0.000000,
			}

			SI_FCurve { 
				"1", 
				"null.kine.local.posy", 
				"CUBIC", 
				1, 
				5, 
				4, 
				1.000000,-5.672540,0.000000,0.000000,9.666667,0.000000,
				30.000000,4.717165,-9.666667,-1.496822,10.000000,1.548436,
				60.000000,3.463235,-10.000000,1.253930,13.333333,-1.671906,
				100.000000,-4.060344,-13.333333,0.000000,0.000000,0.000000,
			}

			SI_FCurve { 
				"1", 
				"null.kine.local.posz", 
				"CUBIC", 
				1, 
				5, 
				4, 
				1.000000,0.567254,0.000000,0.000000,9.666667,0.000000,
				30.000000,-0.471716,-9.666667,0.149682,10.000000,-0.154844,
				60.000000,-0.346323,-10.000000,-0.125393,13.333333,0.167191,
				100.000000,0.406034,-13.333333,0.000000,0.000000,0.000000,
			}

		}

	} 

XSI_NurbsProjection

Defines the list of curves that make the projection.

Note  

This template is not available in SOFTIMAGE|XSI.

Version

3.6

Template

XSI_NurbsProjection { 
	<num_projections>,
	<projection>, 	
	XSI_CurveList {
		... // can be 0 or more curve lists
	}
} 

Members

Member name
Description
num_projections
Number of projections.
projection
Type of projection. Possible values are:
  • 0 = UV Space
  • 1 = World space

XSI_NurbsTrim

Defines the list of curves that make the trim.

Version

3.6

Template

XSI_NurbsTrim {
	<num_trims>,
	<hole>, 
	<projection>, 
	XSI_CurveList {
		... // can be 0 or more curve lists
	}
} 

Members

Member name
Description
num_trims
Number of trims.
hole
Specifies whether this is a hole or a boundary. Possible values are:
  • 0 = boundary
  • 1 = hole
projection
Type of projection. Possible values are:
  • 0 = UV Space
  • 1 = World space

Example

XSI_NurbsTrim { 
				1, 
				0, 
				XSI_CurveList { 
					SI_NurbsCurve { 
						3, 
						1, 
						1, 
						23, 
						-2.000000,-2.000000,-
1.000000,0.000000,1.000000,2.000000,3.000000,4.000000,
5.000000,6.000000,7.000000,8.000000,9.000000,10.000000
,11.000000,12.000000,13.000000,14.000000,15.000000,16.
000000,17.000000,18.000000,18.000000,
						19, 
						2.902063,2.902063,0.000000,1.000000,
						3.791728,1.570585,0.000000,1.000000,
						4.104136,0.000000,0.000000,1.000000,
						3.791728,-
1.570585,0.000000,1.000000,
						2.902063,-
2.902063,0.000000,1.000000,
						1.570585,-
3.791728,0.000000,1.000000,
						0.000000,-
4.104136,0.000000,1.000000,
						-1.570585,-
3.791728,0.000000,1.000000,
						-2.902063,-
2.902063,0.000000,1.000000,
						-3.791728,-
1.570585,0.000000,1.000000,
						-
4.104136,0.000000,0.000000,1.000000,
						-
3.791728,1.570585,0.000000,1.000000,
						-
2.902063,2.902063,0.000000,1.000000,
						-
1.570585,3.791728,0.000000,1.000000,
						0.000000,4.104136,0.000000,1.000000,
						1.570585,3.791728,0.000000,1.000000,
						2.902063,2.902063,0.000000,1.000000,
						3.791728,1.570585,0.000000,1.000000,
						4.104136,0.000000,0.000000,1.000000,
					}

				} 

XSI_Shader

Defines a SOFTIMAGE|XSI shader.

These are embedded inside the XSI_Material template. The connection name provides the path to connect the parameter of a particular shader to another shader or image.

Note  

If the shader parameters are animated, their fcurves are exported to the dotXSI file.

Limitations

SOFTIMAGE|3D does not export or read this template.

XSI Version

v3.5/3.6

Template

XSI_Shader <shader name>
{
	<path>,
	<output>,
	<param_number>,
	<cnx_number>,
	<param_name>,<param_type>,<param_value>, 
	// for each parameter
	<cnx_name>,<cnx_point>,<cnx_type>
	// for each connection 
} 

Members

Member name
Description
name
Shader name
path
XSI path name
output
Output type. Possible values are:
  • 0 = Unknown
  • 1 = Boolean
  • 2 = Integer
  • 3 = Scalar
  • 4 = Color
  • 5 = Vector
  • 6 = Texture space
  • 7 = Texture
  • 8 = String
  • 9 = Filename
  • 10 = Lens
  • 11 = Light
  • 12 = Material
  • 13 = Model
param_number
All parameters that are part of this operator
cnx_number
Number of connection points
param_name
Parameter name
param_type
Parameter type. Possible values are:
  • “BOOLEAN”
  • “BYTE”
  • “INTEGER”
  • “FLOAT”
  • “STRING”
param_value
Parameter value
cnx_name
Name of connection source
Note: If nothing is connected, this value is an empty string (““).
cnx_point
ID of connection point (index number)
cnx_type
Type of connection source. Possible values are:
  • “SHADER” = shader is connected
  • “IMAGE” = image is connected
  • ““ = nothing is connected

Example with Connections to Ambient and Diffuse

In the example below, a shader called Phong connects to two other shaders called ambient_blend and diffuse_blend:

XSI_Shader Phong 
{ 
"Softimage.material-phong.1", 
4, 
43, 
21, 
"Name","STRING","Phong",
"specular.red","FLOAT",1.000000,
"specular.green","FLOAT",1.000000,
"specular.blue","FLOAT",1.000000,
"specular.alpha","FLOAT",0.000000,
"ambience.red","FLOAT",0.200000,
"ambience.green","FLOAT",0.200000,
"ambience.blue","FLOAT",0.200000,
"ambience.alpha","FLOAT",1.000000,
"shiny","FLOAT",50.000000,
"transparency.red","FLOAT",0.000000,
"transparency.green","FLOAT",0.000000,
"transparency.blue","FLOAT",0.000000,
"transparency.alpha","FLOAT",0.000000,
"trans_glossy","FLOAT",0.000000,
"transparent_samples","INTEGER",0,
"reflectivity.red","FLOAT",0.000000,
"reflectivity.green","FLOAT",0.000000,
"reflectivity.blue","FLOAT",0.000000,
"reflectivity.alpha","FLOAT",0.000000,
"reflect_glossy","FLOAT",0.000000,
"reflect_samples","INTEGER",0,
"index_of_refraction","FLOAT",1.000000,
"translucency","FLOAT",0.000000,
"incandescence.red","FLOAT",1.000000,
"incandescence.green","FLOAT",1.000000,
"incandescence.blue","FLOAT",1.000000,
"incandescence.alpha","FLOAT",0.000000,
"inc_inten","FLOAT",0.000000,
"bump.x","FLOAT",0.000000,
"bump.y","FLOAT",0.000000,
"bump.z","FLOAT",0.000000,
"notrace","BOOLEAN",0,
"diffuse_inuse","BOOLEAN",1,
"specular_inuse","BOOLEAN",1,
"reflect_inuse","BOOLEAN",1,
"refract_inuse","BOOLEAN",1,
"incand_inuse","BOOLEAN",1,
"translucent_inuse","BOOLEAN",1,
"radiance.red","FLOAT",1.000000,
"radiance.green","FLOAT",1.000000,
"radiance.blue","FLOAT",1.000000,
"radiance.alpha","FLOAT",1.000000,
"ambient","ambient_blend","SHADER",
"diffuse","diffuse_blend","SHADER",
"specular","","",
"shiny","","",
"transparency","","",
"trans_glossy","","",
"reflectivity","","",
"reflect_glossy","","",
"index_of_refraction","","",
"translucency","","",
"incandescence","","",
"inc_inten","","",
"bump","","",
"notrace","","",
"diffuse_inuse","","",
"specular_inuse","","",
"reflect_inuse","","",
"refract_inuse","","",
"incand_inuse","","",
"translucent_inuse","","",
"radiance","","",
} 

Example with Render Tree

This example represents the result of exporting the following render tree:

XSI_Material sphere { 
10, 
"surface","Phong",
"volume","",
"environment","",
"contour","",
"displacement","",
"shadow","Phong",
"Photon","Phong",
"PhotonVolume","",
"normal","",
"RealTime","",
XSI_Shader Phong { 
"Softimage.material-phong.1", 
4, 
43, 
21, 
"Name","STRING","Phong",
"specular.red","FLOAT",1.000000,
"specular.green","FLOAT",1.000000,
"specular.blue","FLOAT",1.000000,
"specular.alpha","FLOAT",0.000000,
"ambience.red","FLOAT",0.200000,
"ambience.green","FLOAT",0.200000,
"ambience.blue","FLOAT",0.200000,
"ambience.alpha","FLOAT",1.000000,
"shiny","FLOAT",50.000000,
"transparency.red","FLOAT",0.000000,
"transparency.green","FLOAT",0.000000,
"transparency.blue","FLOAT",0.000000,
"transparency.alpha","FLOAT",0.000000,
"trans_glossy","FLOAT",0.000000,
"transparent_samples","INTEGER",0,
"reflectivity.red","FLOAT",0.000000,
"reflectivity.green","FLOAT",0.000000,
"reflectivity.blue","FLOAT",0.000000,
"reflectivity.alpha","FLOAT",0.000000,
"reflect_glossy","FLOAT",0.000000,
"reflect_samples","INTEGER",0,
"index_of_refraction","FLOAT",1.000000,
"translucency","FLOAT",0.000000,
"incandescence.red","FLOAT",1.000000,
"incandescence.green","FLOAT",1.000000,
"incandescence.blue","FLOAT",1.000000,
"incandescence.alpha","FLOAT",0.000000,
"inc_inten","FLOAT",0.000000,
"bump.x","FLOAT",0.000000,
"bump.y","FLOAT",0.000000,
"bump.z","FLOAT",0.000000,
"notrace","BOOLEAN",0,
"diffuse_inuse","BOOLEAN",1,
"specular_inuse","BOOLEAN",1,
"reflect_inuse","BOOLEAN",1,
"refract_inuse","BOOLEAN",1,
"incand_inuse","BOOLEAN",1,
"translucent_inuse","BOOLEAN",1,
"radiance.red","FLOAT",1.000000,
"radiance.green","FLOAT",1.000000,
"radiance.blue","FLOAT",1.000000,
"radiance.alpha","FLOAT",1.000000,
"ambient","ambient_blend","SHADER",
"diffuse","diffuse_blend","SHADER",
"specular","","",
"shiny","","",
"transparency","","",
"trans_glossy","","",
"reflectivity","","",
"reflect_glossy","","",
"index_of_refraction","","",
"translucency","","",
"incandescence","","",
"inc_inten","","",
"bump","","",
"notrace","","",
"diffuse_inuse","","",
"specular_inuse","","",
"reflect_inuse","","",
"refract_inuse","","",
"incand_inuse","","",
"translucent_inuse","","",
"radiance","","",
}

XSI_Shader diffuse_blend { 
"Softimage.sib_color_8mix.1", 
4, 
79, 
29, 
"Name","STRING","diffuse_blend",
"mixersize","INTEGER",8,
"base_color.red","FLOAT",0.700000,
"base_color.green","FLOAT",0.700000,
"base_color.blue","FLOAT",0.700000,
"base_color.alpha","FLOAT",0.000000,
"mode1","INTEGER",1,
"weight1.red","FLOAT",1.000000,
"weight1.green","FLOAT",1.000000,
"weight1.blue","FLOAT",1.000000,
"weight1.alpha","FLOAT",0.500000,
"alpha1","BOOLEAN",1,
"inuse1","BOOLEAN",1,
"color2.red","FLOAT",1.000000,
"color2.green","FLOAT",1.000000,
"color2.blue","FLOAT",1.000000,
"color2.alpha","FLOAT",0.000000,
"mode2","INTEGER",1,
"weight2.red","FLOAT",0.500000,
"weight2.green","FLOAT",0.500000,
"weight2.blue","FLOAT",0.500000,
"weight2.alpha","FLOAT",0.000000,
"alpha2","BOOLEAN",0,
"inuse2","BOOLEAN",0,
"color3.red","FLOAT",1.000000,
"color3.green","FLOAT",1.000000,
"color3.blue","FLOAT",1.000000,
"color3.alpha","FLOAT",0.000000,
"mode3","INTEGER",1,
"weight3.red","FLOAT",0.500000,
"weight3.green","FLOAT",0.500000,
"weight3.blue","FLOAT",0.500000,
"weight3.alpha","FLOAT",0.000000,
"alpha3","BOOLEAN",0,
"inuse3","BOOLEAN",0,
"color4.red","FLOAT",1.000000,
"color4.green","FLOAT",1.000000,
"color4.blue","FLOAT",1.000000,
"color4.alpha","FLOAT",0.000000,
"mode4","INTEGER",1,
"weight4.red","FLOAT",0.500000,
"weight4.green","FLOAT",0.500000,
"weight4.blue","FLOAT",0.500000,
"weight4.alpha","FLOAT",0.000000,
"alpha4","BOOLEAN",0,
"inuse4","BOOLEAN",0,
"color5.red","FLOAT",1.000000,
"color5.green","FLOAT",1.000000,
"color5.blue","FLOAT",1.000000,
"color5.alpha","FLOAT",0.000000,
"mode5","INTEGER",1,
"weight5.red","FLOAT",0.500000,
"weight5.green","FLOAT",0.500000,
"weight5.blue","FLOAT",0.500000,
"weight5.alpha","FLOAT",0.000000,
"alpha5","BOOLEAN",0,
"inuse5","BOOLEAN",0,
"color6.red","FLOAT",1.000000,
"color6.green","FLOAT",1.000000,
"color6.blue","FLOAT",1.000000,
"color6.alpha","FLOAT",0.000000,
"mode6","INTEGER",1,
"weight6.red","FLOAT",0.500000,
"weight6.green","FLOAT",0.500000,
"weight6.blue","FLOAT",0.500000,
"weight6.alpha","FLOAT",0.000000,
"alpha6","BOOLEAN",0,
"inuse6","BOOLEAN",0,
"color7.red","FLOAT",1.000000,
"color7.green","FLOAT",1.000000,
"color7.blue","FLOAT",1.000000,
"color7.alpha","FLOAT",0.000000,
"mode7","INTEGER",1,
"weight7.red","FLOAT",0.500000,
"weight7.green","FLOAT",0.500000,
"weight7.blue","FLOAT",0.500000,
"weight7.alpha","FLOAT",0.000000,
"alpha7","BOOLEAN",0,
"inuse7","BOOLEAN",0,
"base_color","","",
"color1","Image","SHADER",
"weight1","","",
"alpha1","","",
"inuse1","","",
"color2","","",
"weight2","","",
"alpha2","","",
"inuse2","","",
"color3","","",
"weight3","","",
"alpha3","","",
"inuse3","","",
"color4","","",
"weight4","","",
"alpha4","","",
"inuse4","","",
"color5","","",
"weight5","","",
"alpha5","","",
"inuse5","","",
"color6","","",
"weight6","","",
"alpha6","","",
"inuse6","","",
"color7","","",
"weight7","","",
"alpha7","","",
"inuse7","","",
}

XSI_Shader Image { 
"Softimage.txt2d-image-explicit.1", 
4, 
29, 
20, 
"Name","STRING","Image",
"tspace_id","STRING","Texture_Projection",
"repeats.x","FLOAT",1.000000,
"repeats.y","FLOAT",1.000000,
"repeats.z","FLOAT",1.000000,
"alt_x","BOOLEAN",0,
"alt_y","BOOLEAN",0,
"alt_z","BOOLEAN",0,
"min.x","FLOAT",0.000000,
"min.y","FLOAT",0.000000,
"min.z","FLOAT",0.000000,
"max.x","FLOAT",1.000000,
"max.y","FLOAT",1.000000,
"max.z","FLOAT",1.000000,
"step.x","FLOAT",0.000000,
"step.y","FLOAT",0.000000,
"step.z","FLOAT",0.000000,
"factor","FLOAT",5.000000,
"torus_u","BOOLEAN",0,
"torus_v","BOOLEAN",0,
"alpha","BOOLEAN",0,
"bump_inuse","BOOLEAN",0,
"alpha_output","BOOLEAN",0,
"alpha_factor","FLOAT",1.000000,
"eccmax","FLOAT",20.000000,
"maxminor","FLOAT",16.000000,
"disc_r","FLOAT",0.300000,
"bilinear","BOOLEAN",1,
"filtered","BOOLEAN",0,
"tex","noIcon.pic","IMAGE",
"repeats","","",
"alt_x","","",
"alt_y","","",
"alt_z","","",
"min","","",
"max","","",
"step","","",
"factor","","",
"torus_u","","",
"torus_v","","",
"alpha","","",
"bump_inuse","","",
"alpha_output","","",
"alpha_factor","","",
"eccmax","","",
"maxminor","","",
"disc_r","","",
"bilinear","","",
"filtered","","",
} 

XSI_StaticValues

Stores an action’s static value.

Limitations

SOFTIMAGE|3D does not export this template. If an XSI file contains this template, SOFTIMAGE|3D ignores it.

XSI Version

v3.0/v3.5/3.6

Template

XSI_StaticValues <name>
{
	<active>,
	<string_name>, <value>,
} 

Members

Member name
Description
active
Specifies whether or not the parameter is active. Possible values are:
  • 0 = Parameter is not active (False)
  • 1 = Parameter is active (True)
string_name
Name of this parameter as a string expression. For example, "bone.kine.local.posx".
value
Actual value of the parameter.

Example

See the example in XSI_Mixer.

XSI_SurfaceMesh

Stores a SOFTIMAGE|XSI surface mesh, which is a group of NURBS surfaces.

XSI Version

v3.0/v3.5/3.6

Template

XSI_SurfaceMesh 
{
	SI_NurbsSurface
	// for each surface in the mesh
} 

Example

XSI_SurfaceMesh greatest_mesh_ever { 

		SI_NurbsSurface greatest_mesh_ever { 
			3, 
			3, 
			1, 
			0, 
			1, 
			19, 
			14, 
			-1.000000,-1.000000,-
1.000000,0.000000,0.000000,0.000000,1.000000,1.000000,1.000000,2.000000,2.000000
,2.000000,3.000000,3.000000,3.000000,4.000000,4.000000,4.000000,4.000000,
			
0.000000,0.000000,0.000000,0.000000,1.000000,1.000000,1.000000,2.000000,2.000000
,2.000000,3.000000,3.000000,3.000000,3.000000,
			150, 
			15, 
			10, 
			0.000000,-4.000000,0.000000,1.000000,
			0.000000,-4.000000,0.000000,1.000000,
			0.000000,-4.000000,0.000000,1.000000,
			0.000000,-4.000000,0.000000,1.000000,
			0.000000,-4.000000,0.000000,1.000000,
			0.000000,-4.000000,0.000000,1.000000,
			0.000000,-4.000000,0.000000,1.000000,
			0.000000,-4.000000,0.000000,1.000000,
			0.000000,-4.000000,0.000000,1.000000,
			0.000000,-4.000000,0.000000,1.000000,
			0.000000,-4.000000,0.000000,1.000000,
			0.000000,-4.000000,0.000000,1.000000,
			0.000000,-4.000000,0.000000,1.000000,
			0.000000,-4.000000,0.000000,1.000000,
			0.000000,-4.000000,0.000000,1.000000,
			-1.333333,-4.000000,-0.444444,1.000000,
			-1.333333,-4.000000,0.444444,1.000000,
			-1.333333,-4.000000,1.333333,1.000000,
			-0.444444,-4.000000,1.333333,1.000000,
			0.444444,-4.000000,1.333333,1.000000,
			1.333333,-4.000000,1.333333,1.000000,
			1.333333,-4.000000,0.444444,1.000000,
			1.333333,-4.000000,-0.444444,1.000000,
			1.333333,-4.000000,-1.333333,1.000000,
			0.444444,-4.000000,-1.333333,1.000000,
			-0.444444,-4.000000,-1.333333,1.000000,
			-1.333333,-4.000000,-1.333333,1.000000,
			-1.333333,-4.000000,-0.444444,1.000000,
			-1.333333,-4.000000,0.444444,1.000000,
			-1.333333,-4.000000,1.333333,1.000000,
			-2.666667,-4.000000,-0.888889,1.000000,
			-2.666667,-4.000000,0.888889,1.000000,
			-2.666667,-4.000000,2.666667,1.000000,
			-0.888889,-4.000000,2.666667,1.000000,
			0.888889,-4.000000,2.666667,1.000000,
			2.666667,-4.000000,2.666667,1.000000,
			2.666667,-4.000000,0.888889,1.000000,
			2.666667,-4.000000,-0.888889,1.000000,
			2.666667,-4.000000,-2.666667,1.000000,
			0.888889,-4.000000,-2.666667,1.000000,
			-0.888889,-4.000000,-2.666667,1.000000,
			-2.666667,-4.000000,-2.666667,1.000000,
			-2.666667,-4.000000,-0.888889,1.000000,
			-2.666667,-4.000000,0.888889,1.000000,
			-2.666667,-4.000000,2.666667,1.000000,
			-4.000000,-4.000000,-1.333333,1.000000,
			-4.000000,-4.000000,1.333333,1.000000,
			-4.000000,-4.000000,4.000000,1.000000,
			-1.333333,-4.000000,4.000000,1.000000,
			1.333333,-4.000000,4.000000,1.000000,
			4.000000,-4.000000,4.000000,1.000000,
			4.000000,-4.000000,1.333333,1.000000,
			4.000000,-4.000000,-1.333333,1.000000,
			4.000000,-4.000000,-4.000000,1.000000,
			1.333333,-4.000000,-4.000000,1.000000,
			-1.333333,-4.000000,-4.000000,1.000000,
			-4.000000,-4.000000,-4.000000,1.000000,
			-4.000000,-4.000000,-1.333333,1.000000,
			-4.000000,-4.000000,1.333333,1.000000,
			-4.000000,-4.000000,4.000000,1.000000,
			-4.000000,-1.333333,-1.333333,1.000000,
			-4.000000,-1.333333,1.333333,1.000000,
			-4.000000,-1.333333,4.000000,1.000000,
			-1.333333,-1.333333,4.000000,1.000000,
			1.333333,-1.333333,4.000000,1.000000,
			4.000000,-1.333333,4.000000,1.000000,
			4.000000,-1.333333,1.333333,1.000000,
			4.000000,-1.333333,-1.333333,1.000000,
			4.000000,-1.333333,-4.000000,1.000000,
			1.333333,-1.333333,-4.000000,1.000000,
			-1.333333,-1.333333,-4.000000,1.000000,
			-4.000000,-1.333333,-4.000000,1.000000,
			-4.000000,-1.333333,-1.333333,1.000000,
			-4.000000,-1.333333,1.333333,1.000000,
			-4.000000,-1.333333,4.000000,1.000000,
			-4.000000,1.333333,-1.333333,1.000000,
			-4.000000,1.333333,1.333333,1.000000,
			-4.000000,1.333333,4.000000,1.000000,
			-1.333333,1.333333,4.000000,1.000000,
			1.333333,1.333333,4.000000,1.000000,
			4.000000,1.333333,4.000000,1.000000,
			4.000000,1.333333,1.333333,1.000000,
			4.000000,1.333333,-1.333333,1.000000,
			4.000000,1.333333,-4.000000,1.000000,
			1.333333,1.333333,-4.000000,1.000000,
			-1.333333,1.333333,-4.000000,1.000000,
			-4.000000,1.333333,-4.000000,1.000000,
			-4.000000,1.333333,-1.333333,1.000000,
			-4.000000,1.333333,1.333333,1.000000,
			-4.000000,1.333333,4.000000,1.000000,
			-4.000000,4.000000,-1.333333,1.000000,
			-4.000000,4.000000,1.333333,1.000000,
			-4.000000,4.000000,4.000000,1.000000,
			-1.333333,4.000000,4.000000,1.000000,
			1.333333,4.000000,4.000000,1.000000,
			4.000000,4.000000,4.000000,1.000000,
			4.000000,4.000000,1.333333,1.000000,
			4.000000,4.000000,-1.333333,1.000000,
			4.000000,4.000000,-4.000000,1.000000,
			1.333333,4.000000,-4.000000,1.000000,
			-1.333333,4.000000,-4.000000,1.000000,
			-4.000000,4.000000,-4.000000,1.000000,
			-4.000000,4.000000,-1.333333,1.000000,
			-4.000000,4.000000,1.333333,1.000000,
			-4.000000,4.000000,4.000000,1.000000,
			-2.666667,4.000000,-0.888889,1.000000,
			-2.666667,4.000000,0.888889,1.000000,
			-2.666667,4.000000,2.666667,1.000000,
			-0.888889,4.000000,2.666667,1.000000,
			0.888889,4.000000,2.666667,1.000000,
			2.666667,4.000000,2.666667,1.000000,
			2.666667,4.000000,0.888889,1.000000,
			2.666667,4.000000,-0.888889,1.000000,
			2.666667,4.000000,-2.666667,1.000000,
			0.888889,4.000000,-2.666667,1.000000,
			-0.888889,4.000000,-2.666667,1.000000,
			-2.666667,4.000000,-2.666667,1.000000,
			-2.666667,4.000000,-0.888889,1.000000,
			-2.666667,4.000000,0.888889,1.000000,
			-2.666667,4.000000,2.666667,1.000000,
			-1.333333,4.000000,-0.444444,1.000000,
			-1.333333,4.000000,0.444444,1.000000,
			-1.333333,4.000000,1.333333,1.000000,
			-0.444444,4.000000,1.333333,1.000000,
			0.444444,4.000000,1.333333,1.000000,
			1.333333,4.000000,1.333333,1.000000,
			1.333333,4.000000,0.444444,1.000000,
			1.333333,4.000000,-0.444444,1.000000,
			1.333333,4.000000,-1.333333,1.000000,
			0.444444,4.000000,-1.333333,1.000000,
			-0.444444,4.000000,-1.333333,1.000000,
			-1.333333,4.000000,-1.333333,1.000000,
			-1.333333,4.000000,-0.444444,1.000000,
			-1.333333,4.000000,0.444444,1.000000,
			-1.333333,4.000000,1.333333,1.000000,
			0.000000,4.000000,0.000000,1.000000,
			0.000000,4.000000,0.000000,1.000000,
			0.000000,4.000000,0.000000,1.000000,
			0.000000,4.000000,0.000000,1.000000,
			0.000000,4.000000,0.000000,1.000000,
			0.000000,4.000000,0.000000,1.000000,
			0.000000,4.000000,0.000000,1.000000,
			0.000000,4.000000,0.000000,1.000000,
			0.000000,4.000000,0.000000,1.000000,
			0.000000,4.000000,0.000000,1.000000,
			0.000000,4.000000,0.000000,1.000000,
			0.000000,4.000000,0.000000,1.000000,
			0.000000,4.000000,0.000000,1.000000,
			0.000000,4.000000,0.000000,1.000000,
			0.000000,4.000000,0.000000,1.000000,
		}
 

XSI_TimeControl

Stores the clipping and offset parameters of an action clip.

Limitations

SOFTIMAGE|3D does not export this template. If an XSI file contains this template, SOFTIMAGE|3D ignores it.

SOFTIMAGE|XSI does not export this template, even though the parser supports it.

XSI Version

v3.0/v3.5/v3.6

Template

XSI_TimeControl
{
	<in>,
	<out>,
	<start_offset>,
	<scale>,
	... // Extrapolation template goes in here 
	... // Extrapolation template goes in here 
	... // Warp fcurve template could go here
} 

Members

Member name
Description
in
First frame to use from the clip
out
Last frame used from the clip
start_offset
Frame where the clip starts in the local time of the action clip.
scale
Scale factor. Increasing this value speeds the relative time of the clip, decreasing the duration.

Example

See the example in XSI_Mixer.

XSI_Track

Store the action track’s status.

Limitations

SOFTIMAGE|3D does not export this template. If an XSI file contains this template, SOFTIMAGE|3D ignores it.

SOFTIMAGE|XSI does not export this template, even though the parser supports it.

XSI Version

v3.0/v3.5

Template

XSI_Track <track name>
{
	<ripple>,
	<mute>,
	<solo>,
	... // Action clips go in here
}  

Members

Member name
Type
Description
ripple
Boolean
Determines whether or not a moved clip pushes the next or previous clip along the track so they don’t overlap.
  • True = prevent overlap
  • False = allow overlap
mute
Boolean
Determines whether or not the track contributes to the final animation.
  • True = active for final animation
  • False = inactive for final animation
solo
Boolean
Determines whether or not this is the only track that contributes to the animation.
  • True = only this track contributes
  • False = other tracks may also contribute

Example

See the example in XSI_Mixer.

XSI_UserData

Stores user data attached to SOFITMAGE|XSI scene entities.

Version

3.6

Template

XSI_UserData <name>{
	<data_size>, 
	<data_array>, 
	<entities_id>, 
	<indices_array> 
} 

Members

Member name
Description
data_size
Number of bytes in the array (data is not changed in anyway).
data_array
Array of bytes for the data. This is the actual user data.
entities_id
Specifies the subcomponent to which the user data is assigned.
indices_array
Array of indices for all affected vertices/edges/polygons.

Example

SI_Cluster { 
		"Grid", 
		"AVERAGE", 
		"", 
		3, 
		0,
		1,
		3,
		XSI_UserDataList The_List { 
			1, 
			0, 
			XSI_UserData { 
				3, 	// Number of bytes
				3, 	// Byte 0
				1,	// Byte 1
				2,	// Byte 2
				1,	// Number of component affected
				0,	// Component 0 contains the user data {3,1,2}
			}

		}

	} 

XSI_UserDataList

Stores the list of entities to which user data is attached.

Version

3.6

Template

XSI_UserDataList <name>{
	<number of entries>,
	<endian>,
	... 			// 0 or more XSI_UserData templates (
} 

Members

Member name
Description
entries
Number of entries
endian
Specifies the Endian byte order of the computer that exported the UserData. For example, x86 processors use the little endian order and MIPS processors use the big endian order. Possible values are:
0 = Little endian
1 = Big endian

Example

See the example in XSI_UserData.