AnimationSourceItemのソース(DataSource)をFCurveとして設定します。この方法を使用するには 2 つの方法があります。
(1)新しい FCurve ソースを指定します (ActionSource.AddSourceItem() で新しい AnimationSourceItem を作成した後など)。
(2) 既存のDataSourceをFCurveソースに置き換えます。
FCurve AnimationSourceItem.SetAsFCurve( Object in_KeyValueArray, Object in_vInterpolation, Object in_vType, Object in_vExtrapolation ); |
oReturn = AnimationSourceItem.SetAsFCurve( KeyValueArray, [Interpolation], [Type], [Extrapolation] ); |
| パラメータ | タイプ | 説明 |
|---|---|---|
| KeyValueArray | キーデータのArray | 配列には 1D 配列または 2D 配列を使用できます。2D 配列では、最初の次元でキーの値を定義する必要があります。補間型 siCubicInterpolation(siFCurveInterpolationを参照)の F カーブではキーごとに 6 つの値が含まれ、他の補間型の F カーブでは 2 つの値が含まれます。最初の値はキーの時間(フレーム)で、2 番目の値はキーの値(値単位)です。キュービック(ベジェ)F カーブの場合、残りの 4 つの値はタンジェンシ値です。lefttanx(フレーム)、lefttany(値単位)、righttanx(フレーム)、righttany(値単位)。 |
| Interpolation | siFCurveInterpolation |
F カーブの補間 デフォルト値:パラメータのタイプによって決定 |
| Type | siFCurveType |
F カーブのタイプ デフォルト値:パラメータのタイプによって決定 |
| Extrapolation | siFCurveExtrapolation |
F カーブのエクストラポレーション デフォルト値:パラメータのタイプによって決定 |
' Create an ActionSource with one fcurve that will drive the global posx of anything called "Model".
NewScene , false
set oRoot = Application.ActiveProject.ActiveScene.Root
set oActionSource = oRoot.addactionsource("MyActionSource")
set oSourceItem = oActionSource.addsourceitem( "Model.kine.global.posx" )
set oFCurve = oSourceItem.SetAsFcurve( Array(1,-10,,,,Empty,50,0,,,,Empty,100,50,,,,Empty) )
for each oKey in oFCurve.Keys
LogMessage oKey.Time & ", " & oKey.Value
next
' Output of above script:
'INFO : 1, -10
'INFO : 50, 0
'INFO : 100, 50 |