クリップが使用しているソースの最後のフレームをDoubleとして戻します。ソースの途中でクリップを終了するには、この値を減らしてクリップをトリミングします。
[Time Control]プロパティエディタでは、ソースクリッピングの下の[一般]タブ上に現れます。
// get accessor Double rtn = TimeControl.ClipOut; |
/* 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 |