Simulation

CG News

物理ベースのキャラクターアニメーションソフト「Cascadeur」

物理ベースのキャラクターアニメーションソフト「Cascadeur」のクローズドベータ版が発表されました。
https://cascadeur.com/en

CascadeurはEndorphinのような物理ベースのシステムと、ポーズ、タイミング、パスなどのキーフレーム機能を組み合わせたものっぽいです。物理ベースのアニメーションとMocapデータを組み合わせて、物理的に正しい動きを失うことなく変更することもできるらしい。

Cascadeurの歴史が10年に及ぶ社内ツールとして開発され、最近ではNekkiのShadow Fightシリーズの一部として使用されてるとのこと。

 主な機能

  • 物理ベースのキャラクターアニメーション
  • 短時間で高品質のアニメーション
  • モーションキャプチャに追加または置換
  • キャラクターアニメーションを扱うのに適した簡単なインターフェース
  • キャラクターのリグのクイックセットアップ
  • 初心者でも素晴らしい結果を達成するための素早い学習
Tips

modoのパーティクル色

modoのmodoのパーティクル色ついて書いてみたいと思います。

Particle ModifierやParticle Generator、Particle Operatorノードには「色」というチャンネルがあり、パーティクルに色の情報を設定することができます。

パーティクルに設定した色を使用するには Particle Sampleノードの「パーティクル色」を使用します。スケマティックにParticle Sampleを追加して、マテリアルの「ディフューズ色」にリンクすると、リプリケータを使用して複製したアイテムに「パーティクル色」を適用することができるようになります。

 

下の画像はParticle Modifierの「色」で設定したグラデーションを使用して、リプレイケータで複製した球に色を設定したものです。Capsule Falloffを使用して色を設定する範囲を指定しています。

スケマティックはこんな感じです。

Particle Operatorはベースになる色を設定するのに使用しています。パーティクル色はデフォルトで黒色なので、Particle Operatorに特性「色」を追加して演算ノードで1を設定して白色にしています。ただしパーティクルが発生したフレームは色が適用されず必ず黒色になるようです。パーティクル色を使用する場合は発生直後のパーティクルをレンダリングしないようにする必要があるかも知れません。

 

単純な表現であればグラディエントテクスチャを使用して同じようなことができますが、
パーティクル色を使うとスケマティックを使用した複雑な表現ができるようになります。
たとえば下の画像のように、ポリゴンメッシュに距離が近いパーティクルに色を設定することができます。

スケマティックはこんな感じです。

基本的にはレゴブロック風の表現と同じ処理で、Intersectノードを使用してメッシュとパーティクルの距離を出力して、Relationshipノードを使用してメッシュに近い場合に任意の色になるように設定しています。

Intersectノードはmodo標準機能だと、コンストレインの「交差サーフェイス」で使用されるノードです。IntersectノードのTypeはデフォルトでLineになっているのでSurfaceに変更します。このTypeチャンネルは凄く重要なパラメータなのですが、プロパティには表示されないので、チャンネルビューポートで設定する必要があります。

Intersectはメッシュチャンネルとアイテムの位置情報を使用するので、ToroidのワールドチャンネルをMatrix Composeして「トランスフォーム入力」にリンクします。Matrix ComposeやMatrix Constructが何かわからない場合はマトリクスチャンネルの記事を読んでみてください。

 

Particle Generatorをエミッターにして等間隔に発生させたパーティクルを使用すると、ドット絵っぽい表現になります。

ちなみにParticle Generatorについてる「色」は、タイプが「配列」のときは正常に動作しないので注意が必要です。「放射状」では正しく色が反映されます。Particle Generatorは簡単にテストしたいときによく使うので、ちょっと罠っぽいですね。

タイプが配列の場合、グラデーションが無視される。

タイプが放射状の場合、グラデーションが適用される。

 

パーティクル色はスケマティックと連携すると色々面白い表現ができそうです。モーショングラフィックにも最適ですね。

CG News

プロシージャルコンテンツ作成システム「Deep FX Studio」

新しいプロシージャルコンテンツ作成システム「Deep FX Studio」のベータ版がリリースされました。
https://www.deepfxworld.com/deep_fx_studio.php

