[After Effects]スクリプトその他

[AE]よく使う汎用エクスプレッション集

よく使うエクスプレションをまとめていきます。

◎のX軸のみにエクスプレッションをかけています。
キーが打たれているときは、0から500の変化で統一されてます。

追記:コードをAEにコピペできるように修正 2021/11/01

エクスプレッション無し

time*500;
主にフラクタルノイズなどの「展開」制御と、値の無限ループに使用。
回転型の値に入れる場合、数値で一秒間に何度回転するかを決められる。
(360の場合、1秒に1回転する。)
通常の数値に入れる場合、1秒間に500ずつ数値が無限に増加していく。

random(0,500);
1フレーム毎に0~500の範囲で値がランダムに変わる。

wiggle(1,100);
1秒毎に1回往復する。範囲は±100。
もっと詳細な設定ができますが、それは別の記事で。

100*Math.sin(time*5);
±100の範囲でサイン波の値を出せる。
time*1だと約6秒で値が一周する。time*5だと約6/5秒で一周。
どうやらtimeだけでは正確に1秒一周はできないらしい。
(ラジアンなので一周2π≒6.2831だからってことなのかな?)
より正確に周回させたい場合は、2πradで一周なので
100*Math.sin(2 * Math.PI * time / n);
を使用する.
上記の場合n秒で一周するサイン波になる。
(Math.PI=円周率=π)

ループ系
ここからループ系
タイプは4種類、それぞれにloopOutとloopInでループする位置を設定できる
cycle
continue
offset
pingpong
OutとInの違いや、offsetとcontinueの違いは
言葉で説明するより動画を見たほうが分かりやすいと思う。
loopIn(Type="cycle");

loopOut(Type="cycle");

loopOut(Type="offset");
値が加算されていく感じ。

loopOut(Type="continue");
キー範囲から抜ける時の速度で値が増加を続ける
動画では抜ける時減速しているので、500以降はずっとのろのろ進んでいく

loopOut(Type="pingpong");

その他メモ
XY軸の片方のみにエクスプレッションをかけたい場合
X=wiggle(1,100)[0];
[X,100]

XY軸に別々のエクスプレッションをかけたい場合
X=wiggle(1,100)[0];
Y=wiggle(2,50)[1];
[X,Y]

gesomaをフォローする
CGすくいどる

コメント