車体レイヤーの移動距離にしたがって、タイヤを自動で回転させるエクスプレッションです。
まずフォトショップでレイヤーに分かれたPSDを用意します。
AEに 「コンポジション-レイヤーサイズを維持 」で読み込みます。
レイヤーサイズを維持しているので、タイヤはそれぞれの直径サイズになっています。
「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; ← dとpiをかけた数値を変数circに代入、つまりタイヤの円周がピクセルで入っています
rot=360/circ; ← 360をcircで割った数値を変数rotに代入
movex=thisComp.layer("body").transform.position[0]; ← 「body」の位置xを変数movexに代入
rot*movex; ← rotとmovexをかけた数値を最終的な回転とする
別のプロジェクトでこの文を使いまわす場合は、5行目の("body")を書き換えるだけでOKです。
ちなみに、エクスプレッションを編集し易くする為に変数を使用してますが、シンプルに
movex=thisComp.layer("body").transform.position[0];
(360/(width*Math.PI))*movex;
の2行でも同じ動作をします。
0 件のコメント:
コメントを投稿