スクリプト制御を使う、座標のリンク

2019年2月11日

今回は、スクリプト制御を使ってオブジェクトの座標をリンクさせてみたいと思います。

参考動画
AviUtlのスクリプト制御を使いましまし Lv.0

スクリプト制御をかける

円(図形)を基準のオブジェクトにします。
このオブジェクトにスクリプト制御をかけます。

スクリプト制御に

ax=obj.x
ay=obj.y

と書きます。
これは、axという文字はこのオブジェクトのX座標を指しますよということを表します。
同様に、ayはY座標を指しますよということです。

続いてリンク先のオブジェクトとして別の円(図形)を出します。
こちらにもスクリプト制御をかけます。

obj.ox=ax
obj.oy=ay

これは、このオブジェクトのX座標はaxですということを表します。
つまり、axとは先ほどのオブジェクトのX座標をいうので、リンク元の赤い円と、リンク先の青い円のX座標が一致することを意味します。

Y座標も同様です。

ここでは省きましたが、Z座標が必要な場合は、az=obj.z obj.oz=az と書き足します。

座標をリンクした状態で、リンク元の赤い円(図形)を動かすと、青い円(図形)も一緒に動きます。

青い円(図形)は動かしても赤い円(図形)には影響しません。
これがスクリプト制御を使った座標のリンク方法です。

他のスクリプトと一緒に使う

応用として、プリンカさんの簡易変形と一緒に使ってみたいと思います。
まず、テキストにスクリプト制御をかけてリンク元とします。

【Aviutl】簡易変形シリーズスクリプト

残りはコピペして、それぞれbx,by cx,cy dx,dyとします。

背景にプリンカさんの簡易変形をかけます。
番号表示を1にすると四つ角の番号が見えるようになります。

設定からposの項目を見てください。
{}で座標が囲われています。
中身は、
{①のX座標、Y座標、Z座標、②のX座標、Y座標、Z座標・・・}
となっています。

このそれぞれのXY座標にax,ayを代入していきます。
ここではZ座標はそのままで0です。

{ax,ay,0,bx,by,0,cx,cy,0,dx,dy,0}

うまくリンクできていれば、このように四角形の角がリンク元の各テキストと連動します。
簡易変形には番号が付いているので、順番に気を付けてください。

テツさんの格子線の設定にも、座標という項目があります。
同じように各座標をリンクさせることで自由に動かすことができます。

座標のリンクが使えるかどうかは、設定に「座標」や「pos」があるかないかがひとつの目安になると思います。

【Aviutl】 格子線

いかがだったでしょうか。
私が知っているスクリプト制御は座標のリンクしかありませんが、いろんなことに応用が利いて重宝しています。

機会があれば是非試してみてください。

AviUtlのスクリプト制御を使いましまし Lv.0