スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

制作の小技08

どもー。
今回は『簡単便利! エクスプレッション』てことで、エクスプレッションについて書いてみたいと思います。
この制作の小技シリーズ、基本的にAEベースで話ながらも、できるだけその他の環境(Pr,PE,VSなどなど)の方でも参考になるような解説をするという目標を掲げてやってまいりました。
しかしここにきて、とうとう完全にAEオンリーの話題が登場ですw

今回ばかりは他の環境での応用は難しい話になってしまうと思います。
あ、NiVEはエクスプレッションあるのかな、たしか。
ただ仕様は若干違うと思うので、そのあたりはお気をつけください。

僕もエクスプレッションをマスターしているわけではないですし、自分がよく使うような部分で、しかも汎用性が高くて簡単なものについて説明していこうと思います。
AEを使ってニコマスを作っているPの中にも、エクスプレッションには敷居の高さを感じている方も少なからずいらっしゃるのではないかと思うので、今回の解説で、そういった方の制作の助けになれば恐悦至極にござります。


まず、エクスプレッションってなんなんだ? というところから入りましょう。
エクスプレッションとは、スケールとか位置とか回転とかいった素材のパラメータを関数化することができる機能です。
関数化というのはつまり、『状況に応じて変化させることができる』ということです。

通常、各パラメータの数値は定数です。
スケールが100%だった場合、これを変化させるためにはキーフレームを打って、次の値を決めてあげないといけません。
ところが、エクスプレッションを使うとキーフレームを一個も打たなくても、パラメータを変化させることができてしまいます。

まあこんな説明をしていても雲を掴むような話だと思うので、実例を挙げながら説明していきましょう。

みなさんはこんな経験はないでしょうか。
「ある背景素材を、アイドルの後ろで回転させたい。回転させる時間はワンシーンの間ずっとで、速度はゆっくりがいい。だけど、ワンシーンの長さがどれくらいになるかは厳密には決まってない」
というような状況、結構あると思います。
というか、僕はよくありますw

こういう場合、普通なら該当シーンの開始時点にキーフレームを打って、とりあえず適当な長さのところにもう一つ回転のキーフレームを打つでしょう。
で、実際に該当シーンの終了時点がそのキーフレームよりも前後するなら、その時に調整すればいいや、と。
しかしそれでは、キーフレーム間の尺によって回転速度が変化してしまいます。
なおかつ、シーンの長さによってキーフレームの位置も逐次調整しなくてはいけないなんて、面倒くさくてやってられません。
そこでエクスプレッションの登場です。

※画像はクリックで元のサイズで開きます
08001.png
通常キーフレームを打つのに使うストップウォッチマークを、Altを押しながらクリックします。

08002.png
するとエクスプレッションを書き込むための入力フォームが現れます。
右側のタイムライン内に、入力欄が出ていますが、ここにエクスプレッションのソースを書くことで、パラメータを管理するわけです。
AEのエクスプレッションはJavaScriptをベースにしていますが、べつにJSの知識がなくても使えます。

さて、ではこの入力欄に、次のように書いてみましょう。

time*30


これだけ書いて、プレビューしてみてください。
キーフレームを打ってないのに、素材がくるくる回転したと思います。
AEのエクスプレッションにおいて、「time」はその現在の時間(秒)を表しています。
*は乗算記号です。×の代わりに*を使います。
で、「現在の秒数×30=」で求められた数値が回転のパラメータに逐次代入されるわけです。
端的に言えば、「time*30」は「素材を一秒間に30度ずつ回転させる」という意味になります。
これはキーフレームを打つ必要がないため、素材が配置されている間はこれだけで永遠に回転し続けます。
しかも、「ちょっと回転が早いな…」と思ったら30を20とか15とかに変えれば、それだけで調整可能です。
逆回転させたいときは、

time*(-30)


とでもして数値の正負を逆転させればOKです。

このように、エクスプレッションは素材単体で動作させることにも使いますが、素材間に複雑な親子関係を作ることも可能です。
親子関係と言えば、AEには普通にレイヤー間の親子関係を設定する機能がありますね。
あれを使えば、簡単に素材間で位置やスケールを共有することができます。
08003.png
いま、オレンジの四角がブルーの四角の親に設定されています。
ですから、オレンジの四角の位置を移動すると…
08004.png
ブルーの四角も一緒についてきますね。

