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スクリプトとなっており、自身で新たなコードを記述することで、複雑なグラフを描画することも可能です。
1 2 3 4 5 6 7 8 | return { func="x", maxX=100, minX=0, maxY=100, minY=0, autoY=1 } |
設定項目
場所 | 内部変数 | 名前 | 値 | 概要 |
トラックバー | obj.track0 | サイズ | 数値 | グラフの表示サイズを指定します。 |
obj.track1 | – | – | ||
obj.track2 | R/W | 数値 | 1 :グラフのデータをtrackXX.luaに保存する。-1 :trackXX.luaからグラフのデータを読み込む。 | |
obj.track3 | 軌道番号 | 数値 | 移動方法を指定する際に使用するグラフの番号。 | |
パラメータ設定 | modeOverwrite | 上書き保存 | 数値(chk) | オンにすると、既にtrackXX.luaが存在していても、上書きしてデータを保存する。 |
fx | コード[y=] | 文字列 | グラフの関数をy=f(x)の形式でLua構文として記述します。 | |
_maxX | X上限 | 数値 | グラフを表示する際の表示範囲を指定します。 | |
_minX | X下限 | 数値 | ||
_maxY | Y上限 | 数値 | ||
_minY | Y下限 | 数値 | ||
modeAutoYRange | Y範囲を自動決定 | 数値(chk) | オンにすると、Y上限 ・Y下限 をグラフの数値から自動で決定します。 | |
ShowAssistLine | 補助線 | 数値(chk) | オンにすると、グラフの点の補助線を表示します。 | |
ShowPosition | 座標表示 | 数値(chk) | オンにすると、グラフの点の座標を表示します。 | |
modePosition | 座標表示方法[0-2] | 数値 | 座標の表示方法を数値で指定します。 |
ダウンロード
rikky_moduleが必要です