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