ウィグルで、縦だけの振動、横だけの振動をさせたいけど、
振動せずに止まったままになってしまう。
縦方向(Y軸方向)だけ揺らしたいと思い、
ウィグルの引数をwiggle(0,30)と設定すると、静止したままになってしまう。
これは、ウィグルの一つ目の引数がX軸方向の移動量で、
2つ目の引数がY軸方向の移動量だという思い込みのせい。
After Effectsのヘルプを見ると、
ウィグルの引数は2つだけだと思っていたけど、5つもあった。
wiggle(freq, amp, octaves=1, ampMult=.5, t=time) 返されるタイプ:Number または配列。 引数のタイプ:freq、amp、octaves、ampMult およびt は Number です。 プロパティ値を不規則に変動(ウィグリング)させます。 ① freq : 1 秒あたりの変動数 ② amp :適用先のプロパティの単位 ③ octaves :加算するノイズのオクターブの数 ④ ampMult :各オクターブについてamp が乗算される数 ⑤ t:基本となる開始時間
となっている。③以降の引数の意味がよく分からないけど、
一つ目の引数を0にするという事は、一秒間に振動する回数を0にするという事なので、
静止したままになるというのは分かった。
2つ目の引数は、振動する量と解釈すれば良いと思う。
3つ目以降の引数は意味不明。
縦のみ、横のみに振動させる方法は2つ有る。
▼方法①:wiggleさせた値が入っている配列から、要素を一つ抜き出す。
ヌルを作り、それの子となるレイヤーを用意する。
子レイヤーの位置に、以下のエクスプレッションを追加する。
yure=wiggle(15,100); x=yure[0] y=0; [x,y]
X位置には、wiggleで発生させた2つの値の片方を入れ、
Y位置には0を入れているので、
1秒間に15回、ヌルを中心にして、X方向のみwiggleで振動する。
位置はヌルで調整する。
※wiggleで発生させた2つの値について
変数yureの中にはwiggleで発生させたxとyの2つの値が入る。
xの値は0番目、yの値は1番目に入っているので、
yure[0]とは0番目のXの値を取り出すということ。
yure[1]にすれば1番目のYの値が取り出されることになる。
数の指定が1からではなく0からなのでこうなる。
▼方法②:random()を使う。
ヌルを作り、それの子となるレイヤーを用意する。
子レイヤーの位置に、以下のエクスプレッションを追加する。
x=random(-100,100); y=0; [x,y]
これでヌルを中心にしてX軸方向に、
-100~100の値の間をランダムに移動するようになる。
※ヌルを使わず、位置にエクスプレッションを追加した後も
手動で位置を調整したい場合はthisPropertyを使う。
自身の位置情報に揺れの値を足す事ができる。
yure=wiggle(15,200); x=thisProperty[0]+yure[0]; y=thisProperty[1]; [x,y]
※2019/11/20、11/23:後から見て分かり難いと思った記事の一部を修正、追記。