コントローラ イーズ カーブと乗数カーブ関数

addEaseCurve <controller> [ <float_controller> ]     

指定されたコントローラにイーズ カーブを追加します。

そのカーブに対して、オプションの実数コントローラを追加でき、関数に既定値の実数コントローラを生成させることもできます。

トラック ビューにイーズ カーブを追加すると、現在のアニメーション範囲の先頭および末尾に自動的にキーが作成されます。addEaseCurve() メソッドはこのようなキーを生成しないため、イーズ カーブ コントローラにこれらを追加する必要があります。

3ds Max 2013 で導入された手続き型リタイム コントローラのインスタンスを 2 番目の引数として渡すことで、キーの代わりにマーカを使用して新しいリタイム ワークフローを有効にできます。

deleteEaseCurve <controller> <index>   

インデックスで指定されたイーズ カーブをコントローラから削除します。インデックスは基数 1 で、カーブがもともとコントローラに追加されていたのと同じ順序となります。

numEaseCurves <controller>

コントローラ上で稼働中のイーズ カーブの数を返します。

applyEaseCurve <controller> <time>

指定されたコントローラ内の複合イーズ カーブを指定された時間値に適用し、変換した時間を返します。

getEaseCurve <controller> <index>

指定したコントローラのインデックス付きのイーズ カーブ(bezier_float コントローラ)を返します。インデックスは基数 1 で、カーブがもともとコントローラに追加されていたのと同じ順序となります。

addMultiplierCurve <controller> [ <float_controller> ]

乗数カーブを、指定されたコントローラに適用します。

そのカーブに対して、オプションの実数コントローラを追加でき、関数に既定値の実数コントローラを生成させることもできます。

トラック ビューに乗数カーブを追加すると、現在のアニメーション範囲の先頭および末尾に自動的にキーが作成されます。addMultiplierCurve() メソッドはこのようなキーを生成しないため、乗数カーブ コントローラにこれらを追加する必要があります。

deleteMultiplierCurve <controller> <index_integer>

インデックスで指定された乗数カーブをコントローラから削除します。インデックスは基数 1 で、カーブがもともとコントローラに追加されていたのと同じ順序となります。

numMultiplierCurves <controller>

コントローラ上でそのとき稼働中の乗数カーブの数を返します。

getMultiplierValue <controller> <time>

指定された時間値でのコントローラ内の乗数カーブの複合 (浮動小数点) 値を返します。

getMultiplierCurve <controller> <index>

指定したインデックスのマルチプライヤ カーブ(bezier_float コントローラ)を返します。インデックスは基数 1 で、カーブがもともとコントローラに追加されていたのと同じ順序となります。

関連プロパティ

イーズ カーブがコントローラに割り当てられている場合、次のコントローラ関連のサブプロパティを使用できます。

<controller>.Ease_Curve -- the controller's ease curve value
<controller>.Ease_Curve.controller -- the ease curve controller itself

乗数カーブがコントローラに割り当てられている場合、次のコントローラ関連のサブプロパティを使用できます。

<controller>.Multiplier_Curve -- the controller's multiplier curve value
<controller>.Multiplier_Curve.controller -- the multiplier curve controller itself
注:

イーズ カーブ コントローラでは、値は整数時間のティックとして格納されます。

次のスクリプトは、上記メソッドの例を示しています。

    --controller test bed 3
    b=box height:10
    at time 5 animate on b.height=50
    at time 10 animate on b.height=100
    bhc=b.height.controller
    ec=bezier_float()
    at time 0 animate on ec.value = 0
    at time 100 animate on ec.value=100*ticksPerFrame
    setBeforeORT ec #linear
    setAfterORT ec #linear
    addEaseCurve bhc ec
    applyEaseCurve bhc 50
    addEaseCurve bhc ec
    numEaseCurves bhc
    deleteEaseCurve bhc 2
    numEaseCurves bhc
    at time 50 bhc.ease_curve
    mc=bezier_float()
    at time 0 animate on mc.value = 1
    at time 100 animate on mc.value = 2
    addMultiplierCurve bhc mc
    at time 50 bhc.multiplier_curve