「どんな画像も謎ノ美兎になるページ」で使っていたピクセルの席替えを、After Effects・AviUtl2・ゆっくりMovieMaker4(YMM4)で使えるエフェクトにしました。

あのページ、ブラウザでしか動かないんじゃなかったっけ?



そうなの。だから自分の動画の中で使えるように、3つのソフト用に作り直したよ!計算の手順は Web 版と同じなんだ。


何ができるエフェクト?
元画像を細かいマスに分けて、マスの色は1つも足さず消さず、位置だけを入れ替えて目標画像の形に近づけます。入れ替え先までマスが飛んでいく様子が、そのままアニメーションになります。
どうやって入れ替え先を決めているかは、元の記事で図つきで解説しています。→ どんな画像も謎ノ美兎になるページを作った(仕組みの解説)



元画像に無い色は作れないから、色の種類が多い画像を元にすると目標の形がはっきり出るよ。
ダウンロード
| ソフト | ファイル | 中身 |
|---|---|---|
| AviUtl ExEdit2 | PixelSekigae_v12_AviUtl2.zip | スクリプト(.anm2) |
| After Effects | PixelSekigae_v12_AfterEffects.zip | スクリプト(.jsx)※Windows版のみ |
| YMM4 | PixelSekigae_v12_YMM4.zip | プラグイン(ビルド済みdll+ソースコード) |
| 全部入り | PixelSekigae_v12_All.zip | 上の3つ |
動作確認:AviUtl ExEdit2/After Effects 2025(Windows)/ゆっくりMovieMaker v4.56.1.1。
ライセンスは MIT です。動画への使用、改造、再配布は自由です。クレジットは任意ですが、書いてもらえるとうれしいです。目標に使う画像は自分で用意してください(zip に謎ノ美兎の画像は入っていません)。
AviUtl2で使う
入れ方
- zip の中の「ピクセル席替え.anm2」を AviUtl2 の Script フォルダに入れる(例:
C:\ProgramData\aviutl2\Script) - AviUtl2 を起動する。初回は「このプラグイン・スクリプトを信頼して使用する」の確認が出るので、許可する
使い方
- レイヤー1に元画像(色を使う方)、レイヤー2に目標画像(形を真似る方)の画像オブジェクトを置く
- 元画像のオブジェクトを右クリック →「オブジェクトにフィルタ効果を追加」→「ミコンスキー」→「ピクセル席替え」


- 「目標の指定」を「レイヤー(絶対指定)」にして、「目標レイヤー番号」に 2 を入れる
- 目標画像のオブジェクトは透明度を100にする(画面には映らず、形だけ読まれる)
- 「進行度」を 0→100 に移動させる(または「アイテムの長さで自動再生」をオン)









目標のレイヤーを非表示にしちゃダメなの?



非表示にすると AviUtl2 からそのレイヤーの絵が読めなくなるんだ。だから表示したまま透明度を100にしてね。相対指定にすると、「このオブジェクトの1つ下」みたいに指定できるよ。
画像ファイルで指定したいときは、「目標の指定」を「画像ファイル」にして「目標画像(ファイル)」で選びます。最初の1フレームだけ計算で数秒止まりますが、同じ設定なら2回目からは一瞬です。
After Effectsで使う
準備(最初の1回だけ)
「編集」→「環境設定」→「スクリプトとエクスプレッション」で、「スクリプトによるファイルへの書き込みとネットワークへのアクセスを許可」をオンにします。Windows 版の After Effects 専用です。
使い方
- 元画像と目標画像を同じコンポに置く
- 「ファイル」→「スクリプト」→「スクリプトファイルを実行」で「ピクセル席替え.jsx」を選ぶ


- 出てきた画面で「元画像(色を使う方)」と「目標画像(形を真似る方)」のレイヤーを選んで「作成」
- 連番の書き出し先フォルダを選ぶ


数秒待つと、席替えアニメーションの連番(TGA・透明あり)が書き出され、「ピクセル席替え」レイヤーとしてコンポに置かれます。元の2つのレイヤーは非表示になります。







計算はAEの中でやってるの?



最初はそうしたんだけど、約3,400万回の入れ替えはAEのスクリプトだと10分以上かかって固まっちゃったんだ。だから計算と書き出しは Windows に最初から入っている PowerShell に任せていて、64マス・3秒分なら数秒で終わるよ。



なんでエフェクトじゃなくて連番なの?



