●After Effectsの”エクスプレッション”って何?
After Effectsには「エクスプレッション」という機能があります。
これはプログラミング言語を用いてキーフレームを打つことなくアニメーションをつけたり
パラメーターを制御したりできる作業効率が格段に上がる便利な機能です。
プログラミングと聞くとハードルが高く聞こえますが、
エクスプレッションは簡単な記述ですぐに使えるため想像よりも取っつきやすいものとなっています。
エクスプレッションってよく聞くけどなんだか難しそう。種類が多くて覚えられない。
そんな理由で使うことを敬遠しがちな方も多いのではないでしょうか?
しかし、エクスプレッションは使いこなせれば表現の幅が広がり、
何よりも制作作業の時短につながるというとても便利なツール。使わない手はありません。
そんなエクスプレッションを敬遠しがちな方のエクスプレッションデビューに向けて
よく使う汎用性が高いエクスプレッションを一部ご紹介します。
これはプログラミング言語を用いてキーフレームを打つことなくアニメーションをつけたり
パラメーターを制御したりできる作業効率が格段に上がる便利な機能です。
プログラミングと聞くとハードルが高く聞こえますが、
エクスプレッションは簡単な記述ですぐに使えるため想像よりも取っつきやすいものとなっています。
エクスプレッションってよく聞くけどなんだか難しそう。種類が多くて覚えられない。
そんな理由で使うことを敬遠しがちな方も多いのではないでしょうか?
しかし、エクスプレッションは使いこなせれば表現の幅が広がり、
何よりも制作作業の時短につながるというとても便利なツール。使わない手はありません。
そんなエクスプレッションを敬遠しがちな方のエクスプレッションデビューに向けて
よく使う汎用性が高いエクスプレッションを一部ご紹介します。
●エクスプレッションの適用方法
まずはエクスプレッションを一度も使ったことがないという方に向けて
適用させる方法をご紹介します。
その方法はとても簡単で、適用したいプロパティの時計マークを
「Alt+クリック(windows)」or「Option+クリック(mac)」。
もしくは適用したいプロパティを右クリックで選択して
「エクスプレッションを編集」の項目を選択することでも可能です。
するとタイムライン上の選択したプロパティのラインに文字が表示されるので
表示された文字を消してそこに任意のエクスプレッションを入力するだけでOKです。
上記の動画では四角形の”回転”プロパティ対して”time*100"というエクスプレッションを入力することで
キーフレームを打つことなく図形に対して特定のリズムで回転を加えることができています。
また、エクスプレッションを消したい時はプロパティ時計マークを
「Alt(windows)」or「Option(mac)」を押しながらクリックすることで消すことができます。
適用させる方法をご紹介します。
その方法はとても簡単で、適用したいプロパティの時計マークを
「Alt+クリック(windows)」or「Option+クリック(mac)」。
もしくは適用したいプロパティを右クリックで選択して
「エクスプレッションを編集」の項目を選択することでも可能です。
するとタイムライン上の選択したプロパティのラインに文字が表示されるので
表示された文字を消してそこに任意のエクスプレッションを入力するだけでOKです。
上記の動画では四角形の”回転”プロパティ対して”time*100"というエクスプレッションを入力することで
キーフレームを打つことなく図形に対して特定のリズムで回転を加えることができています。
また、エクスプレッションを消したい時はプロパティ時計マークを
「Alt(windows)」or「Option(mac)」を押しながらクリックすることで消すことができます。
エクスプレッション適用方法①
プロパティ時計マークをAlt(Windows) or Option(Mac)を押しながらクリック
エクスプレッション適用方法②
プロパティを右クリックで選択して「エクスプレッションを編集」の項目を選択
エクスプレッションを消去する方法
エクスプレッションを適用させる方法と同様に
プロパティ時計マークをAlt(Windows) or Option(Mac)を押しながらクリック
プロパティ時計マークをAlt(Windows) or Option(Mac)を押しながらクリック
●覚えて時短!便利なエクスプレッション4選
ここからはエクスプレッションを使ってみたいけど難しそう…というあなたに向けて
使用頻度の高い基本的なエクスプレッションをご紹介します。
使用頻度の高い基本的なエクスプレッションをご紹介します。
①レイヤーを永久に回転させる「time*数値」
■エクスプレッション「time」とは?
時間軸に応じて数値を足してくれるエクスプレッション
1秒間にどれくらい値を動かすかを意味している。
■使い方
適用させたいプロパティに「time*〇」を入力(アスタリスク「*」は掛け算の意)
〇の箇所に任意の値を入力しましょう。
time*90だと1秒間に90度回転 time*360だと1秒間で1周するという意味になります。
マイナスで入力すると逆回転になります。例)time*-360 (左に1秒間360度回転)
時計の針が回転するアニメーションなどに用いられることが多く、
他にも位置やスケールなどといったプロパティにも使える万能なエクスプレッションです。
時間軸に応じて数値を足してくれるエクスプレッション
1秒間にどれくらい値を動かすかを意味している。
■使い方
適用させたいプロパティに「time*〇」を入力(アスタリスク「*」は掛け算の意)
〇の箇所に任意の値を入力しましょう。
time*90だと1秒間に90度回転 time*360だと1秒間で1周するという意味になります。
マイナスで入力すると逆回転になります。例)time*-360 (左に1秒間360度回転)
時計の針が回転するアニメーションなどに用いられることが多く、
他にも位置やスケールなどといったプロパティにも使える万能なエクスプレッションです。
②反復アニメーションには欠かせない「loopOut(Type="cycle")」
■エクスプレッション「loopOut」とは?
キーフレームをループさせてくれるエクスプレッション
■使い方
テキストや図形等にキーフレームを使って基本となるアニメーションを作成し、
キーフレームを打ったプロパティに対しエクスプレッション「loopOut(Type="cycle")」を適用。
すると作成したキーフレームアニメーションが永久にループする動きが作成できる。
「cycle」の他にも「loopOut(Type="pingpong")」などの種類もあります。
●pingpong
キーフレームの最後まで到達すると同じルートで逆戻りする
●continue
直前のキーフレームの速度を維持したまま等速で同じ動きをする
●offset
前の値をスタート地点として次のループが開始される
キーフレームをループさせてくれるエクスプレッション
■使い方
テキストや図形等にキーフレームを使って基本となるアニメーションを作成し、
キーフレームを打ったプロパティに対しエクスプレッション「loopOut(Type="cycle")」を適用。
すると作成したキーフレームアニメーションが永久にループする動きが作成できる。
「cycle」の他にも「loopOut(Type="pingpong")」などの種類もあります。
●pingpong
キーフレームの最後まで到達すると同じルートで逆戻りする
●continue
直前のキーフレームの速度を維持したまま等速で同じ動きをする
●offset
前の値をスタート地点として次のループが開始される
③連続した不規則な動きを与える「wiggle(数値,数値)」
■エクスプレッション「wiggle」とは?
オブジェクトに不規則な動きを付けることができるエクスプレッション
■使い方
「wiggle(〇,〇)」のように〇の部分に値をいれて制御します。
左の値は「変化の速度」、右の値が「変化量」を表しています。
wiggle(10,100)の場合、10が変化の速度を表しており、
この数値が高いほど動きが速くなります。
また100が変化量を表しており、数値が高いほど動きの幅が大きくなります。
例えばトランスフォームの「位置」プロパティに対しwiggle(10,100)と入力した場合、
1秒間に10回100の値の振れ幅で位置を動かすという意味になります。
また「wiggle」は「time」同様、他の様々なプロパティにも適用することができ、
不透明度に使用する場合はオブジェクトが点滅する動きを付けることができるなど
汎用性の高いエクスプレションとなっています。
他にもFIX撮影した実写映像に使用すれば手持ち撮影のようにブレる効果をつけることもできるなど
様々な素材に対して使用できるのでぜひ試してみてください。
オブジェクトに不規則な動きを付けることができるエクスプレッション
■使い方
「wiggle(〇,〇)」のように〇の部分に値をいれて制御します。
左の値は「変化の速度」、右の値が「変化量」を表しています。
wiggle(10,100)の場合、10が変化の速度を表しており、
この数値が高いほど動きが速くなります。
また100が変化量を表しており、数値が高いほど動きの幅が大きくなります。
例えばトランスフォームの「位置」プロパティに対しwiggle(10,100)と入力した場合、
1秒間に10回100の値の振れ幅で位置を動かすという意味になります。
また「wiggle」は「time」同様、他の様々なプロパティにも適用することができ、
不透明度に使用する場合はオブジェクトが点滅する動きを付けることができるなど
汎用性の高いエクスプレションとなっています。
他にもFIX撮影した実写映像に使用すれば手持ち撮影のようにブレる効果をつけることもできるなど
様々な素材に対して使用できるのでぜひ試してみてください。
④すべての動きにランダム性を「random(数値,数値)」
■エクスプレッション「random」とは?
プロパティの数値が不規則に切り替わるエクスプレッション
■使い方
「random(20,100)」とすると20~100の間で数値がランダムに切り替わる。
wiggleとも似たように感じるがwiggleの場合は近接した連続した数値になるため
その違いははっきりとしています。
例えばコンポジションサイズを1920x1080として、
次元分割した位置プロパティのx軸に対して「random(0,1920)」と入力した場合
原点から左右合わせて1920ピクセル間をx軸方向にランダムにオブジェクトが出現することになります。
SFのようなグリッチノイズやテレビノイズなどを作るときにも重宝する便利なエクスプレションです。
プロパティの数値が不規則に切り替わるエクスプレッション
■使い方
「random(20,100)」とすると20~100の間で数値がランダムに切り替わる。
wiggleとも似たように感じるがwiggleの場合は近接した連続した数値になるため
その違いははっきりとしています。
例えばコンポジションサイズを1920x1080として、
次元分割した位置プロパティのx軸に対して「random(0,1920)」と入力した場合
原点から左右合わせて1920ピクセル間をx軸方向にランダムにオブジェクトが出現することになります。
SFのようなグリッチノイズやテレビノイズなどを作るときにも重宝する便利なエクスプレションです。
●他にもたくさん!便利なエクスプレッションの数々
やっぱり難しそう!そう思われる方もいるかもしれませんが
やってみると意外と簡単だったりするのでぜひ基本の4つを覚えてみてください。
そして基本の4つを覚えた上でさらに知識を広げたいと思う方は
ぜひ一度今から紹介する便利なエクスプレッションの数々にも挑戦してみましょう。
やってみると意外と簡単だったりするのでぜひ基本の4つを覚えてみてください。
そして基本の4つを覚えた上でさらに知識を広げたいと思う方は
ぜひ一度今から紹介する便利なエクスプレッションの数々にも挑戦してみましょう。
index
複数のオブジェクトに同じ動きをさせることができるエクスプレッション。
記述式は「index*数値」で、規則的にオブジェクトを配置したり、
等間隔で表現を変化させたい場合に使用する。
例えばレイヤー1のオブジェクトの不透明度に「index*10」とエクスプレッションを適用して
そのオブジェクトを4つ複製した場合、複製された4つのレイヤー番号1~4の不透明度はそれぞれ
レイヤー1→不透明度10%、レイヤー2→不透明度20%、
レイヤー3→不透明度30%、レイヤー4→不透明度40%といった形で変化する。
記述式は「index*数値」で、規則的にオブジェクトを配置したり、
等間隔で表現を変化させたい場合に使用する。
例えばレイヤー1のオブジェクトの不透明度に「index*10」とエクスプレッションを適用して
そのオブジェクトを4つ複製した場合、複製された4つのレイヤー番号1~4の不透明度はそれぞれ
レイヤー1→不透明度10%、レイヤー2→不透明度20%、
レイヤー3→不透明度30%、レイヤー4→不透明度40%といった形で変化する。
Math.sin/cos(サイン/コサイン)
規則性のある動きで周期運動をさせるエクスプレッション。
Math.sinとはsin(サイン)周期を用いて[0→1→0→1]という法則でパラメーターをループさせる数式。
記述式は「Math.sin(数値)」となっており1周期は約6秒。
速度を早くしたい場合は「Math.sin(time*数値)」。
移動幅を広げる場合は「Math.sin(time)*数値」
Math.cosとはcos周期を用いて[1→-1→1→-1]という法則でパラメーターをループさせる数式。
記述式はsinと同じで「Math.cos(数値)」。速度・移動幅を広げる場合もsinと同じ。
sin/cos2つの違いはアニメーションの数値の開始位置が違うというところだけなので
どちらか使いやすい方を覚えておくといい。
Math.sinとはsin(サイン)周期を用いて[0→1→0→1]という法則でパラメーターをループさせる数式。
記述式は「Math.sin(数値)」となっており1周期は約6秒。
速度を早くしたい場合は「Math.sin(time*数値)」。
移動幅を広げる場合は「Math.sin(time)*数値」
Math.cosとはcos周期を用いて[1→-1→1→-1]という法則でパラメーターをループさせる数式。
記述式はsinと同じで「Math.cos(数値)」。速度・移動幅を広げる場合もsinと同じ。
sin/cos2つの違いはアニメーションの数値の開始位置が違うというところだけなので
どちらか使いやすい方を覚えておくといい。
valueAtTime
動きを遅延させてアニメーションにディレイをかけることができるエクスプレッション。
追従する動きなどに使うことができる。
記述式は「valueAtTime(time数値)」で、数値は1秒を表している。
例としてアニメーションをつけたオブジェクトを複製し、
ピックウィップを使用して動きを連動させる。
thisComp.layer~~(以下略)というエクスプレション構文が表示されるので
その構文の最後にピリオドをつけて「thisComp.layer~~(以下略).valueAtTime(time-1)」と入力。
するとピックウィップで連動したもう一つのオブジェクトよりも1秒遅れてアニメーションが開始される。
追従する動きなどに使うことができる。
記述式は「valueAtTime(time数値)」で、数値は1秒を表している。
例としてアニメーションをつけたオブジェクトを複製し、
ピックウィップを使用して動きを連動させる。
thisComp.layer~~(以下略)というエクスプレション構文が表示されるので
その構文の最後にピリオドをつけて「thisComp.layer~~(以下略).valueAtTime(time-1)」と入力。
するとピックウィップで連動したもう一つのオブジェクトよりも1秒遅れてアニメーションが開始される。
●まとめ
いかがだったでしょうか?
After Effectsのエクスプレッションとはプログラミング言語の一種であり
探せばまだまだ数多くのエクスプレッションが存在します。
もちろんすべてを覚える必要はないため、基本をおさえつつ
必要な時に改めて調べ直しながら使用していくことをおすすめします。
そうやって自分に合ったエクスプレッションを見つけてみてはいかがでしょうか?
それではぜひエクスプレッションをマスターしてご自身の表現の幅を広げてみてください。
After Effectsのエクスプレッションとはプログラミング言語の一種であり
探せばまだまだ数多くのエクスプレッションが存在します。
もちろんすべてを覚える必要はないため、基本をおさえつつ
必要な時に改めて調べ直しながら使用していくことをおすすめします。
そうやって自分に合ったエクスプレッションを見つけてみてはいかがでしょうか?
それではぜひエクスプレッションをマスターしてご自身の表現の幅を広げてみてください。