ノードベースのUIを使用して流体、粒状材料、破砕、Bullet フィジックス、マルチフィジックスの手続き型シミュレーションを作成することができます。他のアプリへのエクスポートするためにOpenVDBとAlembicがサポートされています。
価格はインディー$149.99、プロフェッショナル$ 349.99の2種類。現在は早期アクセス割引でインディー$99.99、プロフェッショナル$ $233.99です。

LightWave用の流体プラグインDeep Rising FXをスタンドアロン化したソフトなのかな?

 

特徴

100% プロシージャル

Deep FX Studioは、グラフィック用のプロシージャル型コンテンツ作成システムです。アート、アニメーション、ビジュアルエフェクトを作成したい場合はこのアプリケーションが役立ちます。

 

流体シミュレーション

高精度の最先端の液体シミュレーションを作成します。リキッドスタジオショットや猛烈な滝を作りましょう。

 

粒状シミュレーション

リアルなグラニュラーアニメーションを必要とするものを作成するために、何百万もの粒状パーティクルを簡単にシミュレートします。

 

Bullet Physicsの統合

強力な物理エンジンのBulletは、今や業界標準となっており密接に統合されています。映画のような剛体アニメーションを作成できます。

 

マルチフィジックス

Bulletと最先端の物理ベースのアニメーションツールを組み合わせて、マルチフィジックスワークフローの威力を最大限に引き出しましょう。ゴム製のアヒルを手動でアニメートする必要はありません。自動的にシミュレートしてください。

 

破砕

破壊的な物を作成するために、オブジェクトを簡単に破壊してあなたのシミュレーションに送り込みます。またはあなたの他のお気に入りのツールに作品をエクスポートします。

 

Open VDB サポート

OpenVDBは業界標準を変えるもう1つのゲームです。この強力なボリュメトリックツールキットはさまざまなことに使用できます。

 

データ交換

Collada、OBJファイルをあなたのお気に入りのツールからデータをエクスポートして、簡単にそれらをインポートできます。Alembicファイルを使用して他のアプリケーションにデータをエクスポートすることもできます。

 

Pythonスクリプト

Pythonを使用して独自のロジックをプロシージャル型ワークフローをスクリプト化します。

CG News

NVIDIA PhysX オープンソース化

物理シミュレーションエンジンのNVIDIA PhysXがBSD-3ライセンスでオープンソース化されたようです。以前からフリーでソースコードにアクセスできたと思うけど、オープンソースとは言ってなかったみたいですね。流体エンジンのその後が気になります。
https://blogs.nvidia.com/blog/2018/12/03/physx-high-fidelity-open-source/

無料、オープンソース、GPUアクセラレーション

PhysXはGPUアクセラレーションを活用し、大きな仮想環境を処理できる唯一のフリーでオープンソースの物理ソリューションです。今日、シンプルなBSD-3ライセンスの下でオープンソースとして利用可能です。

PhysXはいくつかの重大な課題を解決します。

  • AIでは研究者は合成データ(現実世界の人工表現)を必要とし、データを必要とするニューラルネットワークを訓練する必要があります。
  • ロボット工学では、研究者は実際のロボットのように機能する環境でロボットの心を鍛える必要があります。
  • 自走車の場合、PhysXは実世界の状況を再現するシミュレータで数百万マイルの走行を可能にします。
  • ゲーム開発では、缶詰のアニメーションは有機的に見えず、洗練されたレベルでの制作に時間がかかります。
  • 高性能コンピューティングでは、忠実度の高いより強力なマシン上で物理シミュレーションが実行されています。

PhysX SDKは、スケーラブルで安定した正確なシミュレーションにより、これらの課題に対応します。

PhysX SDKはスマートフォンからハイエンドのマルチコアCPUやGPUまで幅広いデバイスをサポートするスケーラブルなマルチプラットフォームのゲームフィジックスソリューションです。完全なソースコードはGitHubで見つけることができます。

CG News

Trapcode Suite 15 リリース

Trapcode Suite 15がリリースされました。新機能で目を引くのは Particular 4 と Form 4 にフルードダイナミクスが追加されたことでしょうか。動作が軽ければ面白そう。
https://www.redgiant.com/blog/2018/10/30/trapcode-suite-15/?utm_source=twitter&utm_campaign=TCS_15&utm_medium=social

 

PARTICULAR 4 新機能

FLUID DYNAMICS

新しい流体物理エンジンを使用して流体エフェクトを作成します。パーティクルはあたかも実際の流体を動かしているかのように動作します。4のカスタマイズ可能な流体挙動から選択してください。

