FCurve.ScaleKeys

導入

v6.0

詳細

F カーブキーを時間または相対量による値でスケールします。スケール量は、キーフレームのバウンディングボックスとアンカーポイントに対する相対値です。そのため値が 0.5 の場合はキーが 50% スケールされることがあります。

注:別の F カーブの KeyCollection の場合、このメソッドを使用すると'Invalid argument'(E_INVALIDARG)エラーが発生します。

F カーブがロックされている場合は、'Access Denied'(E_ACCESSDENIED)エラーが発生します。

C#構文

FCurve.ScaleKeys( FCurveKeyCollection in_Keys, Double in_FrameFactor, Double in_ValueFactor, Object in_FrameAnchor, Object in_ValueAnchor, Boolean in_Ripple );

スクリプト構文

FCurve.ScaleKeys( KeyCollection, [FrameFactor], [ValueFactor], [FrameAnchor], [ValueAnchor], [Ripple] );

パラメータ

パラメータ タイプ 説明
KeyCollection FCurveKeyCollection オフセットのキー。
FrameFactor Double F カーブの時間をスケールする相対量

デフォルト値: 1.0

ValueFactor Double F カーブの値をスケールする相対量

デフォルト値: 1.0

FrameAnchor Variant フレームのスケールの中央点

デフォルト値: 0.0

ValueAnchor Variant 値のスケールの中心点

デフォルト値: 0.0

Ripple Boolean true の場合はKeyCollection の最初のキーの前と最後のキーの後のキーがオフセットされ、スケールされたキーからの距離が維持されます。

デフォルト値: False

JScript の例

// 

// This example illustrates how to scale some fcurve keys by 50%.

// Create a new scene

NewScene(null, false);

// Create a null

oNull = Application.GetPrim("Null");

// Get the posx parameter of the null

oPosX = oNull.posx

// Create array of time-value pairs

aKeys = new Array( 0.00, 5.00,

				1.00, 6.00,

				2.00, 7.00,

				3.00, 8.00,

				4.00, 9.00,

				5.00, 10.00 );

// Create an empty FCurve

oFCurve = oPosX.AddFCurve2( null, siStandardFCurve );

// Set the fcurve keys

oFCurve.SetKeys( aKeys );

Application.LogMessage( 'Before Scaling:', siInfo );

for (var i = 0; i < oFCurve.Keys.Count; i++) 

{

	Application.LogMessage( 'Time: ' + oFCurve.Keys(i).Time + ', Value: ' + oFCurve.Keys(i).Value, siInfo );

}

oFCurve.ScaleKeys( oFCurve.GetKeysBetween( 2, 4 ), 0.5, 0.5, 3.0, 7.5, false );

Application.LogMessage( 'After Scaling:', siInfo );

for (var i = 0; i < oFCurve.Keys.Count; i++) 

{

	Application.LogMessage( 'Time: ' + oFCurve.Keys(i).Time + ', Value: ' + oFCurve.Keys(i).Value, siInfo );

}

// Produces the following output:

//

//INFO : Before Scaling:

//INFO : Time: 0, Value: 5

//INFO : Time: 1, Value: 6

//INFO : Time: 2, Value: 7

//INFO : Time: 3, Value: 8

//INFO : Time: 4, Value: 9

//INFO : Time: 5, Value: 10

//INFO : After Scaling:

//INFO : Time: 0, Value: 5

//INFO : Time: 1, Value: 6

//INFO : Time: 2.5, Value: 7.25

//INFO : Time: 3, Value: 7.75

//INFO : Time: 3.5, Value: 8.25

//INFO : Time: 5, Value: 10

関連項目

FCurve.Scale FCurve.Offset FCurve.OffsetKeys