SI_Animation ParamKey

Defines animation of any template parameter.

Softimage Version

v1.3. Made obsolete in v2.0.

Members

Name | Type | Array size | Description
reference | {template name} |  | Reference to a template.
parameterIndex | int |  | Index of the template parameter to animate. The index is zero-based.
keyType | int |  | 0 = int 1 = float 2 = Vector 3 = ColorRGB 4 = ColorRGBA
nKeys | int |  | Number of animation keys.
keys | array TimedFloatKeys | nKeys | Animation keys.

Comments

This template works by considering the referenced template as a structure indexed by the parameterIndex value. For example, the following definition shows how the parameters in a SI_Camera template are indexed:

    // The members of a template are indexed starting from 0:
    SI_Camera Camera1 {
       0.000000; 2.000000; 20.000000;; // Camera1[0] = camera position vector
       0.000000; -3.404255; 0.000000;; // Camera1[1] = interest position vector
       0.000000;         // Camera1[2] = roll
       41.539440;        // Camera1[3] = field of view
       0.100000;         // Camera1[4] = near plane
       32768.000000;     // Camera1[5] = far plane
    }

Example: Camera Interest

This example shows how to animate the position of the camera interest:

    // Define a camera instance
    SI_Camera Camera1 {
       0.000000; 2.000000; 20.000000;;
       0.000000; -3.404255; 0.000000;; // Camera1[1] = interest position vector
       0.000000;
       41.539440;
       0.100000;
       32768.000000;
    }

    AnimationSet {
       Animation anim-Camera1 {
           {SCENE}

           SI_AnimationParamKey {
              {Camera1} // reference to the camera data object
              1;  // Camera1[1] is the interest vector
              2;  // vector animation key
              59; // 59 animation keys to follow:
              // animation keys
              // <frame>; <nValues>; <value1>; ... <valueN>;;
              1; 3; 0.000000, -3.404255, 0.000000;;,
              2; 3; 0.000000, -3.341151, 0.000000;;,
              3; 3; 0.000000, -3.161310, 0.000000;;,
              // other keys snipped...
              100; 3; 0.000000, 19.347515, 0.000000;;;
           }
       }
    }

Example: Mesh Vertex Positions

This example shows how to animate the positions of polygon mesh vertices.

    Frame frm-cube1 {

       FrameTransformMatrix {
           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;;
       }

       Mesh cube1 {
           8;                   // cube1[0] = number of vertices
           -0.500000;-0.500000;-0.500000;, // cube1[1] = vertex 0
           -0.500000;-0.500000;0.500000;, // cube1[2] = vertex 1
           -0.500000;0.500000;-0.500000;, // cube1[3] = vertex 2
           -0.500000;0.500000;0.500000;, // cube1[4] = vertex 3
           0.500000;-0.500000;-0.500000;, // cube1[5] = vertex 4
           0.500000;-0.500000;0.500000;, // cube1[6] = vertex 5
           0.500000;0.500000;-0.500000;, // cube1[7] = vertex 6
           0.500000;0.500000;0.500000;; // cube1[8] = vertex 7

           6;                   // 6 polygons
           4;0,1,3,2;,
           4;1,5,7,3;,
           4;5,4,6,7;,
           4;4,0,2,6;,
           4;4,5,1,0;,
           4;2,3,7,6;;

           MeshMaterialList {
              ...
              SI_Material {
                  ...
              }
           }
           SI_MeshNormals {
           ...
           }
       }
    }
    // Vertex position animation.
    // Note that while .XSI Export puts each SI_AnimationParamKey in a separate
    // Animation block, you can put multiple SI_AnimationParamKey in a single
    // Animation block and .XSI Import will load it correctly.

    AnimationSet {
       Animation anim-cube1 {
           {frm-cube1}

           SI_AnimationParamKey { // keys for vertex 1
              {cube1}        // reference to cube1 template
              2;                // index of vertex 1 in the cube1 template
              2;                // vector keys
              77;            // 77 keys
              1; 3; -0.500000, -0.500000, 0.500000;;,
              2; 3; -0.527668, -0.516229, 0.510289;;,
              3; 3; -0.605175, -0.561691, 0.539113;;,
              ...
              100; 3; -0.500000, -0.500000, 0.500000;;;
           }
       }
       Animation anim-cube1 {
           {frm-cube1}

           SI_AnimationParamKey { // keys for vertex 6
              {cube1}        // reference to cube1 template
              7;                // index of vertex 6 in the cube1 template
              2;                // vector keys
              77;            // 77 keys
              1; 3; 0.500000, 0.500000, -0.500000;;,
              2; 3; 0.500000, 0.500000, -0.500000;;,
              3; 3; 0.500000, 0.500000, -0.500000;;,
              ...
              100; 3; 0.500000, 0.500000, -0.500000;;;
           }
       }
    }

Autodesk Softimage v7.5