DESIGNER

パーティクルエフェクトを作成するには、アップデート デザイナーでこれまでより簡単です。エミッタ、パーティクル、フィジックス、およびAUXパーティクルにあらかじめ設定された動作とスタイルの調整可能なブロックを追加します。また、ワンクリックでカスタマイズ可能なパーティクルエフェクトを追加することもできます。

335 + PRESETS

完全にカスタマイズ可能な335以上のデザイナープリセットを使用しましょう。Ver 4では流体力学などの強力な機能を示す35以上の新しいプリセットを含みます。ライブラリを探索して、流体、火、宇宙飛行、花火、銃口フラッシュ、爆発、煙などを作成するための美しいデザインのエフェクトを見つけてください。

価格

フル:$ 399
アップグレード:$ 149

 

FORM 4 新機能

FLUID DYNAMICS

新しい流体物理エンジンを使用して流体エフェクトを作成します。パーティクルはあたかも実際の流体を動かしているかのように動作します。4のカスタマイズ可能な流体挙動から選択してください。

DESIGNER

パーティクルグリッドを作成するには、新しいデザイナーでこれまでよりも簡単です。フォーム、パーティクルなどのプリセット設定とスタイルで調整可能なブロックを追加します。また、ワンクリックで完全なカスタマイズ可能なパーティクルエフェクトを追加することもできます。デザイナーは即座のビジュアルフィードバックを提供し、効果を直観的かつ創造的な方法でプレビューすることができます。

150以上のプリセット

完全にカスタマイズ可能な150以上のデザイナープリセットを使用しょう。フォーム4には新しい流体機能を示す20以上の新しいDesignerプリセットが含まれています。ライブラリを探索して、流体アニメーション、背景、モーションデザイン要素などを作成するための美しくデザインされたエフェクトを見つけてください。

価格

フル:$ 199
アップグレード:$ 99

CG News

Storm 0.2 リリース

スタンドアロンの粒状シミュレーションツール「Storm 0.2」がリリースされたようです。

より速いビューポート表示、より良いパーティクル/デフレクターの相互作用によるパフォーマンスの向上が含まれます。また、SDFの作成と視覚化の改善、時間の経過とともにパーティクルを再リンクしたり、パーティクルを殺したり、パーティクルを変形させたり、パーティクルをジオメトリでスリープ/アウェイクさせたりする機能も追加されています。内部ジオメトリのスケーリングと同様に、アダプティブサブステップが可能になりました。

この新しいリリースでは、アニメーションのショートカットや、さらに多くのデータをPRTとしてエクスポートする機能も追加されています。インポートはAlembic経由のカメラインポートをサポートしました。MacOSのバージョンが利用可能になりました。

Tips

modoのフォールオフ プローブでパーティクルを制御

フォールオフプローブでパーティクルを制御する方法について書いてみます。
modoにはカーブプローブやフォールオフプローブという、カーブや3D空間の位置を利用してリギングするための便利ノードが搭載されています。特にフォールオフプローブは位置を利用して大量のパーティクルをシーケンシャルに制御できるので、モーショングラフィックなんかで便利に使えます。

フォールオフプローブを使用すると、以下の画像のようにフォールオフの影響範囲内のパーティクルを制御することができるようになります。

スケマティックはこんな感じです。

Particle Operator に「位置」を追加して、Falloff Probe の「位置」にリンクします。Falloff Probe の「出力」をParticle Operatorの「速度」や「サイズ」にリンクすると、フォールオフ内のパーティクルを制御することができるようになります。
Radial Falloff 内のパーティクルは Channel Waveformを使用して「速度 Y」を制御して上下移動させています。また Linear Falloff と Relationshipを使用して、下から上にかけてパーティクルのサイズが小さくなるように設定しています。

パーティクルは Particle Generator を使用して等間隔にパーティクルを発生させてます。Source Emitterの「パルス」を設定することで、 Particle Generator の1頂点から1パーティクルだけ発生するように設定してます。
プリミティブのCubeをそのまま使用しているので、シーンのサイズが100mほどあります。Channel Waveformの「振幅」の値が大きいのはこのためです。

 

フォールオフは3D空間でアバウトに影響範囲を指定できるのが便利なため、バージョンアップのたびにフォールオフチャンネルが追加されたノードが増えています。代表的なところだとメッシュの変形、デフォーマのインフルエンス、チャンネルモディファイヤ、フォース、パーティクル モディファイヤ、テクスチャ、プロシージャルモデリングなど、多くのノードでフォールオフを使用することができるようになってます。

 

