4つのよく使うAfterEffectsエクスプレッション
エクスプレッションとは、プログラムを記述することによってオブジェクトをアニメーションさせたり、数値を変化させたりすることができるAdobe AfterEffects(アフターエフェクト)の標準機能のことです。
知らなくてもキーフレームを人力で打ち込めば大抵の動きは付けられますが、簡単なものだけでも使えるようになっておいた方が絶対に良いです。
特に、動きをループさせる作業をこれまで手作業で打ち込んでいた方は、今すぐその無駄な作業をやめて「loopOut(Type="cycle")」を使うべきです。
以下、よく使うものだけをいくつかご紹介しますので、参考にしてみてください。
エクスプレッションの使い方
まず適用したいプロパティを選択し、ストップウォッチのボタンを「Alt+クリック」(macの場合は「Option+クリック」)することでエクスプレッションを入力できます。
プロパティを選択した状態で「アニメーション」メニュー内の「エクスプレッションを追加」をクリックしても同じく入力可能です。
loopOut(Type=”cycle”)
キーフレームを繰り返す時に使用します。
当然ながら既にキーフレームが打ち込まれていなければ機能しません。
loopOut(type = “cycle”, numKeyframes = 0) と入力することで、「0フレームからループする」という記述になります。
100フレーム以降よりループしたい時はloopOut(type = “cycle”, numKeyframes = 100)と入力します。
random(●,●)
●には任意の数字を入れます。(例 30:100)
最初の数字は「変化させる数値の最小値」を入れ、もう一つの数字には「変化させる数値の最大値」を入れます。
シンプルなエクスプレッションですが、数値を乱数にすることによる多彩な表現が可能です。
後述のwiggle()と同じような動きを付けることもできます。
x = random(0,100);
y = random(0,100);
[x,y];
単調なエフェクトに有機的なゆらぎを付与したり、複雑な動きを持つアニメーションを作ることができます。
使い方
wiggle(0.2,10)とした場合、1秒間に0.2回、10ピクセル数値が変動します。
また、位置に対してrandom()を使う場合は以下のようにします。
random()は1つの値のみ変化させるため、位置プロパティのように2つの値を持つ場合は上記の書き方で無いと機能しません。
wiggle(●,●)
●には任意の数字を入れます。(例 30:100)
最初の数字は「1秒間に何回数値を変動させるか」を入れ、もう一つの数字には「どれくらい変動させるか」を入れます。
基本的には揺らしたいと思った時に使います。
前出のrandom()に似ていますが、wiggle()はフレームレートを参照し(1秒間に何コマ送るか)、動きに連続性を持ち、非常になめらかで自然な動きが特徴です。
「1秒間に何回数値を変動させるか」を入力する箇所にフレームレート以上の数字を入れるとrandom()のような動きになります。
カメラを揺らして手ブレを表現する時にもよく使われます。
使い方
wiggle(0.2,10)とした場合、1秒間に0.2回、10ピクセル数値が変動します。
time*●
●には任意の数字を入れます。(例 100)
これにより数値を、「現在の時間×●」上げることができます。
使い方
time*100と「回転」入力した場合、3秒後には300°回転し、10秒後には1000°回転します。
逆回転したい時はtime*-100とする。
おわり
とりあえずこれくらい把握しておけばかなり作業が楽になるのではないでしょうか。
僕が初めてloopOut(Type=”cycle”)を知った時、目の玉が飛び出すほど驚いたのを昨日のことのように思い出します。
この記事へのコメントはこちら