After Effects で物理シミュレーションを実現する方法

野田秀徳 氏によるNewton 2 解説

"クリエイターズ ビュー" 今回は、モーショングラフィックスを中心に演出、デザイン、CG作成を手掛けられる 野田秀徳さんに、After Effects で2D物理シミュレーションを実現するプラグイン Newton 2 の活用方法を解説頂きました。


プラグインの Newton 2(ニュートン 2)は、After Effects コンポジションの各2Dレイヤーに重力を加え、落ちる、ぶつかる、跳ねる、転がる、止まるなど、現実世界と同じリアルな動きの物理アニメーションを自動作成できる画期的なツールです。


解説のビデオ1では、Newton 2 の基本操作方法をご紹介。ビデオ2は、実例編。実際に Newton 2 を使った2D物理アニメーションを作成してみます。ビデオ3は、応用編。Newton 2 の物理シミュレーションの3D空間での活用法と、プラグイン Trapcode Particular と、Plexus を併用した作例を制作してみます。


野田さんによる、物理シミュレーションを使った気持ちよいモーショングラフィックスとその制作過程をぜひご覧ください!!

クリエイターズ ビュー/Newton 2 の活用例(完成ビデオ)

まずは、今回、野田さんが、Newton 2 を使って作成された、Newton 2 活用例の完成ビデオをご覧ください。
実際の作成方法などは、ビデオのパート2「実例編 Newton 2 を使った2D物理アニメーション」、パート3 「応用編 Particular、Plexus を併用した物理シミュレーション」でご紹介しています。

野田さんが解説で使用されている After Effects プロジェクトを配布中!
Newton 2 の評価用プロジェクトとして解説と合わせてご活用ください。

※サンプルプロジェクト「newton2_example_3d (CS5).aep」はCS6で制作されたものをCS5に変換しています。
 ライト1〜ライト4の強度を20位に変更すると作例解説ビデオに近い設定になります。
※配布するプロジェクトは、製品の評価のみにご利用頂けます。評価以外の使用、再配布などはできません。

1)Newton 2 の基本的操作方法

ビデオ1では、Newton 2 インターフェイスの各パラメーターを見ながら、Newton 2 の使用方法をご紹介します。

まず Newton 2 は、After Effects のコンポジションのオブジェクトを使って物理シミュレーションを行います。Newton 2 は、2D物理シミュレーションのため、各オブジェクトは、2Dレイヤー(テキストレイヤー、シェイプレイヤー、平面レイヤーなど)を使用します。

(02:40)コンポジション>Newton 2 を選択すると、Newton 2 の専用のインターフェイスが起動し、コンポジションにあるオブジェクトが表示されます。

再生ボタンをクリックすると、物理シミュレーションがプレビューされます。デフォルトでは、下向きの重力のため、全てのオブジェクト(Newton 2 では Body(ボディ)と呼びます)が下に落下します。
重力の設定は、右上の Gravity パレットで行います。Direction が、重力の方向です。パラメーターの右端のボタンで、初期値に戻せます。

(04:00)各 Body に、Body Properties>General>Body Type より重力のタイプを設定します。Body Type は、以下の6つです。

  • Static(スタティック)静止した Body。
  • Kinematic(キネマティック) キーフレームやエクスプレッションなど、After Effects 内でアニメートする Body。
  • Dynamic(ダイナミック/活動的)重力に影響される Body。
  • Dormant(休眠)Bodyが衝突してダイナミック(活動的)になるまでは重力に影響を受けない Body。
  • AEmatic(AEマティック)Kinematic と Dynamic の間のハイブリッドタイプ。
  • Dead(休止)重力が無視される Body。