パーティクルの上下移動程度であればフォースにフォールオフを設定しても同じようなことができるのですが、少し複雑な制御にフォールオフを使用したい場合に、どんな感じでノードを組めばいいのか忘れがちだったのでフォールオフプローブの使い方の記事を書いてみました。

ちなみに、当初は Channel Waveform の「オフセット」をアニメーションさせる予定でしたが、「オフセット」はフォールオフの外側にも影響がでてしまいました。CSV Point Cacheでパーティクルのキャッシュを作成して、カメラをパーティクルコンストレイントで動いていないパーティクルにくっつければフォールオフ内だけ動いて見えるようにレンダリングすることもできます。

 

質感の設定はGradientを使用しています。入力パラメータで「ロケータまでの距離Y方向の距離(オブジェクト空間)」を使用して上下方向の色と、「ロケータまでの距離」を使用してRadial Falloffの距離で「ルミナンス色」と「ルミナンス量」を制御してます。

単純なシーンですが、modoのレンダリング力のおかげでそれっぽく見えるんじゃないかと思います。

 

CG News

リアルタイムモーショングラフィックソフト「Notch Builder」

リアルタイムでモーショングラフィックのような映像を作成するソフト「Notch Builder」。現在はベータ版として販売中。価格はベース£99とプロ向けライセンスの年間£2,100。ちょっと面白そう。
https://www.notch.one/products/notch-builder/

概要

Notch Builderはギグ、ステージイベント、インスタレーション用のライブビジュアルを生成するために設計されたツールです。過去の使用方法は、U2とFoo FightersのツアービジュアルからBroadwayミュージカルFrozenまでさまざまです。

プロフェッショナル版はライブ再生用にメディアサーバーと直接統合するように設計されていますが、Base Editionは他のDCCツールと同様に標準のビデオフッテージをレンダリングします。

0.9.21ではリジッドボディダイナミックス、フェイシャルトラッキング、アレンビックサポートなど、450以上の新機能が追加されてるとのこと。

ノッチ・ビルダーは完全にノードベースのアプリケーションであり、デモではCinema 4DとHoudiniのクロスといったようなものがあります。

モデリングツールはありません。複雑なジオメトリはOBJ、FBX、または最新のAlembic形式、Cinema 4DまたはLightWaveシーンとしてインポートする必要があります。

シーンは、MIDI、ビデオ、またはモーションキャプチャのデータ入力(ストリーミングライブまたはオフライン)によって動かされ、ソフトウェアはMicrosoftのKinectおよびIntel RealSense 3Dカメラと統合されます。

レンダリングのために、ソフトウェアは独自のDirectXベースのエンジンを使用します。

このソフトウェアは、Cinema 4DのMoGraphツールセットから、RealFlowの.binとBlenderのポイントキャッシュファイル、CSV、および「選択されたクローンシステム」をインポートできます。

スクリプティングはPythonやC#ではなくJavaScriptを使用して行われます。イメージやテキストを取り込むためのRSSフィードを読むことができるなど、いくつかの珍しいオプションがあります。

 

Tips

modoでタイムラプス表現

modoの「自然科学ベースの日光」「自然科学ベースの太陽」、いわゆるフィジカルスカイとフィジカルサンの時間をアニメーションさせて、タイムラプスっぽい表現の作り方について書いてみたいと思います。

 

時間経過のアニメーション

modoでは日の出から日の入りまでのアニメーションが簡単に作れます。空のような環境は、シェーダーツリーのEnvironment Material で環境タイプを「自然科学ベースの日光」を設定します。

ライトの設定の「自然科学ベースの太陽」をONにして、「時」チャンネルを設定すると時間に応じた照射をシミュレーションすることができます。このシーンでは 04:30~20:00 までアニメーションを設定しました。

 

雲のアニメーション

雲の表現にはボリュームを使用しています。Multi-Fractalレイヤーを追加して、レイヤーエフェクトを「ボリューメトリック密度」に設定します。雲の動きはMulti-Fractalのテクスチャロケータの位置をアニメーションさせています。ボリュームの位置は動かしていません。

雲の量を朝夕と日中で変化させるために「上部クリップ」にキーを設定しました。