オレンジの四角のスケールや回転をいじっても同じです。
08005.png
ただし、すべてオレンジの四角を中心に動くので、スケールを変更するだけで、ブルーのスケールも連動して変わりますが位置も変わってしまいます。
08006.png
回転も同じく、親を中心にブルーの四角は移動してしまいます。


これじゃだめなんだよ!!!
っていうときがありますw
あと、親子の設定では、透明度は連動できません。こんなふうに。
08008.png
親だけが半透明になって、ブルーの四角は知らんぷりです。

そういう時は、エクスプレッションで関連付けを行います。
08007.png
ここで使うのが、ピックウィップという便利機能です。
エクスプレッション入力欄を出したら、=マークの並びに蚊取り線香みたいなボタンがあります。
これをドラッグして、関連付けたい素材の目的のパラメータにドロップします。
すると、入力欄によくわかんない英文が勝手に表示されたかと思います。
この英文の意味は、別にわからなくて構いません。わかった方がいろいろできて便利だけどw

とにかく、これで『ブルーの四角のスケールは、オレンジの四角のスケールと同じ』であるという設定ができたのです。
この状態でオレンジの四角のスケールを変化させてみると…
08009.png
ブルーの四角も位置はそのままに、スケールだけが連動しています。

08010.png
同じことを回転のパラメータにおいて行えば、こんなふうに、回転だけを関連付けることも出来ます。

さらにさらに、
08011.png
複数の素材の透明度も、ピックウィップでオレンジの四角の透明度に関連付けることで、すべて一括で管理出来ます。
もちろん、オレンジの四角にキーフレームを打てば、ブルーの四角すべてが同じように透明度を変化させるわけです。

また、今までは透明度なら透明度同士で関連付けをしていましたが、
08012.png
ブルーの四角の回転パラメータを、オレンジの四角のスケールパラメータに関連付けるとこんなことも出来ます。
オレンジの四角を拡大したり縮小したりするのに合わせて、ブルーの四角が回転します。
この辺の、異なる種類のパラメータを上手く数値変換したりしながら関連付けさせたりすると、結構面白いことができたりできなかったり。
まあそういう、基本的なキーフレームでのアニメートや、親子関係の設定では実現出来なかったり、面倒すぎてやる気が出なかったりすることを、比較的簡単に実現できるのがエクスプレッションの魅力ですね。

また、あるコンポジションをループさせたい! なんてことも、エクスプレッションを使うと実現できちゃったりします。
普通のフッテージ(動画素材とか)をループさせることは可能ですが、基本的にコンポジションをループさせるというような設定項目はありません。
ですが、エクスプレッションの『任意のキーフレームの間をループさせる』機能を使って、コンポジションをループさせることができます。
08013.png
やり方は簡単で、コンポジションにタイムリマップを適用して、そのタイムリマップのパラメータにエクスプレッションで

loop_out()


と書くだけです。
loop_outは、最後のキーフレームの後方に同じ動作を繰り返す機能です。
タイムリマップを適用すると、自動的に最初のフレームと最後のフレームにキーフレームが打たれますが、それを利用してこのループを書くと、単なるコンポジションの繰り返しが実現出来ます。
まあ、コンポジションを一度動画として書き出してから読み込めば解決する話ですが、そうすると微調整ができませんし、ちょっとした素材をループさせたいときなんかには、こうしたほうが楽ちんですw


他にも、音楽の波形に素材の動きを同調させることもエクスプレッションなら簡単にできてしまいます。
最近の自作でわかりやすい例を出すと、



こちらの中盤以降、音楽に合わせて文字のスケールが変わる演出が出てきますが、これはエクスプレッションで実現しています。
これもやり方は至って簡単で、まずBGMの波形をキーフレームに変換します。

08014.png

オーディオファイルをタイムライン上で右クリックして、キーフレーム補助→オーディオをキーフレームに変換。

08015.png

これで、BGMの波形をパラメータに持った「オーディオ振幅」というレイヤーが作成されます。
ステレオなら、一応左右の振幅を独立して持っています。
このパラメータに、例えば先程のオレンジの四角のスケールを関連付けましょう。
ただし、パラメータの数値は何も加工されずにそのまま代入されることに注意が必要です。
例えば回転のパラメータを透明度に代入したとき、回転の数値が100度以上になっても、透明度は100%までしかありませんから、それ以上の数値はすべて100%になり、変化は起こりません。
エクスプレッションでは、パラメータが持つ値はすべて、単なる数値として扱われます。
ですので今回、BGMの波形をオレンジの四角のスケールに代入させると、BGMが無音で波形がないときは値が"0"ですから、スケールも0%になってしまい、四角が消えてしまいます。
これでは困るので、予め四角の最低限の大きさとして、スケールの80%あたりを設定しておきましょう。