AE のスクリプトは画素を直接描けないから、計算した動きを画像に書き出して読み込む形にしたんだ。書き出し後はふつうの素材として扱えるよ。
YMM4で使う
入れ方
zip の中の「ピクセル席替え」フォルダを、YMM4 の user\plugin フォルダに入れて YMM4 を再起動します(例:YukkuriMovieMaker_v4\user\plugin\ピクセル席替え\MikonsukeyPixelMorph.dll)。自分でビルドしたい人向けに、ソースコード(source フォルダ)も入れています。
使い方
- 元画像の画像アイテムを置く
- 映像エフェクトの「+」→ 検索欄に「ピクセル」→「ピクセル席替え」


- 「目標画像」で目標の画像ファイルを選ぶ
- 「進行度」を 0→100 に直線移動させる




YMM4 版は、目標を画像ファイルで指定します(YMM4 のエフェクトからは他のアイテムの絵を読めないため)。登場退場など動きのエフェクトは、ピクセル席替えより下に置いてください。元の画像を差し替えたときは「元画像を読み直す」をオン→1回再生→オフにします。
設定の意味
| 設定 | 初期値 | 意味 |
|---|---|---|
| マス数 | 64 | 縦横のマスの数。大きいほど細かく、計算が重くなる |
| 移動のしにくさ | 13 | 大きいほど近くの席にしか動かない。0だと遠くまで飛ぶ |
| 計算の丁寧さ | 標準(×24) | 1世代あたりに入れ替えを試す回数(マス数×倍率) |
| イージング | イーズインアウト | マスの動き方。オーバーシュートは少し行き過ぎて戻る |
| ずらし | 40% | マスごとに出発の時間をずらす量。0だと全部いっせいに動く |
| 乱数シード | 12345 | 変えると別の並び方になる |
| 1マスの大きさ(AviUtl2・AE) | 8px | 出力の1マスのピクセル数。出力サイズ=マス数×これ |
| 長さ(AE) | 3秒 | 書き出す連番の長さ |
| アイテムの長さで自動再生(AviUtl2) | オフ | オンにすると、進行度を動かさなくてもオブジェクトの長さで0→100になる |
| 元画像を読み直す(YMM4) | オフ | 元の画像を差し替えたときだけオンにする |
うまくいかないとき
| こうなる | 原因と対処 |
|---|---|
| AviUtl2 で何も変わらない | 目標が選ばれていない/目標レイヤーが非表示。目標レイヤーは表示したまま透明度100に |
| AE で「ファイルを書き込めません」 | 環境設定の「スクリプトによるファイルへの書き込み…を許可」がオフ |
| AE が止まったように見える | 計算と書き出しの間(数秒〜十数秒)は操作できません。プリコンポなどを元にすると数十秒かかります |
| 形がはっきりしない | 元画像に目標の色が足りない。色の多い画像を元にするか、「移動のしにくさ」を下げる |
| YMM4 でエフェクトが見つからない | dll を入れたフォルダの場所を確認して、YMM4 を再起動 |
再現条件
| 項目 | 内容 |
|---|---|
| 確認したこと | 同じマスの色を入れたとき、Web版と同じ手順のJavaScript・LuaJIT(AviUtl2版)・C#(AE版・YMM4版)の計算結果が4096マスすべて一致。3つのソフトで実際に動かして、同じ形に組み替わることを確認 |
| 計算時間の目安 | 64×64・標準で約3,391万回の試行。C#約2秒、LuaJIT約2.5秒。AE版は計算+90枚の書き出しで約6秒 |
| 乱数 | xorshift32(席替え:シード値、ずらし:777で固定) |
| 切り抜き | 元画像・目標画像とも中央を正方形に切り抜く |
| 透明部分 | 計算では白として扱う。描くときは元の透明度のまま |
※ マスに分けるときの縮小方法はソフトごとに少し違うので、ソフトをまたぐと結果がわずかに変わることがあります。
いかがでしたか?


ピクセルの席替えを、After Effects・AviUtl2・YMM4のエフェクトにして配布しました。色を足さず並べ替えるだけなので、元画像の色が残ったまま別の形になるのがおもしろいところです。



作った動画があったら、ぜひ見せてね!動かない環境があったらコメントで教えてね。
クレジット
- 謎ノ美兎・月ノ美兎さんの画像は、動作の説明のために使用しています。本記事は ANYCOLOR 二次創作ガイドラインに沿った非公式のファン作品で、ANYCOLOR株式会社および関係者様とは関係ありません(ガイドライン)
- 謎ノ美兎:つきのみと没カット集(月ノ美兎)/月ノ美兎さん:【5時間】たんじょうび【雑談】(月ノ美兎)
- 元ネタのアルゴリズム:obamify(Spu7Nix)










コメント