折れ線やベジェ曲線で図形を描画したり,その図形を利用したフィルタ効果をかける AivUtl ExEdit 2 のスクリプトです.
次が追加されます:
- パス図形σ (オブジェクト)
- ラインσ (オブジェクト)
- スパイラルσ (オブジェクト)
- アローσ (オブジェクト)
- スクウェアσ (オブジェクト)
- パスマスクσ (フィルタ効果)
- パスマスク(ライン)σ (フィルタ効果)
- パス部分フィルタσ (フィルタ効果)
- パスに沿って配置σ (フィルタ効果)
-
AviUtl ExEdit2
http://spring-fragrance.mints.ne.jp/aviutl
beta25で動作確認済み.
以下のフォルダのいずれかに @Path_S.obj2, @Path_S.anm2, Path_S.lua の 3 つのファイルをコピーしてください.
- スクリプトフォルダ
- AviUtl2 のメニューの「その他」 ➡️ 「アプリケーションデータ」 ➡️ 「スクリプトフォルダ」で表示されます.
- (1) のフォルダにある任意の名前のフォルダ
- AviUtl2 のウィンドウにドラッグ&ドロップする方法での導入はできません.
You may be able to find language translation file for this script from this repository. Translation files enable names and parameters of the scripts / filters to be displayed in other languages.
Although, usage documentations for this script in languages other than Japanese are not available now.
4 つのオブジェクトと 4 つのフィルタ効果が追加されます.
- 追加メニュー内の分類は「オブジェクト追加メニューの設定」の「ラベル」項目で変更できます.
パスに沿ったラインと,パス内を塗りつぶした図形を描画するオブジェクトです.
- 初期状態だと「オブジェクトを追加」メニューの「Path_S ➡️ 図形」に「パス図形σ@Path_S」が追加されています.
波線やジグザグ線など,よく使われるパターンのライン形状を描画するオブジェクトです.
- 初期状態だと「オブジェクトを追加」メニューの「Path_S ➡️ 図形」に「ラインσ@Path_S」が追加されています.
渦巻の形のラインを描画するオブジェクトです.
- 初期状態だと「オブジェクトを追加」メニューの「Path_S ➡️ 図形」に「スパイラルσ@Path_S」が追加されています.
パスに沿ったラインと先端図形を配置して,矢印の形を描画するオブジェクトです.
- 初期状態だと「オブジェクトを追加」メニューの「Path_S ➡️ 図形」に「アローσ@Path_S」が追加されています.
角丸四角形を描画するオブジェクトです.
Basic_S の「角丸矩形」に比べて,角の形状は 1 種類しかなく,曲線の精度も落ちますが,ライン部分を破線にしたりランダムに動かしたりができます.
- 初期状態だと「オブジェクトを追加」メニューの「Path_S ➡️ 図形」に「スクウェアσ@Path_S」が追加されています.
パスで囲った範囲で画像を切り抜くフィルタ効果です.
- 初期状態だと「フィルタ効果を追加」メニューの「Path_S ➡️ クリッピング」に「パスマスクσ@Path_S」が追加されています.
パスの通ったライン上の画像を切り抜くフィルタ効果です.
- 初期状態だと「フィルタ効果を追加」メニューの「Path_S ➡️ クリッピング」に「パスマスク(ライン)σ@Path_S」が追加されています.
パスで囲った範囲のみに,後続のフィルタ効果を適用するフィルタ効果です.
- 初期状態だと「フィルタ効果を追加」メニューの「Path_S ➡️ 加工」に「パス部分フィルタσ@Path_S」が追加されています.
パスに沿ってオブジェクトを配置するフィルタ効果です.個別オブジェクトでも間隔を空けて配置できます.
- 初期状態だと「フィルタ効果を追加」メニューの「Path_S ➡️ 配置」に「パスに沿って配置σ@Path_S」が追加されています.
追加されるオブジェクトやフィルタ効果には一部,共通した設定項目があります.
それに加えて各オブジェクトやフィルタごとに固有の項目もあります.
パスに含まれる "頂点" の個数を指定します.
- 「線タイプ」が
折れ線,補間移動の場合 ➡️ 指定する点の個数がそのまま "頂点" の数. - 「線タイプ」が
2次ベジェ曲線,3次ベジェ曲線の場合 ➡️ 制御点を除いた点の個数が "頂点" の数.
最小値は 2 (主に線を描画するもの) または 3 (主にパス内部を描画するもの), 初期値は 4.
パスの曲線の形状を指定します.
| 線タイプ | 例 | 備考 |
|---|---|---|
折れ線 |
![]() |
|
補間移動 |
![]() |
トラックバー移動方法の「補間移動」と同じ計算式. |
2次ベジェ曲線 |
![]() |
|
3次ベジェ曲線 |
![]() |
初期値. |
初期値は 3次ベジェ曲線.
アンカーで操作した点がここに記録されます.基本的に手入力による設定は想定していません.
この項目をコピーして,「頂点数」「線タイプ」も合わせると,同じパスを別オブジェクト・フィルタ効果で再現できます.
曲線を描画する際,一旦折れ線で近似しますが,その近似精度を指定します.指定した数値分のピクセル数以下の距離間隔の折れ線で近似します.
最小値は 1, 最大値は 128, 初期値は 8.
パスで囲った領域や,ライン部分のアンチエイリアスの幅を指定します.
最小値は 0, 最大値は 1000, 初期値は 1.
ラインを描画するタイプのスクリプトでの設定です.
ラインの幅をピクセル単位で指定します.
最小値は 0, 最大値は 1000, 初期値は 5.
ラインを描画するタイプのスクリプトでの設定です.
ラインをループ形状にするか,別々の2点を端点にするかを選びます.
ラインを描画するタイプのスクリプトでの設定です.
ライン描画の開始位置と終了位置を,ライン全体の長さに対する % 単位で指定します.
-
$\text{開始位置}>\text{終了位置}$ だとラインを描画しません. - 「ループ」が ON の場合,0 % を下回った分はラインの終了点から,100 % を上回った分はラインの開始点からカウントされます.
最小値は -200, 最大値は 200, 初期値は「開始位置」が 0, 「終了位置」が 100.
ラインを描画するタイプのスクリプトでの設定です.
ラインの端点の形状を指定します.「ループ」が OFF の場合のみ有効です.
| 端の形状 | 例 |
|---|---|
円 |
![]() |
四角 |
![]() |
初期値は 円.
Note
「破線パターン」の途切れ目では,この設定によらず 円 に相当する形状になります.
ラインを描画するタイプのスクリプトでの設定です.
ラインを破線として描画できます.
-
「破線パターン」でパターンを指定します.
奇数個目の数値が実線部分,偶数個目が空白部分の長さで,それぞれピクセル単位で指定します.
例:
100,0➡️ 通常の実線 (初期値).80,40➡️ 「80 ピクセルの実線 + 40 ピクセルの空白」の繰り返しパターン.80,40,1,40➡️ 「80 ピクセルの実線 + 40 ピクセルの空白 + 1 ピクセルの実線 + 40 ピクセルの空白」の繰り返しパターン.
初期値は
100,0. 指定できる数値の個数は最大で 256 個までです. -
「破線周期補正」は「ループ」が ON の場合のみ有効です.破線パターンの周期を,ループの長さの整数分の1倍になるように微調整します.
初期値は ON.
-
「破線位置」は破線パターンの開始位置を,ライン開始点からのピクセル単位で指定します.
最小値は -4000, 最大値は 4000, 初期値は 0.
パス内部を塗りつぶすタイプのスクリプトでの設定です.
パスで塗りつぶす範囲を指定ピクセル数だけ膨張させます.
最小値は 0, 最大値は 1000, 初期値は 0.
パス内部を塗りつぶすタイプのスクリプトでの設定です.
パス内部の判定基準を指定します.
| 範囲 | 例 |
|---|---|
内側 |
![]() |
奇偶 |
![]() |
内側反転 |
![]() |
奇偶反転 |
![]() |
- 「反転」の系統は,「追加幅」での膨張の方向にも影響します.
初期値は 内側.
オブジェクト生成のスクリプトでのみの設定です.
パスにランダムさを加えます.
-
「ランダム周期」で指定したピクセル数ごとにパス上の点を分割し,その分割した両端をランダムに動かします.数値が小さいほどギザギザした,細かく動いたパスになります.
最小値は 4, 最大値は 1024, 初期値は 32.
-
「ランダム振幅」は,ランダムで点を移動する最大距離を指定します.0 だと乱数の影響はありません.
最小値は 0, 最大値は 1024, 初期値は 0.
-
「ランダム固定端」が ON のとき,ラインの開始点と終了点は乱数の影響を受けません.
初期値はスクリプトによって異なります.
-
「ランダムシード」は乱数のシードを指定します.
- 正の (正確には非負の) シードだと同じシードでも別オブジェクトだと別の乱数.
- 負のシードだと,同じシードなら別オブジェクトでも同じ乱数.
整数値で指定,最小値は -65536, 最大値は 65535, 初期値は 10000.
図形のライン部分の色と透明度を指定します.
- 「ライン色」の初期値は
808080(50% の灰色). - 「ライン透明度」は % 単位で指定,最小値は 0, 最大値は 100, 初期値は 0 (完全不透明).
図形内部の塗りつぶしの色と透明度を指定します.
- 「塗り色」の初期値は
ffffff(白). - 「塗り透明度」は % 単位で指定,最小値は 0, 最大値は 100, 初期値は 0 (完全不透明).
ラインの終点の X, Y 座標を指定します (始点はオブジェクトの標準描画等の指定座標です).
ピクセル単位で指定,最小値は -4000, 最大値は 4000, 初期値は
ラインの色を指定します.
初期値は ffffff (白).
ラインの形状を指定します.全て周期関数になっていて,周期や位相,振幅は「周期」「周期位置」「振幅」で調整できます.
| 形状 | 式 |
|---|---|
直線 |
|
正弦波 |
|
三角波 |
|
矩形波 |
$$ y=\begin{cases} +1 & \left(\langle x \rangle < \frac{1}{2}\right) \\ -1 & (\text{otherwise}) \end{cases} $$ |
のこぎり波 |
- ここに
$\langle x \rangle = x - \lfloor x \rfloor$ は$x$ の小数部分.
初期値は 正弦波.
ラインの周期関数としての,周期や位相,波としての振幅を指定します.
-
「周期」はピクセル単位で指定,最小値は 4, 最大値は 1024, 初期値は 64.
-
「周期位置」は位相を調整します.開始点からのピクセル数で初期位相の点を指定します.
最小値は -4000, 最大値は 4000, 初期値は 0.
-
「振幅」は波としての振幅をピクセル単位で指定します.
最小値は 0, 最大値は 1024, 初期値は 32.
螺旋の半径に対する角度の移動量の比率を調整します.厳密な解釈は「形状」によって異なりますが,数値 (の絶対値) が大きいほど回転回数が大きくなります.負になると回転方向が逆転します.
| 形状 | 解釈 |
|---|---|
アルキメデス螺旋 |
半径が 1024 ピクセル進むごとに回る周回数. |
対数螺旋 |
中心からの半直線と交わる接線の傾き (正接). |
最小値は -200, 最大値は 200, 初期値は 10.
螺旋図形の色を指定します.
初期値は ffffff (白).
螺旋の種類を指定します.
| 形状 | 例 |
|---|---|
アルキメデス螺旋 |
![]() |
対数螺旋 |
![]() |
初期値は 対数螺旋.
描画する螺旋の範囲を,中心からの距離の範囲でピクセル単位で指定します.
「開始半径」と「終了半径」のどちらが大きくても構いませんが,破線パターンの開始点は「開始半径」の位置が基準になります.
最小値は 0, 最大値は 2000, 初期値は,「開始半径」が 0, 「終了半径」が 256.
螺旋図形全体を回転させます.
角度を時計回りの度数法で指定,最小値は -720, 最大値は 720, 初期値は 0.
螺旋の半径が大きくなるにつれて中心をずらすことができます.半径が 256 ピクセル進むごとにずれる量をピクセル単位で指定します.
マウス操作でアンカーを動かして指定もできます.
最小値は -4000, 最大値は 4000, 初期値は 0.
矢印図形の色を指定します.
初期値は ffffff (白).
矢じり部分の配置を指定します.
| 矢じり配置 | 例 |
|---|---|
なし |
![]() |
終点 |
![]() |
両方 |
![]() |
双方向 |
![]() |
初期値は 終点.
矢じり部分の形状を図形の種類から選びます.SVG ファイルを指定することもできます.
初期値は 三角形.
矢じり部分の大きさを指定します.「矢じりサイズ」で全体の大きさを,「矢じり幅」で横幅部分の比率をそれぞれ指定します.
- 「矢じりサイズ」はピクセル単位で指定,最小値は 0, 最大値は 1024, 初期値は 32.
- 「矢じり幅」は % 単位で指定,最小値は 0, 最大値は 800, 初期値は 100.
矢じり部分の基準位置や回転中心,回転角度を微調整します.
-
「矢じり中心」は基準位置を,元図形の縦方向の位置から % 単位で指定します.0% で中央, -100% で図形の最下端,+100% で再上端の指定です.
最小値は -100, 最大値は 100, 初期値は -50.
-
「矢じり角度」は矢じり部分の向きを調整できます.
時計回りの度数法で指定,最小値は -720, 最大値は 720, 初期値は 0.
矢じり部分のライン上の位置を調整します.ライン全体の長さからの割合で % 単位で指定,通常の基準位置から,正の値でラインの終点に向かって,負の値で始点に向かって動きます.
最小値は -100, 最大値は 100, 初期値は 0.
四角形の幅と高さをピクセル単位で指定します.実際のオブジェクトのサイズは,ライン幅やぼかし幅などでこの数値よりも大きくなります.
最小値は 0, 最大値は 4000, 初期値は 100.
オブジェクトの配置の基準点を変更できます.幅や高さが変化した場合,ここで指定した点が固定されるように配置されます.
% 単位で指定,0% で中央揃え,100% で左/上揃え,-100% で右/下揃えの指定です.
最小値は -100, 最大値は 100, 初期値は 0.
丸角の半径をピクセル単位で指定します.
最小値は 0, 最大値は 2000, 初期値は 40.
四隅の丸角の半径を別々の値に独立に指定できるようになります.
- 「半径均一」が ON の場合,「右上半径」「右下半径」「左下半径」は無視されます.
- 「半径均一」が OFF の場合,「角半径」は左上の丸角の半径を指定,他の 3 頂点もそれぞれ独立に指定できます.
- 「半径均一」の初期値は ON.
- 「右上半径」「右下半径」「左下半径」はピクセル単位で指定,最小値は 0, 最大値は 2000, 初期値は 40.
丸角部分の縦横比を指定します.楕円の形に角を丸めることができます.
% 単位で指定,0 だと縦横が同じサイズ,正だと縦長,負だと横長の丸角になります.
最小値は -100, 最大値は 100, 初期値は 0.
PIを利用すると四隅の縦横比を独立に指定できます.
「角半径」がオブジェクトの幅や高さに比べて大きすぎる場合,自動的に半径を縮小して図形を生成しますが,その際に丸角の幅や高さを均一に縮小するかどうかを指定します.
- ON の場合,丸角の幅や高さを均一に縮小します.例えば丸角に真円を指定した場合,幅や高さが小さくても真円のままです.
- OFF の場合,丸角の幅や高さを独立に縮小します.例えば丸角に真円を指定していても,幅や高さが小さいと楕円になることがあります.
初期値は ON.
図形のライン部分の色と透明度を指定します.
- 「ライン色」の初期値は
808080(50% の灰色). - 「ライン透明度」は % 単位で指定,最小値は 0, 最大値は 100, 初期値は 0 (完全不透明).
図形内部の塗りつぶしの色と透明度を指定します.
- 「塗り色」の初期値は
ffffff(白). - 「塗り透明度」は % 単位で指定,最小値は 0, 最大値は 100, 初期値は 0 (完全不透明).
「パスマスクσ」と「パスマスク(ライン)σ」のみの項目です.
マスクによる影響の強さを指定します.
% 単位で指定,最小値は 0, 最大値は 100, 初期値は 100.
フィルタ効果の影響する範囲を反転します.
初期値は OFF.
指定したパスを,各頂点を操作せず拡大・回転・平行移動することができます.
「アンカー切り替え」が ON の場合,「移動X」と「移動Y」をアンカーによるマウス操作でも動かせるようになります.
- 「移動X」と「移動Y」はピクセル単位で指定,最小値は -4000, 最大値は 4000, 初期値は 0.
- 「拡大率」は % 単位で指定,最小値は 0, 最大値は 5000, 初期値は 100.
- 「回転」は時計回りの度数単位で指定,最小値は -720, 最大値は 720, 初期値は 0.
プレビュー画面のアンカーを,「点リスト」の操作と,「移動X」と「移動Y」の操作とで切り替えます.
- OFF の場合は「点リスト」のアンカーを表示・操作.
- ON の場合は「移動X」と「移動Y」のアンカーを表示・操作.
初期値は OFF.
- この項目は
PIによる操作ができません.
オブジェクトを配置する位置を,パス全体の長さからの割合で % 単位で指定します.「ループ」が ON の場合,0 % を下回った分はパスの終了点から,100 % を上回った分はパスの開始点からカウントされます.
最小値は -200, 最大値は 200, 初期値は 0.
オブジェクトの回転角度を指定します.
時計回りの度数法で指定,最小値は -720, 最大値は 720, 初期値は 0.
オブジェクトの角度をパスに沿って調整します.
初期値は ON.
個別オブジェクトのときにのみ有効な設定です.個別オブジェクトそれぞれの配置間隔を,パス全体の長さからの割合で % 単位で指定します.
最小値は -200, 最大値は 200, 初期値は -5.
「位置」や「個別位置ズレ」による計算で,開始点より前や終了点より後ろになった場合の処理を指定します.
非表示➡️ 開始点より前や終了点より後ろの場合は表示しません.始点のみ表示➡️ 開始点より前の場合,開始点に表示します.終了点より後ろの場合は表示しません.終点のみ表示➡️ 開始点より前の場合は表示しません.終了点より後ろの場合,終了点に表示します.表示➡️ 開始点より前や終了点より後ろの場合,それぞれ開始点や終了点に表示します.
- 「ループ」が OFF のときのみ有効な設定です.
初期値は 非表示.
設定したパスを点線で表示します.動画出力時にはやプレビュー時にはこの点線は表示されません.
初期値は OFF.
- この項目は
PIによる操作ができません.
パラメタインジェクション (parameter injection) です.初期値は空欄. テーブル型の中身として解釈され,各種パラメタの代替値として使用されます.また,任意のスクリプトコードを実行する記述領域にもなります.
- テキストボックスには冒頭末尾の波括弧 (
{}) を省略して記述してください. - 一部は別スクリプトからの利用を想定した項目になっています.利用する場合は
Path_S.luaをrequireして,その API も併用してください.
{
num_points = num, -- number 型で "頂点数" の項目を上書き,または nil.
path_type = str, -- string 型で "線タイプ" の項目を上書き,または nil.
points = tab, -- table 型で "点リスト" の項目を上書き,または nil.
precision = num, -- number 型で "曲線精度" の項目を上書き,または nil.
antialias = num, -- number 型で "ぼかし幅" の項目を上書き,または nil.
color_line = num, -- number 型で "ライン色" の項目を上書き,または nil.
alpha_line = num, -- number 型で "ライン透明度" の項目を上書き,または nil.
line = num, -- number 型で "ライン幅" の項目を上書き,または nil.
loop = bool, -- boolean 型で "ループ" を上書き,または nil. 0 を false, 0 以外を true として number 型も可能.
start_pos = num, -- number 型で "開始位置" の項目を上書き,または nil.
end_pos = num, -- number 型で "終了位置" の項目を上書き,または nil.
end_shape = str, -- string 型で "端の形状" の項目を上書き,または nil.
dash_pat = tbl, -- table 型で "破線パターン" の項目を上書き,または nil.
dash_adj = bool, -- boolean 型で "破線周期補正" を上書き,または nil. 0 を false, 0 以外を true として number 型も可能.
dash_pos = num, -- number 型で "破線位置" の項目を上書き,または nil.
color_fill = num, -- number 型で "塗り色" の項目を上書き,または nil.
alpha_fill = num, -- number 型で "塗り透明度" の項目を上書き,または nil.
inflation = num, -- number 型で "塗り追加幅" の項目を上書き,または nil.
mode_fill = str, -- string 型で "塗り範囲" の項目を上書き,または nil.
rand_period = num, -- number 型で "ランダム周期" の項目を上書き,または nil.
rand_amplify = num, -- number 型で "ランダム振幅" の項目を上書き,または nil.
rand_fix_end = bool, -- boolean 型で "ランダム固定端" を上書き,または nil. 0 を false, 0 以外を true として number 型も可能.
rand_seed = num, -- number 型で "ランダムシード" の項目を上書き,または nil.
}{
X = num, Y = num, -- number 型で "終点X", "終点Y" の項目を上書き,または nil.
color = num, -- number 型で "色" の項目を上書き,または nil.
line = num, -- number 型で "ライン幅" の項目を上書き,または nil.
end_shape = str, -- string 型で "端の形状" の項目を上書き,または nil.
line_shape = str, -- string 型で "形状" の項目を上書き,または nil.
antialias = num, -- number 型で "ぼかし幅" の項目を上書き,または nil.
line_period = num, -- number 型で "周期" の項目を上書き,または nil.
line_phase = num, -- number 型で "周期位置" の項目を上書き,または nil.
line_amplify = num, -- number 型で "振幅" の項目を上書き,または nil.
dash_pat = tab, -- table 型で "破線パターン" の項目を上書き,または nil.
dash_pos = num, -- number 型で "破線位置" の項目を上書き,または nil.
rand_period = num, -- number 型で "ランダム周期" の項目を上書き,または nil.
rand_amplify = num, -- number 型で "ランダム振幅" の項目を上書き,または nil.
rand_fix_end = bool, -- boolean 型で "ランダム固定端" を上書き,または nil. 0 を false, 0 以外を true として number 型も可能.
rand_seed = num, -- number 型で "ランダムシード" の項目を上書き,または nil.
}{
slope = num, -- number 型で "傾き" の項目を上書き,または nil.
color = num, -- number 型で "色" の項目を上書き,または nil.
line = num, -- number 型で "ライン幅" の項目を上書き,または nil.
end_shape = str, -- string 型で "端の形状" の項目を上書き,または nil.
line_shape = str, -- string 型で "形状" の項目を上書き,または nil.
precision = num, -- number 型で "曲線精度" の項目を上書き,または nil.
antialias = num, -- number 型で "ぼかし幅" の項目を上書き,または nil.
start_radius = num, -- number 型で "開始半径" の項目を上書き,または nil.
end_radius = num, -- number 型で "終了半径" の項目を上書き,または nil.
rotate = num, -- number 型で "回転" の項目を上書き,または nil.
X = num, Y = num, -- number 型で "ずれX", "ずれY" の項目を上書き,または nil.
dash_pat = tab, -- table 型で "破線パターン" の項目を上書き,または nil.
dash_pos = num, -- number 型で "破線位置" の項目を上書き,または nil.
rand_period = num, -- number 型で "ランダム周期" の項目を上書き,または nil.
rand_amplify = num, -- number 型で "ランダム振幅" の項目を上書き,または nil.
rand_fix_end = bool, -- boolean 型で "ランダム固定端" を上書き,または nil. 0 を false, 0 以外を true として number 型も可能.
rand_seed = num, -- number 型で "ランダムシード" の項目を上書き,または nil.
}{
color = num, -- number 型で "色" の項目を上書き,または nil.
line = num, -- number 型で "ライン幅" の項目を上書き,または nil.
head_type = str, -- string 型で "矢じり配置" の項目を上書き,または nil.
head_fig = str, -- string 型で "矢じり図形" の項目を上書き,または nil.
head_size = num, -- number 型で "矢じりサイズ" の項目を上書き,または nil.
head_width = num, -- number 型で "矢じり幅" の項目を上書き,または nil.
head_center = num, -- number 型で "矢じり中心" の項目を上書き,または nil.
head_rot = num, -- number 型で "矢じり角度" の項目を上書き,または nil.
head_pos = num, -- number 型で "矢じり位置" の項目を上書き,または nil.
num_points = num, -- number 型で "頂点数" の項目を上書き,または nil.
path_type = str, -- string 型で "線タイプ" の項目を上書き,または nil.
points = tab, -- table 型で "点リスト" の項目を上書き,または nil.
precision = num, -- number 型で "曲線精度" の項目を上書き,または nil.
antialias = num, -- number 型で "ぼかし幅" の項目を上書き,または nil.
start_pos = num, -- number 型で "開始位置" の項目を上書き,または nil.
end_pos = num, -- number 型で "終了位置" の項目を上書き,または nil.
end_shape = str, -- string 型で "端の形状" の項目を上書き,または nil.
dash_pat = tab, -- table 型で "破線パターン" の項目を上書き,または nil.
dash_pos = num, -- number 型で "破線位置" の項目を上書き,または nil.
rand_period = num, -- number 型で "ランダム周期" の項目を上書き,または nil.
rand_amplify = num, -- number 型で "ランダム振幅" の項目を上書き,または nil.
rand_fix_end = bool, -- boolean 型で "ランダム固定端" を上書き,または nil. 0 を false, 0 以外を true として number 型も可能.
rand_seed = num, -- number 型で "ランダムシード" の項目を上書き,または nil.
}{
width = num, -- number 型で "幅" を上書き,または nil.
height = num, -- number 型で "高さ" を上書き,または nil.
align_x = num, -- number 型で "水平揃え" を上書き,または nil.
align_y = num, -- number 型で "垂直揃え" を上書き,または nil.
radii = tab_num, -- table 型や number 型で "角半径" や "丸角縦横比" などを上書き,または nil. 詳細は後述.
fixed_aspect = bool, -- boolean 型で "丸角縦横比固定" を上書き,または nil. 0 を false, 0 以外を true として number 型も可能.
antialias = num, -- number 型で "ぼかし幅" の項目を上書き,または nil.
color_line = num, -- number 型で "ライン色" の項目を上書き,または nil.
alpha_line = num, -- number 型で "ライン透明度" の項目を上書き,または nil.
line = num, -- number 型で "ライン幅" の項目を上書き,または nil.
start_pos = num, -- number 型で "開始位置" の項目を上書き,または nil.
end_pos = num, -- number 型で "終了位置" の項目を上書き,または nil.
end_shape = str, -- string 型で "端の形状" の項目を上書き,または nil.
dash_pat = tbl, -- table 型で "破線パターン" の項目を上書き,または nil.
dash_pos = num, -- number 型で "破線位置" の項目を上書き,または nil.
color_fill = num, -- number 型で "塗り色" の項目を上書き,または nil.
alpha_fill = num, -- number 型で "塗り透明度" の項目を上書き,または nil.
inflation = num, -- number 型で "塗り追加幅" の項目を上書き,または nil.
rand_period = num, -- number 型で "ランダム周期" の項目を上書き,または nil.
rand_amplify = num, -- number 型で "ランダム振幅" の項目を上書き,または nil.
rand_seed = num, -- number 型で "ランダムシード" の項目を上書き,または nil.
}Note
Basic_S の「四隅丸め」の PI の radii と同じ形式です.
次の形式が指定できます:
-
number 型 /
{ uniform = r }の table 型四隅の半径を一律に指定.「丸角縦横比」は
0指定に相当 (真円). -
{ uniform = { x, y } }の形式の table 型四隅の半径を,横幅が
x, 高さがyになるように一律に指定 (楕円). -
{ r1, r2, r3, r4 }の形式の table 型四隅の半径を独立に指定.「丸角縦横比」は
0指定に相当 (真円). -
{ { x1, y1 }, { x2, y2 }, { x3, y3 }, { x4, y4 } }の形式の table 型四隅の半径を,横幅が
x1, ..., 高さがy1, ... になるように独立に指定.
角の指定順序は左上から時計回りです.また,上記の指定法は混在させることもできます:
radii = { uniform = 10; { 16, 8 }, nil, 20, nil }- 左上は
$16 \times 8$ , 右上は$10 \times 10$ , 右下は$20 \times 20$ , 左下は$10 \times 10$ .
{
intensity = num, -- number 型で "強さ" の項目を上書き,または nil.
num_points = num, -- number 型で "頂点数" の項目を上書き,または nil.
path_type = str, -- string 型で "線タイプ" の項目を上書き,または nil.
points = tab, -- table 型で "点リスト" の項目を上書き,または nil.
precision = num, -- number 型で "曲線精度" の項目を上書き,または nil.
antialias = num, -- number 型で "ぼかし幅" の項目を上書き,または nil.
inflation = num, -- number 型で "追加幅" の項目を上書き,または nil.
mode_fill = num, -- string 型で "範囲" の項目を上書き,または nil.
invert = bool, -- boolean 型で "反転" を上書き,または nil. 0 を false, 0 以外を true として number 型も可能.
X = num, Y = num, -- number 型で "移動X", "移動Y" の項目を上書き,または nil.
zoom = num, -- number 型で "拡大率" の項目を上書き,または nil.
rotate = num, -- number 型で "回転" の項目を上書き,または nil.
pt_buff = str, -- string 型で, パスの頂点情報を保持している画像バッファ名を指定,または nil. 詳細後述.
}フィールド .pt_buff は "tempbuffer" か "cache:****" の形式の文字列で,Path_S.lua の .send() 関数によって頂点情報が保持されている画像バッファ名を指定します.この場合,次に注意してください:
- 「頂点数」または
.num_pointsにはこのバッファに保持された点の個数を指定すること. - 次のパラメタやフィールドは無視されます:
- 「線タイプ」と
.path_type. - 「点リスト」と
.points. - 「曲線精度」と
.precision. - 「移動X」と
.X, 「移動Y」と.Y. - 「拡大率」と
.zoom. - 「回転」と
.rotate.
- 「線タイプ」と
- 指定された頂点は折れ線と解釈して描画されます.
{
line = num, -- number 型で "ライン幅" の項目を上書き,または nil.
intensity = num, -- number 型で "強さ" の項目を上書き,または nil.
num_points = num, -- number 型で "頂点数" の項目を上書き,または nil.
path_type = str, -- string 型で "線タイプ" の項目を上書き,または nil.
points = tab, -- table 型で "点リスト" の項目を上書き,または nil.
precision = num, -- number 型で "曲線精度" の項目を上書き,または nil.
antialias = num, -- number 型で "ぼかし幅" の項目を上書き,または nil.
loop = bool, -- boolean 型で "ループ" を上書き,または nil. 0 を false, 0 以外を true として number 型も可能.
start_pos = num, -- number 型で "開始位置" の項目を上書き,または nil.
end_pos = num, -- number 型で "終了位置" の項目を上書き,または nil.
end_shape = str, -- string 型で "端の形状" の項目を上書き,または nil.
dash_pat = tab, -- table 型で "破線パターン" の項目を上書き,または nil.
dash_adj = bool, -- boolean 型で "破線周期補正" を上書き,または nil. 0 を false, 0 以外を true として number 型も可能.
dash_pos = num, -- number 型で "破線位置" の項目を上書き,または nil.
invert = bool, -- boolean 型で "反転" を上書き,または nil. 0 を false, 0 以外を true として number 型も可能.
X = num, Y = num, -- number 型で "移動X", "移動Y" の項目を上書き,または nil.
zoom = num, -- number 型で "拡大率" の項目を上書き,または nil.
rotate = num, -- number 型で "回転" の項目を上書き,または nil.
pt_buff = str, -- string 型で, パスの頂点情報を保持している画像バッファ名を指定,または nil. 詳細後述.
len_buff = num, -- number 型で, パス全体のピクセル長を指定,または nil. 詳細後述.
endpt_buff = tab, -- table 型で, パスの両端の座標と方向を記述,または nil. 詳細後述.
}フィールド .pt_buff は "tempbuffer" か "cache:****" の形式の文字列で,Path_S.lua の .send() 関数によって頂点情報が保持されている画像バッファ名を指定します.この場合,次に注意してください:
-
「頂点数」または
.num_pointsにはこのバッファに保持された点の個数を指定すること. -
.len_buffにはパス全体のピクセル長を指定すること. -
「端の形状」または
.end_shapeが四角の場合,.endpt_buffにはパスの両端の座標と方向を記述した配列を指定すること.形式は次の通り:{ x1, y1, -- 始点の座標. dx1, dy1, -- 始点の方向ベクトル. x2, y2, -- 終点の座標. dx2, dy2, -- 終点の方向ベクトル. }- 方向ベクトルは始点から終点へ向かう方向で指定.正規化されている必要はありません.
- 「端の形状」や
.end_shapeが円の場合は.endpt_buffは無視されます.
-
次のパラメタやフィールドは無視されます:
- 「線タイプ」と
.path_type. - 「点リスト」と
.points. - 「曲線精度」と
.precision. - 「移動X」と
.X, 「移動Y」と.Y. - 「拡大率」と
.zoom. - 「回転」と
.rotate.
- 「線タイプ」と
-
指定された頂点は折れ線と解釈して描画されます.
.pt_buff が nil の場合は,.len_buff と .endpt_buff は無視されます.
{
num_points = num, -- number 型で "頂点数" の項目を上書き,または nil.
path_type = str, -- string 型で "線タイプ" の項目を上書き,または nil.
points = tab, -- table 型で "点リスト" の項目を上書き,または nil.
precision = num, -- number 型で "曲線精度" の項目を上書き,または nil.
antialias = num, -- number 型で "ぼかし幅" の項目を上書き,または nil.
inflation = num, -- number 型で "追加幅" の項目を上書き,または nil.
mode_fill = num, -- string 型で "範囲" の項目を上書き,または nil.
invert = bool, -- boolean 型で "反転" を上書き,または nil. 0 を false, 0 以外を true として number 型も可能.
X = num, Y = num, -- number 型で "移動X", "移動Y" の項目を上書き,または nil.
zoom = num, -- number 型で "拡大率" の項目を上書き,または nil.
rotate = num, -- number 型で "回転" の項目を上書き,または nil.
}{
position = num, -- number 型で "位置" の項目を上書き,または nil.
rotate = num, -- number 型で "回転" の項目を上書き,または nil.
rot_tangent = bool, -- boolean 型で "パスに沿って回転" を上書き,または nil. 0 を false, 0 以外を true として number 型も可能.
ofs_indiv = num, -- number 型で "個別位置ズレ" の項目を上書き,または nil.
out_of_range = str, -- string 型で "範囲外" の項目を上書き,または nil.
num_points = num, -- number 型で "頂点数" の項目を上書き,または nil.
path_type = str, -- string 型で "線タイプ" の項目を上書き,または nil.
points = tab, -- table 型で "点リスト" の項目を上書き,または nil.
precision = num, -- number 型で "曲線精度" の項目を上書き,または nil.
loop = bool, -- boolean 型で "ループ" を上書き,または nil. 0 を false, 0 以外を true として number 型も可能.
}-
「パス部分フィルタσ」では,一部のフィルタ効果は後続に置いても「部分的に適用」されるような挙動にはなりません.
「ランダム移動」や「球体(カメラ制御)」など,フレームバッファに直接描画したり,カメラ制御を前提としたり,配置を変えるフィルタ効果などが当てはまることが多いです.
-
「パス部分フィルタσ」は,1つのオブジェクトに対して複数設定できません (つまり「入れ子」のような構造は指定不可能).
-
AviUtl2 では「個別オブジェクト」が有効の時にはパスやアンカーが表示されないため,「パスに沿って配置σ」などを「個別オブジェクト」に対して適用した場合はパスが表示されません.この場合,一時的に「個別オブジェクト」を解除してからパスを調整,そのあとに「個別オブジェクト」を再度有効にしてください.
-
v1.12 (for beta25) (2025-12-22)
- 「パスマスクσ」と「パスマスク(ライン)σ」をフィルタオブジェクトとして使えるように設定.
beta25での動作確認.
-
v1.11 (for beta22a) (2025-12-03)
- 設定項目を並び替え/グループ化して整理.
beta22での動作確認.
-
v1.10 (for beta21) (2025-11-24)
- 「スクウェアσ」を追加.
beta21での動作確認.
-
v1.01 (for beta20) (2025-11-21)
- 「ラインσ」の
矩形波が正しく描画されないことがあったのを修正.
- 「ラインσ」の
-
v1.00 (for beta20) (2025-11-21)
- 初版.
このプログラムの利用・改変・再頒布等に関しては MIT ライセンスに従うものとします.
The MIT License (MIT)
Copyright (C) 2025 sigma-axis
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- GitHub: https://github.com/sigma-axis
- Twitter: https://x.com/sigma_axis
- nicovideo: https://www.nicovideo.jp/user/51492481
- Misskey.io: https://misskey.io/@sigma_axis
- Bluesky: https://bsky.app/profile/sigma-axis.bsky.social