(08:00)Body Properties パレットの、General の各パラメーターを説明します。

  • Density(デンシティ)密度。値を上げると重くなる。物体とぶつかった時に沈み込む度合いに注目。
  • Friction(フリクション)摩擦。値を下げるとツルツル滑る感じです。
  • Bounciness(バウンシネス)弾力。
  • Color(カラー)。Newton 2 の中の色を変更ができます。グループ分けなどで利用できます。
  • Velocity Magnitude(ベロシティ マグニチュード)速度の大きさ。値を上げると動きの速度が早くなります。
  • Velocity Direction(ベロシティ ディレクション)速度の方向をつけることができます。

(12:20)

  • Angular Velocity(アンギュラー ベロシティ)Body に回転を与えることができます。
  • Linear Damping(リニア ダンピング)動きに抵抗が生まれます。空気抵抗、水の抵抗のような感じです。例えば抵抗を高くすると落下時はゆっくりと落ちます。
  • Angular Damping(アンギュラー ダンピング)Body の回転にも抵抗を加えることができます。
  • AEmatic Damping(AEマティック ダンピング)AEmatic Body のみ適用。AEで作成したモーションをどれだけ生かすか決められます。

(15:20)Body Properties パレットの Advanced で、グループ分けができます。
ここでは、AのテキストがグループA、床をグループB、シェイプをグループCとします。例えば、グループAは、グループBとはぶつからないとすると、グループAのAは、グループCのシェイプとはぶつかるけど、グループBの床とはぶつからないという設定ができます。

  • Gravity Scale(グラビティ スケール)マイナスにすると、重力と逆の方向に動きます。

(18:20)Magnetism Type(マグネティズム タイプ)は、磁力を与えます。他のBodyを引きつけたり(Attraction) 反発させたり(Repulsion)できます。
引きつける強さ(Magnet Intensity)と距離(Magnet Distance)を調整します。

(18:40)シミュレーションした結果を After Effects に持っていくには、画面右下の Render ボタンを押します。Start Frame、End Frame でキーフレームを作成するタイムを設定します。Apply to New Composition がチェックされていると、オリジナルから複製されたコンポジションにキーフレームが書き出されます。
Render ボタンを押すと、物理シミュレーションが実行され、After Effects コンポジションにキーフレームが書き出され、自動的に Newton 2 のインターフェイスが終了します。

(20:15)気をつけたいのが、元のコンポジションから再度 Newton 2 を立ち上げても、シミュレーションの設定は残っていないことです。そのため、Render ボタンを押す前に、必ず設定を保存することをおすすめします。
設定は、Newton 2 メニューの File>Save Settings から xmlファイルで保存できます。設定を呼び出すには、元のコンポジションから Newton 2 を開き、Load Settings からから保存した xmlファイルを読み込みます。

また、パレット右側中央の Actions History では、元作成した設定に戻れますが、設定を見比べたい時は、プレビュー画面右上のスイッチで設定を一時保存できます。

(25:10)更に Newton 2 には、Body と Body をつなぐ、Joint(ジョイント)機能があります。Joint でつないだ Body にそれぞれ強さと抵抗を与えられます。
Joint の種類がいくつかあります。つなぎたい Body を選択して、4種類ある Joint スイッチの一つを押します。

Pivot Joint の折れる位置はアンカーポイントツールで自由に設定できます。Angle で折れる角度をつけられます。Enable Motor のチェックでぐるぐる回る動きがつけられます。(Collide Connectde の衝突する設定のチェックを外す)
ほか、Pston(ピストン)縮んだり伸びたり。Spring(スプリング)ばね。といった接続方法があります。

2)実例編 Newton 2 を使った2D物理アニメーション

続いて実例編です。作例は、Newton 2 を使って、いくつかの物理アニメーション動きのパターンを作成し、その中でスローを掛けたり、画角を変えたりして、物理シミュレーションの気持ちよさや、面白い動きが印象的に見えるようにしています。

Newton 2 は、After Effects のシェイプレイヤーを使用するので、拡大しても、縮小しても画質が荒れない。動きがキーフレーム化されるので、スローを掛けてもコマ落ちしないという特徴があるので、自由度が高いアニメーションが作成できます。

