見出し画像

【β】【AviUtl スクリプト配布】PixelSorter2680

AviUtl用のスクリプトを書いたので配布します。
だれもが見たことのあるアレです。
既にAviUtl向けに出回っているピクセルソート用スクリプトより機能を多くしてあります。

PixelSorter2680

本スクリプトは開発途中であるため、不具合を多く含んでいる可能性が高いです。

PixelSorter2680は、あるピクセルのRGB計3チャンネルの値を加算したものを基準に、指定した範囲内で昇順又は降順に並び替え(ソート)をするスクリプトです。
既に出回っているスクリプトとの差別化を図るために、以下のような機能が実装されています。

  • ソート方向の指定(360度)

  • 極座標変換

  • レイヤー指定による適用範囲の設定

  • レイヤー指定やノイズ生成によるソートソースの設定

  • ソートソースのスライド(平行移動)

あくまで機能の話なので、使いようによっては幅広いことができるのではないでしょうか。軽いサンプルを貼っておきますね。

スライドに直線移動を適用した例

使用方法

導入後、「PSソート@PixelSorter2680」「PSノイズ@PixelSorter2680」「PS設定@PixelSorter2680」の3つがアニメーション効果から追加可能になっていれば導入成功です。

各アニメーション効果の説明

「PSソート@PixelSorter2680」
メインとなるエフェクトです。基本的にこれ一つで完結します。
「PSノイズ@PixelSorter2680」
ソートソースにフラクタルノイズを設定したい場合に追加するオプションです。
「PS設定@PixelSorter2680」
より詳細な設定が可能になります。

オプション用効果は、「PSソート」より先に適用してください。(画面上で「PSソート」が最も下に来るように)
また、オプション用効果の適用順は問われません。

設定ダイアログの画像

パラメータの解説

・PSソート
「基準輝度」 0~765
輝度の基準を設定します。
「輝度範囲」 0~1000
ソート対象にするピクセルを基準輝度からの幅で設定します。
「引き延ばし」 100~1000
ソート後のピクセルが引き延ばされて配置されます。
「角度」 -720~720
ソート処理を行う角度を度数法で指定します。
「範囲を確認」 チェックボックス
ソートの対象になるピクセルを緑色でハイライトします。
~~パラメータ設定~~
「円形ソート」
直交座標変換後の画像に対して効果を適用し、極座標変換を行います。
「ソート範囲を指定」
有効化すると、指定したレイヤー内のオブジェクトの不透明度をソート範囲として使用します。(絶対、相対座標には対応していません。)
「ソート範囲のレイヤー」
ソート範囲として使用するオブジェクトのあるレイヤーを指定します。
「ソートソースを指定」
有効化すると、指定したレイヤー内のオブジェクトの輝度をソートソースとして用います。設定しなかった場合には現在のオブジェクトの輝度をソートソースとして用います。(絶対、相対座標には対応していません。)
「ソートソースのレイヤー」
ソートソースとして用いるオブジェクトのあるレイヤーを指定します。
「ソートの反転」
ソートする方向を昇順から降順に変更します。「引き延ばし」の方向へは影響しません

・PSノイズ
この効果を適用した時点で、「PSソート」内の「ソートソースを指定」「ソートソースのレイヤー」は無効化されます
「サイズ」 1~1000
ソートソースとして用いるフラクタルノイズの細かさを調節します。
「縦横比」 -100~100
ソートソースとして用いるフラクタルノイズの、縦横比を調節します。
「変化速度」 0~100
ノイズの変化速度を指定します。

・PS設定
「ソーススライド」 -5000~5000
ソートソースをソート方向に指定したピクセル分スライドします。
「円開始角度」 -360~360
円形ソート有効時の座標変換の開始角度を調節します。
「解像度」 1~200
処理する画像の解像度を倍率で指定できます。100で等倍になります。
~~パラメータ設定~~
「アルファチャンネルの閾値」
ソート元画像、ソート範囲画像、ソートソース画像のうち、有効なピクセルを判別するための閾値を変更します。特別な理由が無い限り変更しないほうが良いです。
「フレームバッファ合成」
元の画像と処理後の画像を合成します。
「引き延ばしの反転」
引き延ばしの方向を反転します。上書きの挙動が変化します。
「未使用」
後のバージョンで用いる可能性があります。
特別な理由が無い限り変更しないでください。


現在抱えている問題点(β理由)

・デバッグが不十分

想定していない挙動をする可能性があります。

動作要件

MICROSOFT VISUAL C++ 2015 - 2022 ランタイムが必要です。
また、AviUtl1.10
拡張編集0.92patch.aulr43_ss_50以外の環境でのテストを行っていません。

利用規約

再配布、改ざんを制限致しませんが、著作権表示をしていただけるとありがたいです。また、本スクリプトを用いて作成された動画等へのクレジットは一切不要です。商用利用しても構いません。
本スクリプトにより生じる可逆的、もしくは不可逆的な変更において、私は一切の責任を負いません。自己責任でお願いします。また、スクリプトをダウンロードした時点でこれらの規約に同意したとみなします。


配布

現在の最新バージョンは v0.5(β) です。(2024/4/13更新)

テキストエディタで開いて頂くことで、バージョンの確認が行えます。
同封の「.dll」ファイルも同時に導入してください。

更新情報 v0.6(β)	(2024/4/16)
DLLが正常に動作するように修正(半月くらい動作しないスクリプトを配布してた可能性が…)

更新情報 v0.5(β)	(2024/4/13)
動作に余分な最大画像サイズが要求されなくなりました
PSノイズの「サイズ」の挙動を大幅に変更。過去バージョンとの互換性が無くなりました。
PS設定に新項目「引き延ばしの反転」を追加
PSイズに新項目「変化速度」を追加
解像度の最大値を200に拡張
ソーススライドの範囲を-5000~5000に拡張
LuaJITが必須ではなくなりました。(使用を推奨)

ダウンロードリンク:
https://drive.google.com/drive/folders/12Oy4FIDiO8V6UIRUeyczY0uR8IKassnD?usp=drive_link

もしリンクに不具合がありましたら、ご連絡いただければ助かります。
また、正式リリース時にはリンクが変更されます。

トラブルシューティング

・範囲用、ソース用画像に指定したオブジェクトの座標が反映されない

仕様です。アルファチャンネル付きのシーン内に配置し、そのシーンオブジェクトを含むレイヤーを指定してください。

その他のバグ、不具合について

発見いたしましたら、お手数ですがこのnoteへのコメントやXのDMなどで教えて頂けると大変助かります。

おわり

開発途中につき、定期的な更新確認をお願いします。
追加を希望する機能などもご連絡いただければ実装するかもしれません。
もし応援してくださる場合は、いいねやフォロー等を頂けると大変励みになります。

独楽りんでした。以上。

いいなと思ったら応援しよう!