ボリュームの形状は「立方体」、「半径」を300mに設定して、トランスフォームのスケール Yを10%にして平面的なボリュームにしています。位置は見た目で適当に配置してます。

ボリュームのシェーディングは時間に応じて「密度」「スキャッタリング」「アンビエント」「アンビエント色」をアニメーションしています。

「密度」は朝夕の時間が 10、日中は 7 に設定して雲の厚みを変化させています。同様に「スキャッタリング」も朝夕は 10%、日中は 200% に設定して雲を白くしています。

「アンビエント」「アンビエント色」はボリュームの色に、空の色を反映するために使用しています。modoのボリュームはGIが使用できないので、ボリュームをそのまま使用すると空から浮いて見えます。
「自然科学ベースの日光」で空のアニメーションを設定したら、「アンビエント色」に5~10フレーム間隔でキーを設定して、空の色をスポイトします。
「アンビエント」は朝夕 0 、日中は 1 に設定して「アンビエント色」の影響の強さを設定しています。

 

300mのように大きなサイズのボリュームを使用する場合は「サンプリングレート」の値に注意する必要があります。ボリュームの「半径」を大きくすると、テクスチャのバンディングのような縞模様が目立つようになります。下の画像は半径100mで サンプリングレート 1 の場合の画像です。

サンプリングレート 0.5 に下げると模様が目立たなくなります。ただしレンダリング時間も長くなるので、あまり小さな値は使用しない方がいいです。

 

草のアニメーション

草のアニメーションはダイナミックカーブとファーマテリアルを使用しています。

地面のモデルからヘアーツールの「ガイドを生成」を使用して、「セグメント数」3のガイドを作成します。

作成したガイドに「ダイナミックカーブ生成」でダイナミクスを適用して、「ジョイント角度制限」に小さな値を設定して動き過ぎないようにします。

草を動かすためにTurbulence Forceを追加してランダムにガイドが揺れるように設定します。

 

Fur Material を追加して、ガイドを「方向」に設定するとガイドに合わせてファーが動くようになります。ガイドは「シェイプ」「方向+長さ」「範囲」に設定してもアニメーションします。
本当は「シェイプ」を使用したかったのですが、GLではファーがアニメーションするのにレンダリングでは動かなかったり他のパラメータの影響があるようで、いまいちイメージ通りに動かなかったです。

 

草の質感

草の質感はこんな感じです。

 

Variation Textureでファー一本一本に色のランダムさを加えます。ファーが単色だと人工的に見えるので、ファーやヘアーを使用する場合はVariation Textureを使用すると自然に見えるようになります。

 

Gradient の入力パラメータを「ファーパラメトリック長」にして、草の根元から先端にかけて「サブサーフェース量」が変化するように設定しています。同様に「サブサーフェース色」も設定します。
サブサーフェースを使用することで、逆光のとき葉先の黄色が強くでるように設定してます。

 

チキンのアニメーション

チキンが組み上がるアニメーションは、プロシージャルモデリング機能を使用しています。

骨組みアニメーションのスケマティックです。

「Merge Meshes」したチキンのモデルを「Push」でマイナス方向に縮めます。「Edges to Curves」のカーブモードを「エッジ毎」にして、メッシュの形状のポリラインを生成します。「Delete_1」で全てのポリゴンを削除してポリラインだけにします。「Delete_2」ではリニアフォールオフを使用してポリラインを削除するアニメーションを設定しています。
最後にアイテムのカーブタブで「カーブのレンダリング」をONにすると、ポリラインをレンダリングすることができます。

 

チキンの面アニメーションのスケマティックです。

「Merge Meshes」したチキンのポリゴンを「Delete」で削除しています。ランダムに削除するためにSelectionに「Select Random」というアセンブリを使用します。Percentage Selected チャンネルにキーを設定すると、ランダムにポリゴンを削除するアニメーションを作ることができます。

 

カメラの位置やフレームごとに明るさにもランダムな変化をつけるか迷いましたが、とりあえず単純なタイムラプス表現でした。

 

Edges to Curvesを使うと、骨組みっぽくモデルを手軽に作ることができるので便利ですね。こういった時間経過のアニメーションは、ゲームエンジンの方が天候を変化させたり色々できて便利な気がしますが、レンダリング時間を気にしなければmodoでも手軽に作れます。

