After Effectsのエクスプレッションで回転させたい!
前回、After Effects でオブジェクトを回転させる基本技を見てきましたね?
基本をマスターしたらやってみたくなるのが
エクスプレッション を使ってオブジェクトをループで回転させる方法です。
キーフレームを打って回転アニメーションを作る必要はなく、スクリプトを書くだけでいいですからね。
After Effectsのエクスプレッションでオブジェクトを回転させる方法
例として、星のキャラクターをループで回転させてみたいと思います。

エクスプレッションを表示させる
まずは エクスプレッション を表示させます。
レイヤーを選んだ状態で、 Rを押して回転プロパティを表示させます。
「時計マーク」にカーソル合わせた状態でoptionキー( Windows ならaltキー)を押しながらクリック。
すると、スクリプト欄が出現するんじゃないですかね。
デフォルトでは、
1 |
transform.rotation |
と書いてあるはずです。
timeを使う
続いて、そのスクリプト内にtimeを使っていきます。
timeは、
経過秒数を値として返す関数
です。

例えば、1秒後は1、80秒後は80を返してくれます。
After Effectsのエクスプレッションの回転をtimeにすることで、1秒に1度ずつ変化するアニメーションは表現できるんです。
けれども、これだと遅い!!遅すぎる!
1回転360度のために360秒(6分)待たないといけませんからね。
そこで、このtimeに360かけてやりましょう。
1 |
time* 360 |
これにより、
1秒間に1回転(360度)するアニメーションをエクスプレッションで表現できます。
キーフレームを打つ必要がないのでめちゃくちゃ便利ですね。
エクスプレッションを使えば他のオブジェクトの回転と連動できる
他のオブジェクトの回転を連動させることも可能です。
「ナルトマーク」を他オブジェクトの回転プロパティにドロップしてやると、次のようなスクリプトが現れると思います。
1 |
thisComp.layer("レイヤー名").transform.rotation |
これは
継承先のオブジェクトの回転を表しているので、連動させたオブジェクトも同じ回転する
ことを意味しています。
thisComp.layer(“レイヤー名”)で特定のレイヤーのオブジェクト情報を取得し、そのtransform.rotationプロパティを参照することで回転情報を取得しているわけです。
この場合、次のように2つのオブジェクトが同じ回転することになります。
この例では、カラフルな星を黄色い星の回転に連動させてますね。
ただ、これだとつまらないので、-1をかけてやると、逆回転するようなアニメーションを作ることができます。
1 |
thisComp.layer("レイヤー名").transform.rotation * -1 |

2倍すれば2倍速、+30°だけずらせば30度ずらした回転アニメーションができます。
1 |
thisComp.layer("レイヤー名").transform.rotation + 30 |
このように、エクスプレッションは単独でループ回転を作るだけでなく、他のオブジェクトと連動して制御できるのが魅力だと思います。
ぜひ使ってみてください。
それでは!
Ken
コメントを残す