/*
This example illustrates how to use the time control to clip the source.
*/
NewScene( null, false );
var oRoot = Application.ActiveSceneRoot;
var oNull = oRoot.AddNull( "myNull");
SelectObj("myNull", "", 1);
var oPosX = oNull.Parameters("Posx");
// Create and connect an function curve to the position x
var oFCurve = oPosX.AddFCurve2([1, 5, 50, 0, 100, 5], siUnknownFCurve);
// This value should be 5
SetValue("PlayControl.Current", 100);
LogMessage("The animated value at frame 100 is " + oPosX.Value);
// Create the animation source
SetValue("PlayControl.Current", 1);
var oSource = StoreAction(oRoot,"myNull.kine.local.posx",2,"StoredFcvPose", 1, 1, 100, 0,0);
// Create the first clip
var oClip = AddClip(oRoot, oSource);
oTimeControl = oClip.TimeControl;
oTimeControl.Parameters("extrapaft_type").Value = siTimeControlExtrapolationHold;
oTimeControl.Parameters("extrapaft_timehold").Value = 55;
oTimeControl.Parameters("ClipOut").Value = 50;
SetValue("PlayControl.Current", 100);
LogMessage("The clip in value is " + oTimeControl.ClipOut)
// Now the value should be 0.
LogMessage("The value after the clip manipulation is " + Selection(0).Parameters("Posx").Value);
// Expected results:
//INFO : The animated value at frame 100 is 5
//INFO : The clip in value is 50
//INFO : The value after the clip manipulation is 0
|