【AviUtl】MorphDotsを使う
アドカレ14日目です。
カレンダー→AviUtl Advent Calendar 2022
前日の記事→AviUtlでグラフを作成しよう!
概要
昨年の一月にこんな動画を作りました。
あれから暫く経って、分かったことがあったりしたので纏めていきます。
indexごとにloadする
MorphDotsは、個別オブジェクトに使います。
Progressの値を変化させることで、次のindexのオブジェクトをドットで描画していきます。
aviutlで個別オブジェクトと言えば、この三つが考えられます。
・テキスト
・画像ループ
・オブジェクト分割
つまり、テキスト or 同じ図形 or 同じファイルデータ でしかこのスクリプトを使うことができない…というのが少し前までの僕の考えでした。
実際は違います。スクリプト制御でobj.loadすることで、様々なオブジェクト同士をモーフィングしていけます。
例えば、MorphDotsの前にスクリプト制御で
for i=0,obj.num do
if(i==obj.index)then
obj.load("figure","円",0xffffff,(obj.index+1)*50)
end
end
…とすると、大きさの違う円でモーフィングすることができます。
loadした直後に
obj.ox=50*obj.index
…とすると、Orginalposにチェックでモーフィングする度にオブジェクトの位置を変化させることができます。
さて、loadできるということは、実質なんでも読み込めるということになります。indexごとに違う画像を読み込んでみた例がこちらです。
MorphDots[Noise]は単体で個別オブジェクトに使える
このことは93さんの説明書に普通に書いてました。
個別オブジェクトに対して、MorphDots[Noise]を付けてEffect(self)にチェックを付けるとノイズが反映されます。やっていることはTA-Trackとそんなに変わらないと思うので、どっちを使うかは好みの問題になりそうです。
windとかいう機能
MorphDots[Noise]にある、windという項目。
意外と面白いです。
僕はこの動画で初めて使用してみたのですが、適当に値を入れるだけでふわふわと粒子が動いてくれます。
個人的神機能。
円ではなく六角形を使う
これはGCv2とかでも同じなんですが、Shapeを六角形にするといいというお話です。
デフォルトでは円になっているので、そのまま使いがちですが、これだと描画処理がものすごく重くなってしまいます。そこで、六角形を使用することで描画処理を少しでも軽くします。
MorphDotsは重いスクリプトですが、工夫することでエンコードを時短できます。
(六角形を使うという知識も93さんからの輸入です)
最後に
MorphDotsについて少し書きました。
93さんのスクリプトには、他にも面白いものがあるので、ぜひ試してみてください。