Creating a take as a container for animation
 
 
 

In live action filmmaking, a “take” refers to a single version of the filming of a scene. Directors can film multiple takes, and refer to them as “take one”, “take two”, etc.

In FBX, a take (sometimes called a take node or a takenode) is a container for all the animation curves necessary to define the animation for a 3D object. An FBX scene can have multiple takes. This means that the 3D objects in the scene can be animated differently in each take.

A take is a concept used by MotionBuilder and FBX. Of the file formats supported by FBX SDK 2010, only FBX files can contain multiple takes. Other file formats can contain animation of course, but they cannot store explicit take information, and they can only contain animation equivalent to one FBX take.

To manage takes, use methods and properties inherited from class KFbxTakeNodeContainer:

In FBX SDK, any scene with animation must contain at least one take. CubeCreator’s scene has only one take.

A take is identified by its take name.

// set the take name
KString gTakeName = "Take camera animation";

A scene can have many takes, but only one of them can be the current take. When an FBX scene is exported to a file format that does not support takes, only the current take is exported.

Even though a scene has only one take, we must explicitly set it as the current take:

// set this take name as the current take
gScene->SetCurrentTake(gTakeName.Buffer());

Even though we have a name for our take, we haven’t actually created it yet. Nor have we assigned any animation to the take. We’ll do both in Animating the camera.

NoteFor an example of an FBX file with several takes of animation, see humanoid.fbx, located in \examples\viewscene. You can use FBX for QuickTime to cycle through the takes. Or, you can use ViewScene itself (see ViewScene).