ファーでチラツキの少ないレンダリング設定についても書きたかったのですが、テキスト量が多くなりそうだったので記事を分けて書いてみたいと思います。

Tips

modoでパーティクルの位置をブレンドする方法

modoでパーティクルの位置をブレンドする方法について書いてみます。
901で追加された Particle Constraint と Matrix Blend ノードを使用すると、アイテムの形状にパーティクルが集まるような表現を手軽に作ることができます。

 

単純なパーティクル位置のブレンドの画像です。

Particle Operator に「ID」「位置」を追加。IDを Particle Constraint の Particle ID にリンクします。これでパーティクルのIDが近いもの通しをコンストレイントしたことになります。

Particle Constraint の「出力」を Matrix Blend ノードでブレンドします。 Matrix Blend はその名の通り入力されたマトリクスをブレンドするノードです。「ブレンド」が0%だと「マトリクスA」、100%だと「マトリクスB」のマトリクスを出力します。50%だとマトリクスABの中間地点を出力します。ブレンド チャンネルにキーを設定することで、パーティクルの位置をアニメーションしてます。
Matrix Blend はいろんなリグに使える便利なノードだと思います。

Matrix Blend の「マトリクス出力」を Matrix Vector でXYZの移動に分解して、Particle Operator の「位置」にリンクします。これでパーティクルの位置をブレンドすることができます。画像ではMatrix Blendを2個つかって3アイテムの頂点位置とブレンドしてますが、最初はMatrix Blendを1個で2アイテムから試すとわかりやすいと思います。

 

パーティクル位置のブレンドはポリゴンだけでなく、別のパーティクルシミュレーションとブレンドすることもできます。

スケマティックでParticle Simulation_2にCSV Point Cash ノード使用してますが、なくても大丈夫です。

 

単純なブレンドだと機械的に補完され過ぎて感じるかも知れません。このチュートリアルのように、ベクトル減算と Vector:Multiply By Scalar ノードでパーティクルの速度を変化させるとリニアなブレンド感が緩和されると思います。

Randomize ID は速度にランダムさを設定してます。

 

パーティクル位置をブレンドすると、ロゴに集まるパーティクルなんかを作ることができます。

パーティクルの波うつ軌道は Curve Force です。GLの画像で青色のパーティクルが変な動きしてるのは、 CSV Point Cache のオフセットを使ってタイミング調節してるためです。CSV Point Cache のオフセットにキーを設定するとステップ補間になってしまうので、演算ノードをリンクして、演算ノードのチャンネルにキーを設定してます。

ここで問題になったのが、12.1でCSV Point Cache を Particle Constraint にリンクしてシミュレーション実行するとmodoがフリーズします。いちどParticle Simulationを繋いで計算した直後に、CSV Point Cache を繋いでシミュレーション実行するとフリーズせずに動作するというハックに気がついたので何とかなりました。

何となく Particle Constraint はバグってる気がします。シミュレーションを繰り返すと計算速度が徐々に遅くなるような気がするのと、パーティクル数が少なくてもシミュレーションに時間がかかりすぎる印象があります。

Particle Constraint と同じようなことは、 Matrix Compose と ジオメトリ コンストレイントノードを使って再現することもできます。こちらのノード処理の方が Particle Constraint より速く動作するのでお勧めです ( CSV Point Cache とブレンドしたい場合は Particle Constraint を使う必要がある気がします)

 

参考

emFlock2 みたいなの簡単に作れるようにならないかなー。
http://www.mootzoid.com/plugin/emflock2#lightbox[demoAssets]/0/

Tips

modoとAEでアニメ風爆発の作り方

modoとAfter Effectsを使ってアニメ風の爆発の作り方について書いてみます。特に新しい内容ではありませんが、だれかの参考になれば嬉しいです。

最近のアニメでは3DCGが使われることが当たり前になってます。爆発のようなエフェクトも作画ではなく、CGが使用されてるのを多く見かけるようになっています。
CGで爆発を作る場合は大きく分けて2つの方法があります。1つめは球体にトゥーンシェーダを設定して、球体をアニメーションする方法です。2つめはFumeFXのようなフルードダイナミクスや、ボリュームレンダリングを使用する方法です。

今回はmodoのパーティクルとボリュームを使用して爆発の素材を作って、After Effectsでセルっぽい質感にしてみます。

 

ボリュームのレンダリング