(02:00)シェイプレイヤーは、コラップススイッチ(太陽のようなアイコン)をオンすることで、連続ラスタライズが有効になり、拡大やスローモーションなどを行っても、綺麗に描画されます。
例えば、この最初のスローモーションは、1フレームを28フレームまで引き延ばして使用していますが、キーフレム化されているのでコマ落ちすることはありません。

(04:15)最初のカット、四角と四角がぶつかって、破片が飛び散るアニメーションは、四角のモーションと、飛び散るモーションを別々に分け、Newton 2 でシミュレーションしています。

四角と四角が衝突するモーション、簡単に線形速度をつけて衝突させているだけです。破片が飛び散るモーションは、Body Properties、Advanced の磁力(Magnetism Type)に、反発の力(Repulsion)を設定しているだけです。

この2つの動き、位置と角度を自由に変えられるので、よき感じのところに配置します。動きを見て、スローにしたり、拡大したり、気持ちよい感じにつないでいます。

(07:15)続いて、物体が、斜め上から床に落ちきて、転がっていくモーション。
これは、まず重力を斜めに設定しています。床に落ちた物体が、下手に転がっていくのは、重力が斜めのためです。また最初から物体が回転するのは、Anglar Velocity で設定します。

(09:13)二つの大きな丸に挟まれたストライプ柄の小さな丸が弾き出されるシーン。
大きい丸同士が近づくのは、磁力を使っています。Body Properties、Advanced の磁力(Magnetism Type)は、引き合う(Attraction)設定です。

(12:20)小さい丸が、大きな丸に集まってくるシーンでは、中央の大きい丸に磁力を設定して、多数の小さい丸を引きつけています。
中心の大きい丸が縦に動くモーションは、After Effects で作成しています。
Newton 2 の設定は、大きい丸の Body Type を、AEmatic にして After Effects の動きを生かしつつ、Advanced、Magnetism Type を Attraction にしています。

(13:40)ローブに吊るされた Newton 2 の文字が、落ちてきて止まるシーン。拡大したカットには、スローを掛けています。
ロープは、小さいシェイプレイヤーを多数作成して、上から文字まで、Joint の Distance でつなぎました。一番上のシェイプレイヤーの Body Type は、Static にして固定。Newton 2 の文字には、上向きの Velocity Direction をつけて一度上に投げ、落ちる動きを使用しました。

(16:40)このシーンでは特殊な外部スクリプト「Connect Layers」を使用しています。
ロープとなる、ジョイントでつないだシェイプレイヤーに、After Effects メニューのファイル>スクリプト>Connect Layers を適用します。
これでレイヤーとレイヤーをつなぐと、自動的にベジェ曲線みたいな感じでつながるので、有機的なロープのような動きを再現できます。
こちらも、このモーションを拡大したりスローを掛けたりして、気持ちよくつないでいます。

3)応用編 Particular、Plexus を併用した物理シミュレーション

応用編では、Newton 2 で作成した2D物理シミュレーションを、3D空間での表現に活用してみます。Newton 2の物理シミュレーションは、2Dレイヤーにしか掛けられませんが、一度キーフレーム化されたオブジェクトなら、After Effects の3Dスイッチをオンすることで、3D座標を持たせることができます。

この作例の、上から落ちてきて床で跳ねるボールのオブジェクトは、Newton 2 で物理シミュレーションをつけたシェイプレイヤーです。
このボールから生まれる小さなパーティクルは Trapcode Particular で、ラインでのつなぎを Plexus で作成しています。

(02:00)4つのシェイプレイヤーのボールが落ちて転がるシーンを、3D空間で3D座標を持たせ、奥行きのある表現にする作成方法を紹介します。

まず、Newton 2 のシミュレーションを反映したコンポジションの各オブジェクトの3Dスイッチを全てオンにします。しかし、このままではぺらぺらの平面のままなので、厚みを持たせていきます。

