FCurve.Scale

導入

v6.0

詳細

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

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

警告: このメソッドでのスケールで、負の値は使用できません。

スクリプト 構文

FCurve.Scale( [FrameFactor], [ValueFactor], [FrameAnchor], [ValueAnchor] );

パラメータ

パラメータ タイプ 詳細
FrameFactor Double F カーブの時間をスケールする相対量

デフォルト値: 1.0

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

デフォルト値: 1.0

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

デフォルト値: 0.0

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

デフォルト値: 0.0

JScript の例

// 
// This example illustrates how to scale an fcurve to 50% of the original fcurve.
// 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.Scale( 0.5, 0.5, 0.0, 7.5 );
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: 6.25
//INFO : Time: 0.5, Value: 6.75
//INFO : Time: 1, Value: 7.25
//INFO : Time: 1.5, Value: 7.75
//INFO : Time: 2, Value: 8.25
//INFO : Time: 2.5, Value: 8.75

関連項目

FCurve.ScaleKeys FCurve.Offset FCurve.OffsetKeys