modoでボリュームをレンダリングします。色はAfter Effectsで設定するので、無彩色のままレンダリングします。パーティクルやボリュームの設定を解説するのは大変なので、詳細はサンプルファイルをみてください。

■ サンプルファイル

以前の爆発と同じく、今回もゲームっぽく爆発して消えるまでのアニメーションにしてみました。

ボリュームの質感は、爆発の中心を明るくするためにグラディエントレイヤーを「ボリューメトリックルミナンス量」で重ねています。グラディエントの「入力パラメータ」は以下の通りです。

 

デフォルト

わかりやすいように「ボリューメトリックルミナンス量」を使用していない状態の画像です。Multi-Fractal で煙っぽいでこぼこを設定しています。

 

テクスチャ値

入力パラメータに「テクスチャ値」を設定した画像です。Multi-Fractal レイヤーでへこんでいる部分を明るくすることで、煙の中心が高温になってる感じをだすために使ってます。

 

ロケータまでの距離(オブジェクト空間)

入力パラメータに「ロケータまでの距離(オブジェクト空間)」を設定した画像です。個々のパーティクルからの距離でボリュームを明るくしています。「 ロケータまでの距離(オブジェクト空間)」を使う場合は、ボリュームの「自動テクスチャオフセット」や「テクスチャエフェクト」をONにしていると影響を受けてしまうので、使う場合はOFFにする必要があります。

 

ロケータまでの距離

入力パラメータに「ロケータまでの距離」を設定した画像です。爆発の中心からの距離でボリュームを明るくしています。パーティクルを発射直後のボリュームを明るくするために使ってます。

 

最終レンダリング

全てのレイヤーを適用した画像です。

 

After Effects で色付け

modoで無彩色でレンダリングしたボリュームにAEで色をつけます。エフェクトは下の画像の通りです。

トーンカーブでボリュームのコントラストを調節してから、CelMXのGradientMapで爆発の色を設定しています。AE標準のコロラマ エフェクトでも同じことができます。最後にチョークでボリュームの輪郭をシャープにしています。
CelMXはCelFX同様にアニメ撮影処理向けのエフェクト集ですが、MXには3DCGでも便利なエフェクトが入っているので使ってます。

 

このままだと煙がパッキリし過ぎてるので影をぼかします。

レイヤーを複製して、煙の影をBlurCelを追加してぼかします。レイヤーの不透明度を65%くらいにして重ねます。ぼかし方は色々あるので、好きな方法を使うといいと思います。

 

最後に調整レイヤー追加してGlowを適用します。このGlowはお気に入りなので多用しちゃう。

 

作った爆発を Trapcode Particular で適当に発生させるとこんな感じになります。追加で火花や破片、画面ブレをつければ、もっと派手でそれっぽい感じになるんじゃないかと思います。

アニメ撮影に関するメイキングはあまり見かけることがありませんが、最終的なアニメのルックを決める重要なポジションのように感じます。フルCGや実写もそうですがコンポジットって重要ですね。

 

参考

「宇宙戦艦ヤマト 2202 愛の戦士たち」

爆発をLightWaveのハイパーボクセルで作ってるようです。modoでも参考になると思います。
http://www.dstorm.co.jp/dsproducts/lw3d/interview/profile19.html

「劇場版 ソードアート・オンライン –オーディナル・スケール–」

作画の煙の撮影処理前と後の画像が見ることができます。撮影処理で作画の煙のボリューム感がでてます。TurbulenceFDはセルっぽく加工せずに、ボリュームのシェーディングそのまま使ってるようです。こういう合成方法もいいですよね。
https://www.maxonjapan.jp/archives/work/sword_art_online_os

『Fate/kaleid liner プリズマ☆イリヤ』シリーズが実践する、新世代のアニメ撮影ワークフロー

アニメ撮影に関する貴重な記事です。今ではキャラの目や髪にグラデがかかってる作品はあたりまえですね。
https://cgworld.jp/feature/201512-prisma-illya-cgw208t2.html

ufotableのvimeoアカウント

アニメ撮影でとても見応えのある画面をつくるアニメスタジオさん。いくつかメイキング映像が公開されています。
https://vimeo.com/ufotable

CG News

Stardust新バージョン

After Effects用のモジュラー3Dパーティクルシステムプラグイン、Stardustの次のバージョンが発表されました。物理演算が搭載になるようです。
https://www.superluminal.tv/category/blog

