FCurve.Fit

導入

v 5.1

詳細

F カーブを指定した時間範囲内にフィットさせます。F カーブの元のシェイプを維持しながら、余分なキーを削除します。

注:F カーブがロックされているか、内部のいずれかのキーがロックされている場合は、'Access Denied'(E_ACCESSDENIED)エラーが発生します。

スクリプト 構文

FCurve.Fit( [StartFrame], [EndFrame], [FittingTolerance] );

パラメータ

パラメータ タイプ 詳細
StartFrame Variant フィットさせる範囲の開始時間EndFrame 値よりも低い値にする必要があります。

デフォルト値:F カーブの最初のキーフレーム。キーがない場合は、PlayControlの In フレーム値

EndFrame Variant フィットさせる範囲の終了時間(フレーム単位)

デフォルト値:最後のキーフレーム。キーがない場合は、PlayControlの Out フレーム値

FittingTolerance Double フィットの精度を調整します(つまり、F カーブとフィットされたF カーブの最大距離を指定します)。小さい値を指定すると使用するキーの数が多くなり、カーブの元の形状に近いカーブが得られます。大きい値を指定すると使用するキーの数が少なくなり、元のカーブとは異なるカーブが得られます。この値は 0より大きい値である必要があります。

デフォルト値: 0.1

JScript の例

/*
        This example illustrates how to use FCurve.Fit method
*/
// Create a null
NewScene("", false);
var nullobj = Application.ActiveSceneRoot.AddNull();
// Use the Resample method to add keys to empty fcurves
nullobj.posx.AddFCurve().Resample();
nullobj.posy.AddFCurve().Resample();
var posxFC = nullobj.posx.Source;
var posyFC = nullobj.posy.Source;
Application.LogMessage( "posx curve : " + posxFC.GetNumKeys() );
Application.LogMessage( "posy curve : " + posyFC.GetNumKeys() );
// Fit the posx curve
posxFC.Fit();
Application.LogMessage( "fitted posx curve : " + posxFC.GetNumKeys() );
Application.LogMessage( "posy curve : " + posyFC.GetNumKeys() );
// Outputs:
//INFO : posx curve : 100
//INFO : posy curve : 100
//INFO : fitted posx curve : 2
//INFO : posy curve : 100

関連項目

FCurve.Resample FCurve.Smooth