カテゴリー
After Effects Expression

positionの片方だけを別のnullで制御

x = thisComp.layer(“null_01”).position[0];
y = position[1];
[x,y];

メモ

カテゴリー
After Effects Expression

Wiggleを制御する(ウィグラーを制御する)

ひさびさの投稿だったりしますが、たまにはtipsでも。
というか、自分の覚書として書いてみます。

After Effectsでは、オブジェクトをガタガタと震わせることが出来る
「ウィグラー」という機能がついています。
これは通常、キーフレームを打ち、それらを選択して、
数値を入力してから適用するというものです。
しかしこの方法はかなり力技に近く、場合によっては膨大なキーフレームが作成されてしまい、
思い通りの制御はなかなかできません。
かといって、ヌルを作成し、それに動かしたいオブジェクトを親子付けしてから
制御したりする方法もありますが、これもなかなか難しいものでした。
なによりキーフレームが多いことによって、試行錯誤がしにくいです。

それを解決するために登場するのがexpressionです。
expressionを適用したいプロパティ(位置や回転など)に適用して、

wiggle(5,10)

と記述するだけで、ウィグラーの効果を得られるのです。
括弧の中の数字は(周波数、重要性)の値です。
しかしこの方法だと、タイムラインの尺の分だけ延々とくり返してしまい、
スタートとストップなども出来ず、制御できているとは言えませんでした。

そこでちょこっとググってみるとCreative Cowという
この手のメジャーサイトのフォーラムに解決方法が載っていました。
その方法を書いておこうと思います。
元記事→(http://forums.creativecow.net/readpost/2/872389
ちなみに我流な部分が多いので、適宜変更して使ってみてください。

1)
まず、新規でヌルオブジェクト(以下null)を作成。

2)
動かしたいオブジェクト(以下obj)と同じくらいの位置にして親子付け。
(私の場合は、元のobjの位置をとどめておきたかったので親子付けしています。
特に必要ない場合は、objのプロパティに直接expressionを記述しても大丈夫です。)

3)
nullに「エフェクト>エクスプレッション制御>スライダ制御」を二つ適用し、
エフェクト名をそれぞれ「Slider_amp」「Slider_freq」に変更。

4)
objの任意のプロパティのストップウォッチをOption(WinならAlt)を押しながらクリックし、
expressionを追加する。

5)
その欄に

wig_amp=effect(“Slider_amp”)(“スライダ”);
wig_freq=effect(“Slider_freq”)(“スライダ”);

wiggle(wig_freq,wig_amp)

と記述。

これで完成です。
スライダの値が0なら全く動かない状態に。
また、スライダにキーフレームが打てるので、徐々に数値を変えることも可能になります。
利用価値があるかどうかは分かりませんが、
モーショングラフィックスなどで使い道があるでしょうか。

それにしても久々の投稿が長文だと疲れますね(笑)
今後も覚書的に更新を続けられればと思います。