第二回:Trapcode【Trapcode Form】

Effect Recipe(エフェクト・レシピ)第2回では、Trapcode Form(トラップコード フォーム)をご紹介します!このプラグインは、エフェクトプラグインとして人気の高い Particular と同じ、Trapcode が開発している、パーティクル生成プラグインです。

 

【Trapcode Form 製品詳細/価格/ご注文】

 

この Effect Recipe では、動画による解説を3つに分けています。時間に合わせてお好きなところからご覧ください。
パート1:Formのパラメーター解説
パート2:応用編「サウンドに合わせたパーティクルの生成」<作例1>
パート3:応用編「砂のように消えるテキストのパーティクル生成」<作例2>
「3Dオブジェクトを使用したパーティクルアニメーション」<作例3>

基本のパラメータは分かってるよ!という方はパート2以降から見てもらえればと思います。
なお今回はプラグインの特製もあり、テキストで読むより動画で見る方が圧倒的に動作を理解しやすいかもしれません。

Trapcode Form - Video Part 1「Trapcode Form の紹介」


Part 1 ビデオダイジェスト(目的の時間までシークバーを移動するか、クリックするとテキストによる説明へジャンプします)
02:00 パーティクルの考え方とBase Form - 他のパーティクルシステムとの違いと、基本となるBase Formの紹介です。
06:07 Fractal Fieldの使用 - フラクタルによって模様を描きます。
11:45 Layer Mapsの使用 - Formを使う上で重要となるレイヤーマップの解説です。
14:02 Quick mapsの活用

パーティクルの考え方とBase Form (02:00)


Trapcode Formは、3D空間上に規則的なパーティクルを生成し、美しい模様を描いたり、テキストやロゴを砂のように消し去ったり、また、読み込んだ3Dオブジェクトの形状に従ってパーティクルを配置したり、それらをオーディオと同期させて変形させたりといろんな使い方がある一方、そのパラメーターも非常に多く、慣れないと扱いが難しいプラグインでもあります。

 

そのため、目的となる映像を作るには、基本的な考え方とパラメーターを覚えておく必要はあるかもしれません。

 

まず始めに、他のパーティクルシステムとの違いを簡単にご説明します。
パーティクルを生成するエフェクトである「CC Particle World」や「Trapcode Particular」では、パーティクルはエミッターと呼ばれる<発生位置>から新しいパーティクルが作成され、一定時間経つと消えてなくなるというようなライフスパンがありますが、Formではそれがなく、始めから空間上に配置されていてパーティクルの総量は基本的に変わりません
Formではまず「Base Form」と呼ばれる基本のパーティクルを生成して、それらをアニメートさせるというような仕組みになっています。

 

01-2s Base Formのパラメーター
Base Formの設定は、Base Formパラメーターグループから行います。
デフォルトの形状(Box - Grid)ではXYZグリッド上にパーティクルを配置しますが、球状(Sphere - Layered)や読み込んだ3Dオブジェクトファイル(OBJ Model)に設定することも出来ます(左図参照)

また、このエフェクトはAfter Effects 3D空間に対応しているので、カメラを作成すれば自動的に連動して動きます。




Particleの設定
Particleの設定では、それぞれのパーティクルの見た目を変化させることが出来ます。

Particle Type: パーティクルの形状タイプ
Size: パーティクルのサイズ
Size Random: サイズのランダム
Opacity: パーティクルの不透明度
Opacity Random: 不透明度のランダム
Transfer Mode: 重なりの計算方法

Fractal Fieldの使用 (06:07)

Fractal Fieldではフラクタルノイズに従って、Formで美しい模様を描かせることができます。
主なパラメーターをピックアップしてみます。


Affect Size: サイズへの影響力
Affect Opacity: 透明度への影響力
Displace: 位置への影響力
Displacement Mode: 通常はXYZ全方向に影響するXYZ Linkedですが、XYZ Individualでは位置の影響力をXYZバラバラに設定することが出来ます。またRadialでは放射状に広がるフラクタルノイズを設定できます。
Flow X/Y/Z/Evolution: フラクタルノイズがアニメートする方向を設定することが出来ます。Formでは前述の通り、パーティクルのライフスパンというものがないのでそのままでは流れるようなパーティクルの動きは作ることが出来ません。ここでFlowの方向と速度(Evolution)を設定するとフラクタルノイズの流れができ、滑らかな動きを作ることができるのがこのFlowです。

Flow Loop / Loop Time: を使うと、フローアニメーションを特定秒数でループさせることが出来ます。短い秒数ではループできないこともあります。

 

