y=f(x)の関数を指定して、移動方法を指定できます。

使い方

関数の作成

まずは、カスタムオブジェクトからMathTrackをタイムライン上に用意します。

トラックバーの軌道番号を任意の値に設定してください。すると、このようなグラフが画面に表示されます。

設定ダイアログを開くと、以下の設定項目が表示されます。

設定ダイアログのコード[y=]から関数をLua構文で指定すると、y=f(x)の関数をグラフ上に描画します。
X上限X下限Y上限Y下限からグラフの範囲を指定することができます。ただし、Y範囲を自動決定にチェックすると、Y上限とY下限は自動的に計算されます。

例えば、math.sin(x)と指定すると、以下のようなグラフが表示されます(X下限:0、X上限:2*math.pi)。

移動方法の指定

移動方法をMathTrackにしてください。

設定 [0]をクリックし、移動フレーム間隔をカスタムオブジェクトで指定した軌道番号にすると、グラフで指定した移動方法を行います。

この値はグローバル変数上に記録されているため、AviUtlを再起動などすると、数値はリセットされます。
再度グラフを画面上に表示し、Luaスクリプトを読み込ませると、移動方法が反映されるようになります。

グラフの保存

グラフのデータはluaファイルとして保存することができます。このデータは、MathTrack.objと同じ階層にあるMathTrackフォルダ内に、trackXX.luaとして保存されます。
カスタムオブジェクトのトラックバーR/Wを設定することで、グラフをデータに保存したり、データから読み込んだりすることができます。
データの読み書きの成否は、グラフ上に赤い文字で表示されます。なにかしらの理由で失敗したときは、「Failed」と表示されます。

1:グラフをデータに保存
-1:グラフをデータから読み込み

設定ダイアログ上で上書き保存にチェックしていると、既にグラフのデータが存在していても、それを上書きして保存します。

グラフのデータは以下のようなluaスクリプトとなっており、自身で新たなコードを記述することで、複雑なグラフを描画することも可能です。

設定項目

場所内部変数名前概要
トラックバーobj.track0サイズ数値グラフの表示サイズを指定します。
obj.track1 
obj.track2R/W数値1:グラフのデータをtrackXX.luaに保存する。
-1:trackXX.luaからグラフのデータを読み込む。
obj.track3軌道番号数値移動方法を指定する際に使用するグラフの番号。
パラメータ設定modeOverwrite上書き保存数値(chk)オンにすると、既にtrackXX.luaが存在していても、上書きしてデータを保存する。
fxコード[y=]文字列グラフの関数をy=f(x)の形式でLua構文として記述します。
_maxXX上限数値グラフを表示する際の表示範囲を指定します。
_minXX下限数値
_maxYY上限数値
_minYY下限数値
modeAutoYRangeY範囲を自動決定数値(chk)オンにすると、Y上限Y下限をグラフの数値から自動で決定します。
ShowAssistLine補助線数値(chk)オンにすると、グラフの点の補助線を表示します。
ShowPosition座標表示数値(chk)オンにすると、グラフの点の座標を表示します。
modePosition座標表示方法[0-2]数値座標の表示方法を数値で指定します。

ダウンロード

rikky_moduleが必要です