【AviUtl】元画像の大きさにかかわらず指定サイズで表示される『アス比維持サイズ変更』を配布!【Script】

20161118001258

アス比維持サイズ変更スクリプトは、動画や画像の元のサイズにかかわらず、アス比(縦横比)を保ったままスクリプトで指定したサイズ(Pixel)で表示されるアニメーション効果。

横幅を基準にするか縦幅を基準にするか選択可能で、基本となる縦横のサイズと係数を変化させることで一定割合での拡大縮小も簡単にできる。

また、モードを変えることで元映像の拡大縮小の処理のさせ方(※記事中段参照)も変えることが可能。

 

普段よく使うプロジェクトのサイズに合わせて、スクリプトの横幅(縦幅)や係数を設定してやり、エイリアスに登録しておくと、異なるサイズの画像や動画を扱う手間を何気に省けるかも……|゚Д゚)ノ たぶん。

項目解説

20161117232940

 

  • 横S:横幅の基本サイズ。この値とS係数を掛けた値が横基準で表示されるサイズになる。
  • 縦S:縦幅の基本サイズ。この値とS係数を掛けた値が縦基準で表示されるサイズになる。
  • S係数:横Sや縦Sに掛ける値。一定割合で拡大縮小するときに変化させると吉。
  • MODE:拡大縮小方法の切り替え。リサイズフィルタ→拡大率フィルタ→obj.drawpoly()という順で切り替わる。※
  • 横⇔縦 基準:横Sの値を基準にするか、縦Sの値を基準にするかの切り替えを行う。

 

※ このスクリプト以降に他のフィルタやアニメーション効果を追加しないのであれば見た目上の変化はほぼなし。ただし、このスクリプト以降に何らかのフィルタやアニメーション効果を追加する場合、選択したモードによってちょっとした違いがあり。

 

20161117233413

 

  • 補間:MODEが0(リサイズフィルタ)のときに保管を行うか否か。
  • Guid:簡単な使い方や注意事項を表示。

 

サンプル

IMG2016000010 Blenderのキャプチャ画像。1095x563というサイズの中途半端な大きさの画像。
20161117231121 拡張編集プラグインに読み込ませた状態。プロジェクトが640x360で作成していたので、見切れている部分あり。
20161117231143  アス比維持サイズ変更スクリプトを追加したもの。

初期状態で横基準で合わせるようになっており、縦Sが128、S係数が5──128x5=640なので、画面のサイズにピッタリ。
20161117231728 上の設定のまま、別の大きさの画像(1280x720)と入れ替えたもの。

元画像の大きさにかかわらず指定サイズに変更されるのでピッタリ。

勿論、アス比もそのまま。

使い方の一つとして、複数の大きさの異なる画像を使用するときに、拡張編集プラグイン上でアス比維持サイズ変更スクリプトを追加したオブジェクトをコピペ→設定ダイアログに使いたい別の画像を放り込むという2アクションで事前に指定したサイズにすることができる。

少ない画像や動画を使ってスライドショーっぽい演出をしたいときの作業がちょっと楽になるかも……。

 

 

20161117232315 横Sを640÷3で214(端数切り上げ)に設定して、S係数の値を1にしたもの。
20161117232336 S係数を2にした状態。
20161117232355 S係数を3にした状態。

S係数の値を直線移動や瞬間移動させることで、一定の割合でオブジェクトが大きくなっていったり、小さくなっていったりする演出が簡単にできる。ちなみにS係数を0にした場合は拡大率0と同じ非表示。

 

2016112000001

中間点を打って、S係数を直線移動や瞬間移動させればドン、ドン、ドン……!という感じで一定割合で徐々に大きくするような演出も簡単にできる。

(上のGif動画はテキストオブジェクトに使用したもの)

モードのちょっとした違い

モードの影響の差を確認するためにアス比維持サイズ変更スクリプト+エッジ抽出+グロー(同じ設定)を使って比較対象。

ちなみに画像が小さくなっていて、違いが確認しにくいので画像をクリックして拡大して、違いを確認してもらえれば……。

背中の翼のマーク部分などの差が顕著に顕れているので、その辺を参考に。

20161120122853 モード:0(リサイズ)の場合。

他のモードに比べて処理は軽い(処理時間計測スクリプトで確認)。

元画像は縮小されて表示されていて、エッジはやや不明瞭(エッジとなる部分が多すぎる)である分、グローの拡散で光る範囲も多くなっている。
20161120122915 モード:1(拡大率)の場合。

モード:0に比べて処理は重い。(処理時間計測スクリプトで確認)。

元画像は縮小されて表示されていて、エッジは明瞭。
20161120122940 モード:2(obj.drawpoly)の場合。

モード:0に比べて処理は重い。モード:1とほぼ同じくらい(処理時間計測スクリプトで確認)。

元画像は縮小されて表示されていて、エッジは明瞭。グローの拡散の影響でモード:0や1に比べて、更に縮小化されている。

ただ小さくするだけであればモード:0(リサイズ)が負荷もかからずベター。また、エッジ抽出のように影響がはっきりと顕れるタイプのフィルタで、ちょっと困る場合はモード:1か2にする感じの使い方が良いかと……。

 

リサイズと拡大率の負荷の差については上記のリンクを参照のこと。

 

DL

 

 

『スクリプトの保存→導入までの流れ』

  1. リンク先のTXTが文字化けしている場合は、ブラウザの文字エンコーディングをSJISに変更する。
  2. FC2 のファイル保存形式上の都合でtxtファイルで保存されているので、上記のリンクの上で右クリックして『リンク先のファイルを保存する』を選択してファイルを保存するか、リンク先のページに飛んで『Ctrl + A』で全てを選択し、メモ帳等にコピペ&S-JISで保存する。
  3. 保存(作成された)ファイルの拡張子をtxt → anmに変更する。
  4. AviUtlのScriptフォルダにコピペする。

 

拡張子の変更例:アス比維持サイズ変更.txt → アス比維持サイズ変更.anm
(単独のスクリプトなので、ファイル名の頭に@は不要です)

 

 

 

関連記事
スポンサーサイト

0 Comments

Post a comment