それ以降のパラメーターは、フラクタルそのものの調整になります。
フラクタルの計算方法を変えたり、ガンマ、変化の緩急を変えたり、最大と最小を変えたり、ノイズのスケール、複雑度などがあります。

Layer Mapsの使用 (11:45)

01-4Layer Mapsは、Formの中でも重要な役割を持つパラメーターです。
このLayer Mapsを使うと、Formのベースパーティクルに対し、レイヤーから読み込んだ色やアルファを割り当てたり、レイヤーのRGBを基準に位置の変更(Displacement)やサイズの変更、ちらばり(Disperse)などの影響を与えることが出来ます。今回の作例では、<テキストを砂のようにアニメーションさせる作例>で使用しています。

ここではLayer Mapで割り当てられるエフェクトのうち、Color And Alphaを例にとって紹介してみたいと思います。
Layer Maps>Color and Alpha>Layerに割り当てたいレイヤーを指定し、Map OverというパラメータをXYに設定すると、指定したレイヤーのRGBがFormのベースフォームに対してXY軸方向に割り当てられます(左図参照)。Map Overを他の値にすることで、マッピングする方向を変えることも出来ます。

 

他のLayer Mapsに関しても同様で、指定したレイヤーのRGBやルミナンスを元に位置のズレやパーティクルサイズなどを変更させることが出来ます。もちろん指定したレイヤーがアニメーションしていればこのLayer Mapsも連動して影響するので、Formを使って高度な動きを作る時は重要になってくる機能です!
この機能は動作を見た方が分かりやすいので、実際の動作や詳しい使い方は動画や作例をぜひご覧ください。

Quick mapsの活用 (14:02)

01-5また、その上のQuick Mapsというのを使うと、いちいちマッピングするレイヤーを作らなくても簡単なグラデーションなどであればその場で作ることが出来ます。
Quick Mapsでは2軸方向へのマッピングはできませんが、1軸方向に対する単純な影響のアニメートであればこちらで十分なこともあります。


Trapcode Formの作例紹介

TrapcodeのBlogではたくさんの作品や作例が紹介されています。今回はそのうち2つをピックアップして、どのようにFormを使っているかを解説してみます。

Swirls

Inside the Nebulae by Peder Norrby


この作品では、実写の宇宙の写真を使いつつ、銀河の雲をTrapcode FormとStarglowで作成しています。ベースの星をランダムで散らし作成、次に雲の写真から切り抜いたガスのイメージをFormでカスタムパーティクルを使用して配置しています。(実際に使用しているパーティクルスプライトは左図)
この作例のチュートリアルとプロジェクトファイルがダウンロードできます。

Trapcode Form 2 .OBJ Test by Cassidy Bisher

この作品ではOBJを読み込んだFormが使われています。途中で使われている被写界深度も美しいですね。Trapcode FormのほかにTrapcode Lux, Knoll Light Factory (より自然に見せるため、レンズフレアの上にボックスブラーをかけているようです), 4カラーグラデーションを一番上のレイヤーに10%〜20%の透明度で配置しているようです。
作者のCassidy Bisherはカメラワークのコツとして、できるだけキーフレームを少なくすることを挙げています。初心者の時はどうしてもキーフレームをたくさん打って無理矢理動かしてしまいがちですが、親に設定したヌルレイヤーを活用するなど意識してキーフレームを少なくするとよりスムーズで美しいカメラアニメーションに出来ると添えています。


Trapcode Form - Video Part 2「オーディオと同期したパーティクルアニメーションの作成」


Part 2 ビデオダイジェスト(目的の時間までシークバーを移動するか、クリックするとテキストによる説明へジャンプします)
00:55 オーディオファイルの読み込み
05:35 Audio Reactorの調整パラメーター - 音と効果を紐付けるための設定です
09:41 シーンの仕上げ

オーディオファイルの読み込み(00:55)

まずは音のファイルをAfter Effectsに読み込んでコンポジションに入れておきます。サポートされている音データを含むファイルドキュメント参照)であれば何でもOKです。

Formに読み込む音のファイルを指定するにはAudio React>Audio Layerからレイヤーを設定します。

Audio Reactで音と連動させる(05:35)

02-1Formでは音のデータを元に、変形などの効果に数値をマッピングすることで連動させます。その設定はAudio Reactパラメーターから、5つまで設定することが出来ます。

まずはMap Toで割り当てるパラメーターを設定すると動作を理解しやすいです。例えばこれをParticle Sizeにすると音に合わせてパーティクルのサイズが変わります。

そしてその下、Delayが0の状態では、常に全部のパーティクルがいっせいに反応しますが、ここに数値を入れるとDelay Directionで設定した動きに合わせて効果が流れていきます。数値を上げていくとゆっくりになりますね。


