エクスプレッション
他レイヤーの値を参照。
他レイヤーの値を参照。
同じ動きをさせたり、タイミングをずらして追従せたり、色々なことが出来ます。
例)
レイヤーを2つ用意します
緑のレイヤーに上下移動のキーフレームをつけます
青レイヤーの位置にエクスプレッションを追加し、縄のアイコンから緑レイヤーの位置にドラッグします。これで青が緑の位置を参照したことになり、同じ位置に移動し追従します。
式は
thisComp.layer("グリーン 平面 1").transform.position
「thisCopm.layer」「グリーン 平面1」の部分を書き換えれば、別のコンポジションのレイヤーからも参照できます。
式を下の通りに書き変えてみます
A=hisComp.layer("グリーン 平面 1").position;
[position[0].A[1]]
青は緑のy位置だけを参照する事になり、x移動は自由になります。
1行目で変数Aにグリーン平面の位置を代入しています。
2行目で、xにposition[0]と書く事で自身のx値をそのまま、yにはA[0]と書く事で緑のy値を指定しています。
式を下の通りに書き変えてみます
offset=3;
offTime=(time-offset/30);
A=thisComp.layer("グリーン 平面 1").position.valueAtTime(offTime);
[position[0],A[1]]
これで、青が緑のyの動きを3コマ遅れで 追従します!遅れるコマ数は1行目のoffset=の後の数値で指定できます。
3行目の値の参照の後に「.valueAtTime(offTime);」という文が足されていますが、
この「.valueAtTime(数値)」は、指定した数値の時間の値を参照できるという優れものです。
数値に1と入れれば、コンポジションの1秒目(フレームなら30)の値を持ってきてくれます。
この例では()の中に offTime つまり、現時間+1行目で指定したコマ数を入れているので、常に3コマ時間をさかのぼって値を参照しています。
青レイヤーをいっぱいコピーして、エクスプレッションの
offset = ○
だけを少しずつ書き換える事で、波打つように追従させるアニメーションが出来ます。
実際にキーフレームを持っているのは緑だけなので、編集も楽チンです。
0 件のコメント:
コメントを投稿