08016.png

最初にオレンジの四角のスケールを波形と同期させたとき、エクスプレッションの入力欄には[temp,temp]という行が最後にあります。
これが、その時点での波形の数値を現しているわけです。
今回は波形の値が0でも最低80%程度のスケールにはなってほしいので、単純に80上げ底しました。


[temp+80,temp+80]


これで最低でも80%の大きさになります。
こうしておけば、音楽に合わせてオレンジの四角が大きくなったり小さくなったりするように変化しますし、このオレンジの四角のスケールはブルーの四角の回転に代入されるので、ブルーの四角も音楽に合わせて回転します。
どうでしょう、音に合わせて針が振れるとか、スピーカーが震えるとか、色々使い道がありそうだと思いませんか?w
これと同じことをキーフレームで打つのは、ちょっと無理があると思いますが、エクスプレッションなら簡単に実現できるのです。



さて、だいぶ長文になってしまったので、今回はこれくらいにしておきましょうw
正直、エクスプレッションの使い方の初歩の初歩しか説明できてませんが…
まあこれくらいが使えるだけでも、大分作業の簡略化ができることも事実です。
ただ、エクスプレッションはキーフレームとは違い、毎度すべてを演算をして結果を求めていますので、例えばプリコンポの中とかで入れ子構造的にエクスプレッションを書きまくると、途端に動作が重くなります。
エクスプレッションは便利ですが、使い方が重要ということですね。

もう少し踏み込んだエクスプレッションの説明は、また別の機会を設けて行いたいと思います。
今回は簡単にできて便利なところを紹介ってことでw
僕ももっと勉強しないといけない部分なので、次の機会までにちゃんと学習しておきます!w
それでは、今回は「簡単便利! エクスプレッション」でしたー。
スポンサーサイト

コメントの投稿

非公開コメント

そ・そうだったのk(ry

すんごい参考になりました!そっか・・・手で打たなくて良かったんだ・・・

ていうか、こんなの何処で勉強したの?
参考書籍があれば教えてくだちい・・

Re: タイトルなし

>>ふふふよさん

キーフレーム手打ちしなくても、エクスプレッションで一発でできてしまうことも結構ありますね。
そういう細かな手間の削減が、全体的な制作速度にも影響するかも?w

僕は、あんまり書籍とかは買ってないです。
AEに関しては主にネット上の解説サイトとか、AE自体にヘルプとかを見て、自分で試行錯誤して覚えた感じですかね。
エクスプレッションについてだと、
http://www.da-tools.com/
こことかが基礎から応用まで丁寧に解説されていて勉強になりますよー。
高度な使い方になるとプログラムとか数学の知識が必要になってきますけどw
でもソースを丸々コピペしたり、部分的に借用するだけでも十分実用出来ますしね。
あとは、基本だけどAE自体についてるエクスプレッションのリファレンスw
あれも結構役に立ちます!w
アンケート結果公開中!!
ニコマスライフに関するアンケート結果を公開中!!
どうぞご覧下さい!
こちらから
twitter
dbdbP
http://twitter.com/dbdbP
やよいが歌ってるだけbot
http://twitter.com/yayoi_utau
プロフィール

Author:dbdbP
PV系が主戦場。だけど他の畑にも行ってみたい。そんな繊細なお年頃。ネタ作品はあまり作らないけど、頭の中はネタだらけなの。
みんな甲乙つけがたくて誰が俺の嫁とか選べないけど、そこを敢えて断腸の思いで一人選ぶなら、間違いなくダントツぶっちぎりで春香さんですね常考。
リンクに連絡は不要です。好きにやっちゃって!
でも連絡を頂いたら、喜んで相互リンクさせていただきます。
※あまりにアイマス・ニコマス・dbdbPと無関係すぎる歪みねぇサイトはダメかも?

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
dbdbとの連絡はこちら
作品マイリスト
RSSリンクの表示
リンク
ミテマスヨー
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
検索フォーム
こんちゃ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。