[AE] レイヤーのトランスフォームをウェイトで制御するエクスプレッションの公開

AEのレイヤーにWeightを!

タイトルのままなのですが、ターゲットレイヤーのトランスフォームの影響を受けてソースレイヤーのトランスフォームが変化するエクスプレッションのプリセットを公開します。

3Dソフトにあるアニメレイヤーのウェイトを想像して貰えるとわかりやすいかと思います。
つまり、ウェイト値を上げると、ターゲットレイヤーの動きに強く追随します。
下げると逆にソースレイヤー自身の動きになります。

白がソース、赤がターゲット
クリックで再生します

使用方法


ダウンロードしたffxファイルを適当なところに保存します。
おすすめはドキュメントにある「Adobe\After Effects CC 2019\User Presets」の中です。
ここに配置すれば「エフェクト&プリセット」にも表示されて便利です。


  1. transformWeight.ffxをソースレイヤー、つまり影響を受ける方のレイヤーにD&Dしてします。
  2. エフェクトパレットにある「targetLayer」から影響を与える方のレイヤーを選択します。
これでおしまいです。

CC 2019の場合

CC2019を使っている場合は、プロジェクト設定からエクスプレションを「ExtendScript」に切り替えてください。
大事なところ

じゃないと安定して動作しません。
2019からエクスプレッションを含むスクリプト処理がWindowsならV8に切り替わりました。とても早くなったそうなのですが、値の取得のタイミングが違うのか、不安定な動作をします。
出来ればLegacyなExtendScriptに切り替えて使ってください。


実例

運動の分離

白はX軸に直進しつつ、途中で円運動をして、また直進に戻るという動き。
白がソース、赤がターゲット
クリックで再生します

パスをポジションのキーフレームに変換して、前後のキーフレームを調節して…ということでも実現しますがそれぞれの動きを分離しておいて、合成すると調節が楽です。
アニメな現場だと後からデータが差し替わることがあるので、プロシージャルな方が助かることがあります。
赤に近づいたところで位置の影響度を100にして、二週したところで影響度を0に戻しています。

螺旋運動



今度はソースレイヤーを円運動させて、ターゲットを中央に固定します。
そして徐々に位置ウェイトを上げていけば螺旋運動をします。
白がソース、赤がターゲット
クリックで再生します
illustratorでパスを作って貼り付けて…としないでも簡単にできます。
で螺旋で何をするの? というとよくあるのがパーティクルな処理のときに使います。
ソースをNullレイヤーにして、エクスプレッションでエミッターをつなぐとこんな感じ。

クリックで再生します

3Dレイヤー

3Dレイヤーにも適用出来ます。
これはZ軸がずれた円運動にちょっと浮気して戻る動き。
白がソース、赤がターゲット
クリックで再生します

手ぶれの射影

2Dなアニメでリアルな手ぶれをさっくり作るため、スマホとかで適当でターゲットを撮影して、それをトラッキングするとします。
壁に貼ったマーカー
クリックで再生します
トラッキングを焼き付けたNullとかに、そのまま親子付けするとこんな感じになります。
親子付けのまま
クリックで再生します
ちょっと動きすぎかな、とか回転とスケールは端が切れちゃうから少なめが良い、というときこのエクスプレッションを挟んで調整します。
transformWeightで抑制させたもの
クリックで再生します
他にも、2Dなゲームのアドバタイズムービーだと、キャラの入りと捌けを別々に制御したりにも使いました。

便利に使ってもらえたらうれしいです。

最後に。
最初はしゃべりながら操作説明の動画を撮ろうと思ったのですが、いざやってみると操作しながら説明するのがむずい!
配信者の人たちってすごいよ。ほんと。