After Effectsのモジュラー3DパーティクルシステムであるStardustの次のバージョンを発表することに興奮しています。
すばらしい新しいツールセット物理シミュレーションを紹介します。パーティクルとモデルは衝突したり、力の影響を受けながら互いにやりとりしたりすることができ、アニメーションを簡単に作成できます。

新しいバージョンは来週に利用可能になる予定です。

 

主な新機能
  • 物理パーティクル:パーティクルと3Dモデルを衝突させ、相互作用させる。
  • Live Update : Auto Cacheをオンにすると、現在の物理シミュレーション状態が表示されます。
  • ノードワークフロー : 物理シミュレーションワークフローはAfter Effectsに完全に統合されているため、シミュレーション要素を既存のコンポジションレイヤーやライトにリンクすることができ、アニメーションを調整しながら実際の結果をコンポジションで直接見ることができます。

Tips

modoのパーティクルの質量

パーティクルの質量について書いてみます。
パーティクルは点の情報で実体がありませんが、Particle Operator を使用して「質量」を設定すると、パーティクルがメッシュをはじくようになります。

画像はパーティクルとメッシュが衝突するように、あらかじめ設定したシーンを使用しています。Particle Operator の特性は、チャンネルに直接値を入力してもシミュレーションに反映されません。そこでユーザーチャンネルを作成して、その値を「質量」チャンネルにリンクしています。

下の画像はmodoのサンプルモデルを「シャッター & グルー」で粉砕したものです。

モデルは「複合リジッドボディ」を適用し、スリープのウェイクオンを「衝突フォース」に変更、「ウェイクオン値」を1に設定してパーティクルが当たったらリジッドボディが動き出すように設定しています。

ちなみに「ウェイクオン値」が0だと、連鎖的にリジッドボディ全体が動き出します。

 

Dynamic Replicator を使えば同じようなことができますが、パーティクルに質量設定した方がシミュレーションの計算量が少ないと思います。
modoのダイナミクス機能はオープンソースライブラリの Bullet Physics を使用していますが、リジッドボディとパーティクルが相互に影響し合うようなシミュレーションができるのが面白いですね。

 

参考

 

CG News

Storm // Granular Solver

スタンドアロンのシミュレーションツール。Alembic / PRT / BINファイルがエクスポートが可能な粒状ソルバーです。砂からゼリーにシミュレート可能なようです。価格は$ 279。
modoの標準パーティクルは特殊効果的な表現が弱いので、スタンドアロンはいいかもしれません。
https://effectivetds.com/resources/fx-tools/storm/

Tips

modoで物理演算後にロゴが現れる

物理演算後にロゴが現れるような表現について書いてみます。

 

作り方は簡単で、物理計算後にUVを作成するだけです。

  1. 物理計算を設定したシーンを用意します。
  2. アニメーションが終了する決めのフレームでオブジェクトを選択して、UVマップを作成します。
  3. UVを展開します。UVツールの「ビューから投影」をアクティブにして、カメラビューをクリックします。
  4. テクスチャレイヤーでUVマップを設定します。
  5. UVビューを使用して、ロゴの大きさを調整します。

かなり単純ですね。物理演算の設定を変えるとオブジェクトの位置が変わってしまうので、プロシージャルモデリングの Create UV Map ノードを使ってみるのもいいかもしれません。
ロゴは少し崩れた方がいいかなと思って最後少しずれるタイミングにしてみましたが、レンダリングしたらピッタリ決まる感じの方がよかったかも。

物理演算関連の設定も書いておきます。

物理演算は「複合リジッドボディ」を使用しています。アイテムの形状は 球、カプセル、トーラスの3種類。中央の大きな球体は「キネマティックリジッドボディ」を設定しています。

Vortex Force の「強さ」に0~200~0%でキーを設定して、ぐるぐる回るようにしています。
Radial Force の「強さ」は Vortex Force とクロスフェードするように 0~200%でキーを設定して、球体に小さいアイテムが集まるようにしています。リレーションシップを使ってRadial Force の「強さ」が200%のとき、solver の「重力 Y」を 0 になるようにしています。
これだけだとアイテムが動き回るので「複合リジッドボディ」の「粘性」と「リニア減衰」にキーを設定して、アイテムの動きを遅くします。

 

「シャッター & グルー」を使って粉々になった破片でロゴができるとか、フォースかえたり色々面白い映像を作ることもできるんじゃないかと思います。