AviUtl、オブジェクトの動きに合わせて線を引く

今回は、オブジェクトの動きに合わせてその軌道を線で描画するスピード線を作ってみたので紹介したいと思います。

主に使用するスクリプトは93さんのDelayDrawです。DelayDrawはold_script_etc.zipに含まれる@DelayMove.anmの中にあります。
93さんのX概要欄

※記事中で使用しているスクリプトはちょと古く、現在ダウンロードできるものと若干違いがありますが、機能的に大きく違うことはないと思います。

構成

この表現の構成と大まかな流れです。

まずはオブジェクトを動かします。次にオブジェクトの動きに合わせて線を引く動きを作ります。最後に合わせて微調整といった工程です。

線を引く

今回は93さんのDelayDrawで線を引きます。

サイズを小さくした円(図形)を動かし、DelayDrawで線を引きます。

DelayDrawは最初のオブジェクトが停止後も動いているので、オブジェクトに中間点を打ちDelayの分だけ後ろを伸ばしておく必要があります。

AviUtl、時間差でオブジェクトを描画するDelayDraw

今回は93さんのスクリプト、DelayDrawを使ったモーションを紹介したいと思…
seguimiii.com

線の長さはDelayで調節します。

円(図形)の描画間隔は描画数で調節します。描画数が少なければ点線になり、多くすると一本の線のように見えます。

DelayDrawを使った方法では円(図形)の座標移動によって線を引くので始点と終点の調節がやり易いかなと思います。

作ってみる

この表現は一言でいえば軌道を線で描画することです。構成自体は難しくないのですが、タイミングや線を引く動きの調節がちょっと苦戦するかもしれません。

と言う訳で、実際に作ってみます。

まずはオブジェクトが下から上へと移動する動きを作ります。

イージングのカーブはこんな感じ。

オブジェクトの動きができました。ここに線を引いて軌道を描画します。

DelayDrawをかける円(図形)の始点はオブジェクトのちょっと後ろにしました。

終点はここら辺に。オブジェクトの後を追いかけるような感じですね。

移動方法はオブジェクトの移動と同じイージングです。

タイムライン。

タイミングはオブジェクトが動き出してから数フレーム後から線を引きます。線を引く円(図形)は中間点の右側は停止区間です。ただ、DelayDrawをかけるとDelayの分だけ動き続けます。

DelayDrawをかけて線を引きます。

Delayと描画数で調節。色強度は0。

画像ではわかりやすいようにメディアオブジェクトで出しましたが、円(図形)に直接かけてもOKです。

こんな感じで、軌道を線で表せていたら大成功です。

あとはオブジェクトを複製して、Delayで線の長さを調節したり開始/終了の座標で位置調整をしたりします。

この表現は線の長さ、移動の位置、移動のタイミングが重要なポイントです。作業のほとんどを調節に費やします。

三つめも複製してみます。

オブジェクトの長さを変えると線が動く速さを変えることができます。開始フレームや終了フレームの位置をずらして違いを作るのも良いですね。

3本線で軌道を描画して完成。

ただのオブジェクトの移動が一味違う移動になったと思います。

後追いで軌道の線を引くことでより移動を強調する表現になっていますね。

応用とスクリプト制御

DelayDrawは図形などのオブジェクトにある座標等を動かさないと効果が無いため、スクリプトで移動させても上手くいきません。

オブジェクトが円軌道の場合は、オブジェクトの中心をずらして回転を移動させます。

このとき拡張描画にして中心XYを設定するというのが通常の手順ですが、ここではスクリプト制御を使ってみました。

オブジェクトにスクリプト制御をかけてobj.cy=150のように記述します。150の部分が円の半径です。

あとは回転を移動させれば円軌道で動きます。

線を引く円(図形)の方でもスクリプト制御が使えます。円(図形)のサイズを小さくするとぼやけてしまいますが、スクリプト制御で透明度を1.0以上に設定するとはっきりとした綺麗な円になります。

AviUtl、ぼやけるオブジェクトをはっきりさせる小技

図形やテキストなどの輪郭、線、粒子などがいまいちくっきり表示されないことはありま…
seguimiii.com

スクリプト制御はDelayDrawより上に置きます。

こんな感じ。

オブジェクトがしっぽをつけてフリフリしながら上昇するようなモーション。

他の方法

今回はDelayDrawでのやり方を紹介しましたが、他にも線を引く方法はあります。

ティムさんのTrackingラインEasyではアンカーで座標を決め、開始/シフトを動かして線を引きます。

DelayDrawは性質上座標等を移動させていないと効果がありません。そのため動きの途中から見せたい場合に工夫が必要になってしまいます。

TrackingラインEasyは開始/シフトで調節できるので動きの途中から見せたい場合には便利だと思います。

AviUtl、TrackingラインEasyで曲線を引く

今回は、ティムさんのTrackingラインEasyを使って線を引くというのを試し…
seguimiii.com

AviUtl、ベジェ曲線で線を引く

今回はみずねりさんのベジェ曲線というスクリプトを紹介したいと思います。【AviU…
seguimiii.com

その他DelayDrawとMotion Trail

オブジェクト自体にDelayDrawをかけてモーションブラーのようにしたもの。

オブジェクトの軌道描画に。

いかがだったでしょうか。
オブジェクトの移動に合わせて線を引く表現、機会があれば是非試してみてください。