Sources and Clips

At the most simple level, any data that can be instantiated as a clip is called a source. This covers a broad range of data, from animation in the Animation Mixer to an image in the FxTree. The word source can refer to the atomic data element that drives a parameter (see Low-Level (Parameter-Based) Animation) or to the action, shape, audio, or image on which a clip is instantiated.

It can be confusing understanding where a clip fits into the SDK system and where its corresponding source fits in, so let’s start by describing clips, because they basically define what a source can be.

Clips

In XSI, there are basically three categories of clips, as described in this table:

Clip Category

XSI Object Model

C++ API

Description

Mixer?

Animation/Audio

Clip

ShapeClip

ClipContainer

Mixer

Clip

ShapeClip

ClipContainer

Mixer

Instance of audio or some animation in the Animation Mixer. In the SDK, anything accessible from the Mixer usually uses the Clip interface.

Note: ShapeClip is a specialization of Clip but does not define any methods or functions of its own.

The Animation Mixer also uses the concept of compound clips, which are basically containers that nest related clips, storing their transitions and weights.

yes

Image

ImageClip

ImageClip2

As a texture (for example, in a texture projection or in the FxTree). Image clips are stored under the scene or their shader/material owner.

Note: ImageClips can also be manipulated in the Mixer.

yes

 

The first two categories in the table above are a generalization of mixer clip types which describe any type of clip that can be manipulated in the Mixer (see the siClipType constant). Any clip returns one of the siClipType values from the Type property (object model) or the GetType function (C++ API).

Sources

There are basically two kinds of sources (apart from a DataSource, which is a piece of data or logic that drives the animated parameter): a reference to a file on disk (a Source) and a container for combining one or more actions (an ActionSource).

Reference-type sources (see Source in the object model and Source in the C++ API), Audio and Image sources can be instantiated in the mixer.

Action-type sources (see ActionSource in the object model and ActionSource in the C++ API) are usually manipulated in the context of the mixer. They hold other action sources, low-level animation, shape animation, etc. The components of an ActionSource are called AnimationSourceItems (see AnimationSourceItem in the object model and AnimationSourceItem in the C++ API).

 

One of the most important concepts with action sources is the relative names. Action sources are stored with relatives names so that they are not tied to a specific model. For more information, see the Relative Name topic.



SOFTIMAGE|XSI v6.01     

Return to Softimage XSI Index