FbxClip (object)

The FbxClip object manages loading animation data from an Fbx file and generating the curve values that can ben be evaluated to drive character poses.

/*
** Example: fbxClip.kl
*/

require Fbx, FbxHelpers;

operator entry(){
  // Load an Fbx file to provide the clip data. 

  FilePath path = FilePath("${FABRIC_SCENE_GRAPH_DIR}/Python/Apps/Resources/Fbx/BendyBox.fbx").expandEnvVars();
  FbxClip fbxClip(path.string());

  // Report a descrition string of the clip contents after loading.
  report(fbxClip.getDesc());

  // Evaluate the clip over time, reporiting the generated clip values
  Vec2 timeRange = fbxClip.getTimeRange();
  report("timeRange:" + timeRange);
  Integer keyIndices[][];
  Integer numSamples = 6;
  for(Integer i=0; i<=numSamples; i++){
    Scalar time = Math_linearInterpolate(timeRange.x, timeRange.y, Scalar(i)/Scalar(numSamples));

    IClipValues clipValues = fbxClip.evaluate(time, keyIndices);
    report("time:" + time);
    report(clipValues.getDesc());
  }
}

/*
** Output:

FbxClip { 
  animationLayerName: 
  Clip:{ 
    Bone002:    KeyframeTrackSet { 
      name: Bone002,
      valueType: Euler,
      flags: 8,
      tracks:[ 
        KeyframeTrack { 
          name: "euler.x",
          color: {r:+1.0,g:+0.0,b:+0.0,a:+1.0},
          defaultValue: +0.0,
          numKeys:3,
        },
        KeyframeTrack { 
          name: "euler.y",
          color: {r:+0.0,g:+1.0,b:+0.0,a:+1.0},
          defaultValue: +0.0,
          numKeys:3,
        },
        KeyframeTrack { 
          name: "euler.z",
          color: {r:+0.0,g:+0.0,b:+1.0,a:+1.0},
          defaultValue: +0.0,
          numKeys:3,
        },
      ],
    },
  }
}

timeRange:{x:+0.0,y:+3.333}
time:+0.0
ClipValues:{ 
  Bone002={v:{x:-0.619608e-5,y:+5.140464e-8,z:+0.745868e-2},w:+1.0} 
}
time:+0.5555
ClipValues:{ 
  Bone002={v:{x:-0.604055e-5,y:-1.382781e-6,z:+0.238494},w:+0.971191} 
}
time:+1.111
ClipValues:{ 
  Bone002={v:{x:-0.55572e-5,y:-2.742279e-6,z:+0.456604},w:+0.889648} 
}
time:+1.6665
ClipValues:{ 
  Bone002={v:{x:-0.477209e-5,y:-0.395253e-5,z:+0.649902},w:+0.760009} 
}
time:+2.222
ClipValues:{ 
  Bone002={v:{x:-0.477116e-5,y:-0.395346e-5,z:+0.650024},w:+0.759887} 
}
time:+2.7775
ClipValues:{ 
  Bone002={v:{x:-0.583846e-5,y:-2.077315e-6,z:+0.349975},w:+0.936767} 
}
time:+3.333
ClipValues:{ 
  Bone002={v:{x:-0.619608e-5,y:+5.140464e-8,z:+0.745868e-2},w:+1.0} 
}

*/

FbxClip FbxClip FbxClip Clip Clip FbxClip->Clip IClip IClip Clip->IClip

Members

String name  
ITrackSet[String] trackSets  
Integer[][] keyIndices  
String filePath  
FbxHandle handle  
ImporterIdentifier[] identifiers  
String animationLayerName  

Methods

  FbxClip ( in FbxClip other )
  FbxClip ( in FbxHandle handle )
  FbxClip ( in String filePath )
  FbxClip ( in String filePath, in Scalar scaleFactor )
  FbxClip ()
FbxClip clone ? ()
String getDesc ? ( in String indent )
String getDesc ? ()
String getFilePath ? ()
Clip toClip ? ()
IClip toIClip ? ()

Methods in detail

FbxClip ( in FbxClip other )

copy constructor


FbxClip ( in FbxHandle handle )

Constructor from a file handle. Construct a clip from an already open file handle. This enables a file handle already open to be used to construct a clip. The file handle might come from an FbxCharacter that was already constructed.


FbxClip ( in String filePath )

Constructor from a file path.

filePath the path to the fbx file on disk to load


FbxClip ( in String filePath, in Scalar scaleFactor )

Constructor from a file path and scale factor.

注釈

The scale factor can be used to scale animation to fit a character exported at a different scale factor.

filePath the path to the fbx file on disk to load
scaleFactor The scale factor to apply to the animation data (obsolete)


FbxClip ()

default constructor


FbxClip FbxClip.clone? ()

clone method


String FbxClip.getDesc? ( in String indent )

Generates a Description string of this FbxClip.

indent The indentation to use when generating the string.


String FbxClip.getDesc? ()

Generates a Description string of this FbxClip.


String FbxClip.getFilePath? ()

Returns the file path used to construct the FbxClip


Clip FbxClip.toClip? ()

returns this FbxClip as an Clip


IClip FbxClip.toIClip? ()

returns this FbxClip as an IClip