Delay Directionは一方向の他にも、中心から広がるような動き(Outwards)にも設定できます。(左図)

Reactorは5つまで設定できるので、作例では複数の効果をMap Toで割り当てています。

Audio Reactorの調整パラメーター(05:35)

02-2Reactorにはその他、取得する音のデータを各パラメータで調整できます。


Time Offset[sec]: 取得する時間のオフセットです。見た目上音がずれているように見える時などに、手動で修正できたりします。
Frequency: 音の大きさを取得する周波数帯です。Adobe Audition等を使うとどの周波数帯に分布しているか分かりやすいです。(詳しくは動画を参照してください)また、高音域では一般的に値が小さくなってしまうので、その場合は強さ(Strength)を調整してください。
Threshold: しきい値です。一定値以下の値の場合は反応しないようにすることができるので、メリハリのついた効果にしていくことが出来ます。

DisperseやFractal Strengthなどを使うときは、それぞれDisperse and Twist>DisperseFractal Field以下のパラメーターで効果が設定されていないと反応しないので、それぞれの値をあらかじめ設定しておく必要があります。

シーンの仕上げ(09:41)

この作例では仕上げに「カラーカーブ」で背景の作成、Particularの追加、モーションブラーの追加、カメラの追加、「グロー」エフェクトを使ってドロップシャドウのようなグローの追加などを行っています。


Trapcode Form - Video Part 3 「パーティクルの作例と、OBJファイルを使用した作例」


Part 3 ビデオダイジェスト(目的の時間までシークバーを移動するか、クリックするとテキストによる説明へジャンプします)
00:36 Layer Mapの使用
07:32 Displacement Layer Maps
11:43 OBJファイルを使った応用作例
12:38 OBJファイルを使うときのポイント
15:30 Formでお手軽炎の生成
20:20 車のオブジェクトを使用した応用

Layer Mapsの使用(00:36)

パート1で簡単にレイヤーマップの機能を紹介しましたが、この作例ではレイヤーマップを積極的に使っていきます。


Color and Alpha: にはRGBA(RGBとアルファ)をプリコンポーズした文字に設定し、Functionalityを「RGBA to RGBA」に設定しテキストのコンポジションを持ってきます。
Disperse/Fractal Strength: 次にDisperseとFractal Strengthを使い、文字が散らばるようにするためのレイヤーマップを作ります。このエフェクトはレイヤーマップに設定したレイヤーのルミナンスによって効果が現れるので、「リニアワイプ」エフェクトを使ってグラデーションを使っています。(左図)

Displacement Layer Maps(07:32)

01-2s最後に、位置の変化、displacementのレイヤーマップを使って、散らばりと一緒に右に流れていく効果を加えています。
DisperseとFractal Strengthではルミナンスを元に黒が影響ゼロ、白が100%の影響力としてマッピングされていましたが、Displacementでは(RGB均等で考えた場合)灰色の中間値が影響ゼロ、白がプラスの方向に移動、黒がマイナスの方向となるので、DisperseやFractal用のレイヤーマップでは元の位置がずれてしまいます。

 

なのでここではDisperse用のコンポジションを複製して、後ろの色を黒ではなく灰色からに設定しています。
Functionality: の設定ではRGBそれぞれの値がXYZに割り当てられシフトする「RGB to XYZ」になっているので、上下や奥行きに対してもパーティクルが移動します。個別に設定したい場合は「Individual XYZ」にしてLayer for Xだけにレイヤーマップを割り当てればOKです。

 

Displaceをマッピングした際、グラデーションの階調の情報が不足し、移動の量に差が出てしまい縞模様が見えてしまうことがあります。(動画参照)
こういう時はプロジェクトの色深度を8bit/channelから16bit/channelに変えてあげてください。そうすればグラデーションの階調情報が密になり、なめらかな変化にすることができます。

 

作例ではこれにカメラとParticularを追加し、Magic Bullet Looksで色の仕上げを行っています。

OBJファイルを使った応用作例(11:43)

最後に3Dソフトで作成したOBJファイルを読み込んでFormで活用する例をいくつかご紹介したいと思います。
After Effects単体で立体物を描画する方法はそれほど多くはないので、この機能はグンと表現できる幅を広げてくれるのがいいですね。

例えばひとつ前の作例を応用して、3DテキストをOBJで作ってそれらをアニメーションさせたり、水玉のような形状を作ってFormで読み込み、それらをフラクタルでアニメーションさせることで炎を作成したり、車のオブジェクトを読み込んで、レンダリング画像と組み合わせた作例などを作っています。


