値 > MAXWrapper > コントローラ > イーズ曲線とマルチプライヤ曲線関数 |
addEaseCurve <controller> [ <float_controller> ]
指定されたコントローラにイーズ カーブを追加します。
そのカーブに対して、オプションの実数コントローラを追加でき、関数に既定値の実数コントローラを生成させることもできます。
トラック ビューにイーズ カーブを追加すると、現在のアニメーション範囲の先頭および末尾に自動的にキーが作成されます。 addEaseCurve() メソッドはこのようなキーを生成しないため、イーズ カーブ コントローラにこれらを追加する必要があります。
3ds Max 2013 で導入された手続き型リタイム コントローラのインスタンスを 2 番目の引数として渡すことで、キーの代わりにマーカを使用して新しいリタイム ワークフローを有効にできます。
deleteEaseCurve <controller> <index_integer>
インデックスで指定されたイーズ曲線をコントローラから削除します。インデックスは基数 1 で、カーブがもともとコントローラに追加されていたのと同じ順序となります。
numEaseCurves <controller>
コントローラ上で稼働中のイーズ曲線の数を返します。
applyEaseCurve <controller> <time>
指定されたコントローラ内の複合イーズ曲線を指定された時間値に適用し、変換した時間を返します。
getEaseCurve <controller> <index>
指定したインデックスのイーズ カーブ(bezier_float コントローラ)を返します。
addMultiplierCurve <controller> [ <float_controller> ]
乗数曲線を、指定されたコントローラに適用します。
そのカーブに対して、オプションの実数コントローラを追加でき、関数に既定値の実数コントローラを生成させることもできます。
トラック ビューにイーズ カーブを追加すると、現在のアニメーション範囲の先頭および末尾に自動的にキーが作成されます。 addMultiplierCurve() メソッドはこのようなキーを生成しないため、イーズ カーブ コントローラにこれらを追加する必要があります。
deleteMultiplierCurve <controller> <index_integer>
インデックスで指定されたマルチプライヤ曲線をコントローラから削除します。インデックスは基数 1 で、カーブがもともとコントローラに追加されていたのと同じ順序となります。
numMultiplierCurves <controller>
コントローラ上でそのとき稼働中のマルチプライヤ曲線の数を返します。
getMultiplierValue <controller> <time>
指定された時間値でのコントローラ内のマルチプライヤ曲線の複合 (浮動小数点) 値を返します。
getMultiplierCurve <controller> <time>
指定したインデックスのマルチプライヤ カーブ(bezier_float コントローラ)を返します。
関連プロパティ
イーズ カーブがコントローラに割り当てられている場合、次のコントローラ関連のサブプロパティを使用できます。
<controller>.Ease_Curve -- the controller’r s ease curve value
<controller>.Ease_Curve.controller -- the ease curve controller itself
乗数曲線がコントローラに割り当てられている場合、次のコントローラ関連のサブプロパティを使用できます。
<controller>.Multiplier_Curve -- the controller’r 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 |