AviUtlの拡張編集に「簡易変形」(アニメーション編集にサンプルとして入っているスクリプト)というものがありますが、それに簡易的なパース(遠近)をつけたスクリプトを作ってみました。カメラ制御を使わずに4点を指定しただけでパースがつきます。使用法も簡易です。


 スクリプトのダウンロード(homography_20181104.zip)



 左が従来の「簡易変形」、右が今回作成した「簡易パース変形」です。
簡易パース変形1


 作例です。テレビ画面などに動画をはめ込むのに使えると思います。
簡易パース変形2

 同様のことを「簡易変形」でやってみた場合です。(このぐらいのパースだとあまり違いは感じないかもしれません……)
簡易パース変形3

 設定の「AA方法(0~2)」ですが、
 0はアンチエイリアス無し
 1は全ての分割区画でアンチエイリアス
 2は外側の分割区画のみでアンチエイリアス
 となっています。
 1だと繋ぎ目でゴミが出ることがあるので、普段は2を使うと良いと思います。それでもゴミが出る場合は0にしてください。

 「分割数」はテクスチャーの一辺をその数で分割します。一辺なので分割数はその二乗になります。8なら8*8の64個に分割されます。理論的には分割数を多くすればより正確なパースになるはずですが、実際に使ってみると見た目はあまり変わらないので、8で十分かもしれません。

 「三角ポリゴン」は分割した四角形を三角ポリゴン2つで構成させます。チェックしなければ四角形のポリゴンになります。元にした「簡易変形」の描画法にあったので設定を設けてみましたが、あまり見た目は変わらないかもしれません。

 「市松模様化」は確認用です。どのように分割されているか市松模様(白黒のチェック柄)で確認できます。


●「簡易平面射影変換」
 一緒に「簡易平面射影変換」というスクリプトも同梱しています。これは「簡易パース変形」とは逆のことをします。

 まずこのように4点を指定します。
簡易平面射影変換1

 “射影変換”をチェックするとこのように正面を向かすことができます。
簡易平面射影変換2

 射影変換(ホモグラフィ)は元々こういうことをするものらしいです。
 アスペクト比を自動設定することができないので手動で「変換後w」と「変換後h」を設定してください。


●参考にしたサイト
 下記のサイトを参考にさせていただきました。大変に参考になりました。ありがとうございます。
 ・mieki256's diary - DXRuby上で射影変換ができた
 ・デジタル・デザイン・ラボラトリーな日々さんの「射影変換(ホモグラフィ)について理解してみる」のシリーズ