ムービーでは以上3つの作例を、ざっと手順を追いながら確認しいます。プロジェクトファイルがダウンロードできるので是非ダウンロードして触ってみてください。

OBJファイルを使うときのポイント(12:38)

01-2s1つ目は3Dテキストです。これはOBJファイルを読み込んで、Quick Mapsでアニメーションさせているだけなので複雑なことは全くしていません。テキストが散る作例ではレイヤーマップを使用しましたが、ここではQuick Mapsを使っています。
OBJファイルを扱う上での注意点と言えば、OBJを読み込んだ際のパーティクルはポリゴンのポイントに必ず配置されると言うことです。また、パーティクルの数も頂点以上には増やすことは出来ず、間引くことしか出来ません。
つまり、左図上記のようなポリゴンをそのまま持っていくと、パーティクルの配置にむれが起きてしまいます。均等にパーティクルを配置したいような場合は3Dソフトのほうで意図的に頂点を増やしてあげる必要があります。

Cinema 4Dであれば、スプラインの補完法を細分化などにして適度に分割をしたり、またキャップのタイプをポリゴンにして正方形分割などにしてあげると均等に頂点が分割されてくるはずです。必要に応じて奥行き方法の細分化もしてください。

Formでお手軽炎の生成(15:30)

03-4次に炎のオブジェクトです。基本的なアイデアとしては、Red Giant PeopleでHarry Frankさんが公開しているものと同じ構造です。
均等な頂点を持つ球体を作成して、その上部を引き延ばして水滴のような形状を作っていますがポリゴンにムラが出来ないようにします。また、今回のようにパーティクル感を減らしたい場合は頂点の数はできるだけ多くしておくのがポイントです。
頂点の数が多いとAfter Effectsで読み込んだときも当然処理が重くなってきてしまうのですが、作業中はこのOBJ Settingsの中のSkip Vertex(頂点をスキップ)を増やすとパーティクルを間引くことが出来るので、動作を軽くして確認作業を進めることが出来ます。

ここでは、パーティクルのサイズと透明度を適度に調節し、Fractal Fieldでサイズ、透明度、Displaceを設定してY軸方向のFlowをつけて炎を表現しています。

あとはキャンドルに炎を重ねて、グローを追加、カメラの揺れと色調補正、そしてちょっと特殊な効果として、暗所で高感度撮影したときに載るようなノイズを手動で追加しています。それがこのNoiseレイヤーで、レベルエフェクトで黒をちょっと明るくした後、ノイズを作ってそれをぼかし、加算で薄くのっけています。

車のオブジェクトを使用した応用(20:20)

03-5そして最後に車のコンポジションです。
まずは車のシーンを3Dソフトで作成し、それをレンダリング、同時にAfter Effectsのカメラも書き出しています。
そして車のOBJを書き出したあとそれをAfter Effectsで読み込み、カメラと合うように調整し、Quick MapsでFractal Field、Displacement、サイズをアニメートさせて、バラバラの状態から形作られるようなシーンを作っています。これも基本的にはテキストが砂のように散るアニメーションと考え方は一緒ですね。

適当なタイミングで車と背景を追加して、仕上げにParticularでラインのパーティクルを追加しています。
車のオブジェクトもパーティクル数が多くなってくるので多少重いですが、作業中は先ほどのSkip Vertexを増やしてあげればだいぶラクに作業できるので、あまり問題ではないかなと思います。


関連ファイルのダウンロード

今回使用した関連ファイルがダウンロードできます。

【Trapcode Form サンプルプロジェクト】ダウンロードはこちら(43MB)

ファイルを解凍すると、プロジェクトファイル(CS5以降)とその素材が入っています。OBJも今回使用したもの以外にいくつか同梱しておりますので、お使いください。


気になるプラグインをつぶやこう!

EFFECT RECIPEウェブサイトでは、「このプラグインが気になる!」を募集しています。人気のプラグインは今後のEFFECT RECIPEで取り上げていきたいと思っています。

下のボタンからTwitterのアカウントで簡単に投稿できるので是非、気になるプラグインや、使い方がよく分からないプラグインがある方は投稿してみてください!



また、EFFECTS RECIPEへの感想もこちらからどうぞ!

著者:緒方 達郎 さんのご紹介

1986年生まれ。3DCGと実写を中心としたTVスポット映像や、プロモーション映像、演出映像など、フリーランスで幅広く映像制作を行っています。
AEP Project (http://ae-users.com) というAfter Effectsユーザーコミュニティを企画運営をしています。
また、ウェブサイトVilvo Designworks (http://vilvo.net)では制作物の紹介や、細かいTipsなども紹介しています。Twitterアカウントは@llcheesell (http://twitter.com/llcheesell)