よく使うエクスプレションをまとめていきます。
◎のX軸のみにエクスプレッションをかけています。
キーが打たれているときは、0から500の変化で統一されてます。
追記:コードをAEにコピペできるように修正 2021/11/01
エクスプレッション無し
time*500;
主にフラクタルノイズなどの「展開」制御と、値の無限ループに使用。
回転型の値に入れる場合、数値で一秒間に何度回転するかを決められる。
(360の場合、1秒に1回転する。)
回転型の値に入れる場合、数値で一秒間に何度回転するかを決められる。
(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秒一周はできないらしい。
どうやらtimeだけでは正確に1秒一周はできないらしい。
(ラジアンなので一周2π≒6.2831だからってことなのかな?)
より正確に周回させたい場合は、2πradで一周なので
100*Math.sin(2 * Math.PI * time / n);
を使用する.
上記の場合n秒で一周するサイン波になる。
(Math.PI=円周率=π)
より正確に周回させたい場合は、2πradで一周なので
100*Math.sin(2 * Math.PI * time / n);
を使用する.
上記の場合n秒で一周するサイン波になる。
(Math.PI=円周率=π)
ループ系
ここからループ系
タイプは4種類、それぞれにloopOutとloopInでループする位置を設定できる
cycle
continue
offset
pingpong
タイプは4種類、それぞれにloopOutとloopInでループする位置を設定できる
cycle
continue
offset
pingpong
OutとInの違いや、offsetとcontinueの違いは
言葉で説明するより動画を見たほうが分かりやすいと思う。
言葉で説明するより動画を見たほうが分かりやすいと思う。
loopIn(Type="cycle");
loopOut(Type="cycle");
loopOut(Type="offset");
値が加算されていく感じ。
loopOut(Type="continue");
キー範囲から抜ける時の速度で値が増加を続ける
動画では抜ける時減速しているので、500以降はずっとのろのろ進んでいく
動画では抜ける時減速しているので、500以降はずっとのろのろ進んでいく
loopOut(Type="pingpong");
その他メモ
XY軸の片方のみにエクスプレッションをかけたい場合
X=wiggle(1,100)[0];
[X,100]
X=wiggle(1,100)[0];
[X,100]
XY軸に別々のエクスプレッションをかけたい場合
X=wiggle(1,100)[0];
Y=wiggle(2,50)[1];
[X,Y]
コメント