FCurve.RemoveKeysAtIndex

導入

v3.0

詳細

StartIndex から StartIndex + Count までのすべてのキーを削除します。

注:F カーブがロックされている場合は、'Access Denied'(E_ACCESSDENIED)エラーが発生します。キーロックは、OverrideKeyLock 引数を使用して上書きできます。

C#構文

FCurve.RemoveKeysAtIndex( Int32 in_StartIndex, Int32 in_Count, Boolean in_OverrideKeyLock );

スクリプト構文

FCurve.RemoveKeysAtIndex( StartIndex, Count, [OverrideKeyLock] );

パラメータ

パラメータ タイプ 説明
StartIndex Long キーの削除を開始するキーインデックス

注:キーのインデックスは、有効な(0から(キーの数- 1)までの値)である必要があります。
Count Long. 削除するキーの数

注:有効な値は、1~(キーの数から開始インデックスを引いた値)の間の値だけです。
OverrideKeyLock Boolean FCurveKey.Locked 値を上書きして、強制的にキーを削除します。

デフォルト値: false

JScript の例

/*

	This JScript example illustrates how to use the FCurve.RemoveKeysAtIndex method

	to remove keys from the entire curve or interval on the fcurve.

*/

// Create a null

Application.NewScene( "", false );

var nullobj = ActiveSceneRoot.AddNull();

var empty;

// Add a custom property set to the null

var cpset = nullobj.AddCustomProperty( "CustomPSet" );

var x = cpset.AddParameter( "X", siDouble, empty, siAnimatable, "X", "X", empty, 0.25, 0, 10 );

var y = cpset.AddParameter( "Y", siInt4, empty, siAnimatable, "Y", "Y", empty, 5, 0, 100 );

// Create some fcurves

var fc1 = x.AddFCurve();

var fc2 = y.AddFCurve();

// Add keys to the fcurves

fc1.Resample();

fc2.Resample();

// Lock all the keys on fc2

for ( i=0; i<fc2.GetNumKeys(); i++ )

{

	key = fc2.GetKeyAtIndex(i);

	key.Locked = true;

}

var cKeys = 10, startframe, endframe;

// Remove 10 keys starting at index 10

startframe = fc1.GetKeyFrame(10);	

endframe = fc1.GetKeyFrame(10 + cKeys - 1);

LogMessage( "keys in interval " + startframe + "-" + endframe + " : " + fc1.GetNumKeys(startframe,endframe) );

fc1.RemoveKeysAtIndex(10,10);

LogMessage( "keys remaining in interval " + fc1.GetNumKeys( startframe, endframe ) );

// remove 10 keys starting at index 0 and override the key lock

startframe = fc2.GetKeyFrame(0);	

endframe = fc2.GetKeyFrame( cKeys-1 );

LogMessage( "keys in interval " + startframe+"-"+endframe+" : " +  fc1.GetNumKeys(startframe,endframe) );

fc2.RemoveKeysAtIndex( 0, 10, true );

LogMessage( "keys remaining in interval " + fc2.GetNumKeys(startframe,endframe) );

// Outputs:

//INFO : "keys in interval 11-20 : 10"

//INFO : "keys remaining in interval 0"

//INFO : "keys in interval 1-10 : 10"

//INFO : "keys remaining in interval 0"

関連項目

FCurve.RemoveKey FCurve.RemoveKeyAtIndex FCurve.RemoveKeys