2012年1月11日水曜日

AE タイヤの自動回転



車体レイヤーの移動距離にしたがって、タイヤを自動で回転させるエクスプレッションです。

まずフォトショップでレイヤーに分かれたPSDを用意します。


AEに 「コンポジション-レイヤーサイズを維持 」で読み込みます。
レイヤーサイズを維持しているので、タイヤはそれぞれの直径サイズになっています。

 タイヤ「front」「back」の親を「body」にします。
「body」の位置にキーフレームを打ち、移動します。

タイヤ「front」「back」の回転にエクスプレッションを追加し、下記の文をコピペします。

d=width;
pi=Math.PI;
circ=d*pi;
rot=360/circ;
movex=thisComp.layer("body").transform.position[0];
rot*movex;

プレビューするとタイヤが回転しているのが確認できます。



----エクスプレッションの補足---

赤字のアルファベットは変数であり、好きな名前をつける事が出来ます。 
青文字各行の説明

d=width;       ← width(レイヤー自身の横幅ピクセル)変数dに代入
pi=Math.PI;     ← MathPI(円周率関数)を変数piに代入
circ=d*pi;      ← dpiをかけた数値を変数circに代入、つまりタイヤの円周がピクセルで入っています
rot=360/circ;    ← 360をcircで割った数値を変数rotに代入
movex=thisComp.layer("body").transform.position[0];   ← 「body」の位置xを変数movexに代入
rot*movex;     ← rotmovexをかけた数値を最終的な回転とする

別のプロジェクトでこの文を使いまわす場合は、5行目の("body")を書き換えるだけでOKです。

ちなみに、エクスプレッションを編集し易くする為に変数を使用してますが、シンプルに

movex=thisComp.layer("body").transform.position[0];
(360/(width*Math.PI))*movex;

の2行でも同じ動作をします。

0 件のコメント:

コメントを投稿