カメラとライトを置きます。床を平面レイヤーで作り、最初のガイドの床と置き換えます。ボールは、CS6なら、レイトレースで3D化することも可能ですが、今回はボールを強制的にカメラの方を向かせる設定をします。レイヤーを右クリック>トランスフォーム>自動方向>カメラに向かって方向を設定、するとカメラの角度を変えても、ボールはカメラの正面を向くので球体感が出てきます。

(09:00)更にボールが落ちる位置が一直線になっているので、奥行きを持たせて並べ直します。レイヤーの位置がついたキーフレームを全選択し、Z軸を動かすと、全てのキーフレームを移動できます。

(10:05)この動きに、Particular の効果を追加します。オブジェクトに Particular の動きを合わせるには、ライトエミッターを使う方法があります。今回は、Particular、Emitter の Postion XY と Position Z にエクスプレッションを適用し、シェイプレイヤーの位置座標に関連づけます。これで、Particular のエミッターが、ボールのシェイプレイヤーについて、ボールからパーティクルが生まれていくような表現を作ることができます。

更に Particular は、床や壁、重力を設定し、その床でバウンドするような表現も可能です。Particular、Physics の Gravity(重力)値を加えるとパーティクルが下に落ちていきます。Physics Model を Bounce にし、Bounce の Floor Layer を選択すると、パーティクルがシェイプレイヤーの床面と一致します。

(15:05)残りのシェイプレイヤーにも、パーティクルをつけていきます。
Particular を適用したレイヤーを複製し、先ほどつけたエクスプレッションをシェイプレイヤーに合った番号に変えるだけです。また床の設定が外れてしまうので、再度設定します。

これで全てのシェイプレイヤーに Particular のエミッターが関連づけられました。
しかし全てのエミッターが同じ動きになっていますので、Emitter の Random Seed の値を変えて違う動きにし、自然な感じに調整します。

(17:40)最後に Plexus の効果を加えます。Plexus は、シェイプレイヤーと関連づけることができません。そのため一度ヌルレイヤーを間に挟みます。

まず、新規ヌルオブジェクトを作成し、3Dスイッチを入れます。これをシェイプレイヤーと親子づけして、位置を親に対して0にすると、ヌルレイヤーがシェイプレイヤーにくっつきます。このヌルレイヤーを全てのボールにつけ、ヌルレイヤーをシェイプレイヤーに親子づけします。

(19:55)Plexus に戻り、Plexus Toolkit > Add Geomety から Layers を選択、Plexus Layer Object をアクティブに。Layer Object のType は 3D Layers 、Layer Type は、Nulls です。Plexus Points Renderer のPoints Size を調整します。

Plexus Toolkit > Add Renderer より Lines を選択、Plexus Line Renderer をアクティブにします。Maximum Distance の値を調整すると、オブジェクト同士を結ぶラインを演出できます。これで4つのボールが、Plexus のラインでつながりました。

このように Newton 2 の物理シミュレーションは、シミュレーション後、3D座標を持たせて、奥行きをつけたり、CS6のレイトレース3Dで立体感を出したり、Particular や Plexus と組み合わせて表現の幅を広げられます。ほか様々な表現を試してみてください。

 Newton 2 活用例、サンプルプロジェクトも配布しております!

野田さんによる2D物理アニメーションの活用術、いかがでしたでしょうか?
本解説でご紹介したプラグイン Newton 2 のデモ版や、After Effects のサンプルプロジェクトも配布しておりますので、ぜひダウンロードの上、ご活用ください。
クリエイターズ ビュー、ぜひともみなさまのお仕事のご参考にして頂ければと思います!

ではクリエイターのみなさまー、今日もニコニコ、お仕事に重力〜!

解説:野田秀徳 さんのご紹介
フリーランスで活動するモーショングラフィックデザイナー/ディレクター。
モーショングラフィックを軸にCM、ミュージックビデオ、イベント映像、プロモーション映像など様々な種類の映像作品に関わっています。

Webサイト:psychowestend.net
Twitter:@De_noi