Simulation

CG News

STARDUST 1.5

AfterEffects用のパーティクルプラグイン、STARDUST 1.5がリリースされました。openVDBに対応したようです。進化のスピードが速いですね。
https://www.superluminal.tv/blog

Stardustの豊富なツールセットに新たにボリュームワークフローが加わりました。世界的に有名なopenVDBテクノロジをStardustにシームレスに統合することで、Volumeオブジェクトを簡単に作成できるようになりました。
パーティクルシステムとモデル全体をボリュームに変換し、ブール演算、フィルタ、ノイズなどのさまざまなツールで結果を操作します。Stardustのツールセットに追加された他の機能には、魅力的でスタイリッシュなオブジェクトのアウトラインを作成するための驚くべき3Dワイヤーフレームの作成、マスクとテキストの端から数回のクリックで精巧な3Dオブジェクトを作成する「エッジを押し出し」、その他のツールや改良などがあります。

CG News

Bifrost for Maya

現在開催中のイベントSIGGRAPH 2019で進化したBifrost for Mayaが発表されました。Bifrost for MayaはMaya2018以降のすべてのバージョンで動作し、Maya 2019.2以降はインストーラにも含まれます。

Bifrost for Mayaはマルチフィジックスシミュレーション用の新しいビジュアルプログラミングシステムで、既存の液体シミュレーションツールセットの拡張版です。Disney for Frozenで使用に基づくMPMソルバー、Arnoldでのネイティブサポートに加え、他のDCCツールへAlembic、OpenVDB、Field3Dのエクスポートなど、様々な機能追加がおこなわれてるようです。
https://area.autodesk.com/blogs/the-maya-blog/introducing-bifrost-for-maya/

チュートリアル
https://area.autodesk.com/all/tutorials/maya/?tag=bifrost

SIGGRAPHの会場では3dsMax版のデモがあったようです。将来的にMaxにも搭載されそうですね。

 

概要

Bifrostを使用すると独自のカスタムエフェクトを作成して公開し、他のアーティストと共有してさまざまなショット、シーン、さらにはショーで使用することができます。また、砂塵、火、雪、砂などのエフェクトをすばやく作成するための、多数のグラフも用意されています。

1つのグラフ

Bifrost Graph Editorを使用すると、コンテキストやグラフのセマンティクスを切り替えることなく、視覚的なプログラミンググラフを作成して、散布、インスタンシング、変形、ボリューム処理、ダイナミックシミュレーション、マテリアル割り当て、ファイルIO、さらにはローレベルの数学ノードでのミックスが可能です。

 

詳細な煙、火災、爆発

空気力学と燃焼のための新しい物理ベースのソルバーを使用することで、見た目に自然な煙、火、爆発を作成することが可能になりました。簡単なアーティスティックコントロールを使用すると、エフェクトの境界条件を簡単に調整して、周囲のシーンと物理的に正確な方法で相互作用させることができます。また、速度、乱流、煙の密度などの特性に応じて、詳細を自動的に追加または削除するようにアダプティブ機能を設定することもできます。

燃焼ソルバーは、火災や爆発の物理反応をシミュレートするために、計算化学と熱力学を実行します。メタンやブタンのような現実世界の燃料から選択することができ、ソルバーは煙や水蒸気のようなリアルな出力を自動的に作成します。

 

 

マテリアルポイントメソッド

マテリアルポイント法(MPM)は、ディズニーのアナと雪の女王で雪かき用に使われて有名になりました。オリジナルの研究チームのメンバーによって設立されたJixie Effectsと協力して、プロダクション対応のMPMソルバーを開発しました。MPMの重要な利点の1つは、解像度が高くなってもシミュレーションの動作が一定であることです。オリジナルのMPMは雪のシミュレーションに重点を置いていましたが、JixieはBifrost MPMソルバを拡張し、次のような他の現象にも対応できるようになりました。

  • 砂や泥、雪などの粒状物質
  • ダイナミックな薄いシェルと布 (布地、アルミニウム、プラスチックなど)
  • 個々のファイバーのダイナミクス(またはストランド)

 

新しい高性能パーティクルシステム

完全にビジュアルプログラミングを使用して作成されたBifrostの新しいパーティクルシステムは、Mayaのパーティクルで以前可能であったものよりもさらに強力で拡張性に優れています。パーティクルは、空力シミュレーションと燃焼シミュレーションを実行するための効果的な方法として使用でき、その逆も可能です。

 

ボリュームのあるアートエフェクト

Bifrostにはノードがロードされており、メッシュ、ポイント、ボリューム間の変換や、次のようなアーティスティックなエフェクトのためのボリュームの処理に役立ちます。

  • メッシュ、ポイント、およびパーティクルをボリュームに変換する
  • ボリュームをメッシュに変換する
  • ボリュームをスムージングする
  • ボリュームのプロパティのサンプリング
  • ボリューム内の点の分散

 

レンダリングに適したインスタンス化

Bifrostはレンダリングに適した高パフォーマンスのインスタンス化機能を提供し、シーンを非常に複雑にすることができます。

インスタンスは、分散ポイント、MPMソルバなどのパーティクルシステム、およびその他のジオメトリの頂点に適用できます。インスタンス形状は柔軟性があり、複数のバリエーションレイヤから選択できる単純な選択メカニズムを使用して簡単に調整できます。たとえば、1つのレイヤで草と花を区別し、別のレイヤでドリルダウンしてそれぞれのバリエーションを選択できます。

Arnoldのインスタンスおよびビューポート2.0と緊密に統合されているため、メッシュ、ボリューム、ストランド、ポイントなどのレンダリング可能なBifrostジオメトリや、Arnoldのようなレンダリングアーカイブ形式の完全にレンダリング可能なアセットをインスタンス化できます。assファイル。

 

ストランド

Bifrostを使用すると、髪や毛皮から毛羽立ち、衣服、草、ワイヤー、埃まで、複数の繊維(またはストランド)から構成されるものを手続き的にモデリングできます。

 

リアリスティックプレビュー

ArnoldをMayaに統合すると、Arnoldビューポートでエフェクトの最終ピクセルプレビューを確認できるため、ライティングやレンダリング後にエフェクトがどのように見えるかを推測する必要がなくなります。ビューポート2.0でエフェクトのほぼ最終的なプレビューを確認することもできます。

 

すぐに使用できるグラフ

ドライアイスや体積測定のための雲から火災や爆発に至るまで、新しいBifrost Browserであらかじめ構築されたBifrostグラフのライブラリを探して、優れた外観のエフェクトをすばやく作成できます。また、事前に作成されたグラフは、独自のカスタム効果をゼロから作成するための出発点としても最適です。その後、スタジオの他のアーティストが簡単に検索して再利用できるように、グラフをブラウザにパブリッシュできます。

Tips

modoでアイテムが粉砕されて別のアイテムに変わる表現

modoでアイテムが粉砕されて、別のアイテムに組変わる表現について書いてみたいと思います。基本的には以前書いた記事の組み合わせでできる表現です。

 

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

 

最初にアイテム2個(球とトーラス)を Shatter を使用して粉砕します。粉砕タイプはUniformを使用します。破片の個数は球とトーラスで同じ数を設定します。
粉砕したアイテムは Locators to Array とCreate Polygonsを使用して、アイテムのセンターの位置に頂点を作成します。この頂点からSource Emitterを使用してパーティクルを発生させます。今回はWind ForceとCurve Forceを使用してパーティクルを制御しました。

 

球とトーラスのParticle Simulationのうち、どちらか一方を CSV Point Cacheを使用してキャッシュします。またCSV Point Cacheの「オフセット」を使用してシミュレーションを逆再生にします。

 

Particle Simulation_3では「パーティクルの位置をブレンドする方法」と同じく Matrix Blendを使用してパーティクルをブレンドします。こうすることで球から発生したパーティクルが、トーラスの位置に移動するパーティクルを制御できます。

 

Particle Simulation_3をMerge Meshesし、Create Polygons_3でラインを生成します。このラインメッシュに粉砕したアイテムを「頂点の位置コンストレイント」することでアイテムをアニメーションしています。粉砕したアイテムを球からトーラスに変えるところは「アイテムインフルエンス」を使用します。リニアフォールオフを使用して球の破片はスケールが100%から0%になるように設定し、トーラスの破片はスケールが0%から100%に変わるように設定しています。

スケマティックでは粉砕したアイテムを循環して使用してますが循環させない方がいいです。循環させるとコンストレイントの影響でアイテムの位置からパーティクルが発生しなくなります。少し煩雑になりますが粉砕したアイテムは複製して、 Locators to Arrayで使用するアイテムと、コンストレイントするアイテムはわけた方がいいです。


「頂点の位置コンストレイント」は複数のアイテムを同時にコンストレイント設定できないので、「コンストレイント補正オプション」をONにして、手動で1つずつコンストレイントしました。ちょっと面倒くさいですね。

 

パーティクルをフォローするようにカメラ移動するとこんな感じになります。

Iridescence Materialとクリアコートを設定してレンダリングしてみまた。Iridescence Materialは虹色の反射を設定できるので、たまに使うと面白いですね。

CG News

3dsmax用の新しいフルードシミュレーター、メッシャー、Bullet Physicsプラグイン

3dsmax用の新しいフルードシミュレーター、メッシャー、Bullet Physicsプラグインが告知されています。価格や発売予定日についての詳細は発表されていません。
https://magicpics-software.com/

 

Aquarius Fluid Simulator

もうすぐ登場

 

Aq Mesher

3dsmax用のOpenVDBベースのパーティクル/オブジェクト/ VDBメッシングプラグインです。
このプラグインは、多くのOpenVDB関数を使いやすく反応させることができます。剛体シミュレーションのためのMeshing、Levelset filter、Fractureおよびlevelset sphere関数など。

特徴
  • オブジェクト/パーティクル/ PRTファイル/ VDBファイルからレベルセット
  • アダプティブメッシング(三角/四角メッシュ)
  • 速度/頂点カラーチャンネルの作成
  • レベルセットフィルタ
  • メッシングエリアクロッピング
  • レベルセット粉砕
  • Sphere / bullet Sphereへのレベルセット(Aq Bullet Pluginが必要です)
  • VDBエクスポート

 

Aq Bullet

3dsmax用のBullet Physicsベースのマルチボディ物理シミュレータです。このプラグインは、リジッドボディ、ソフトボディ、ロープ、コンストレイントを簡単にシミュレートできます。また、キーフレームまたはポイントキャッシュによってシミュレーション結果を取得し、編集、変更、配置を簡単にすることができます。

特徴
  • 剛体シミュレーション(ダイナミック/スタティック/キネマティック)
  • ソフトボディ/クロスシミュレーション
  • ロープシミュレーション
  • コンストレイント機能(P2P、ヒンジ、スライダー、コーンツイスト、6自由度、ソフトボディアンカー、ロープアンカー)
  • Bullet プリミティブオブジェクト(ボックス、コーン、スフィア、カプセル、シリンダー)
  • 凹面/複合オブジェクトの箇条書き複合オブジェクト
  • 使いやすい/制御しやすい

 

OpenSubdiv-MPS

3dsmax用の超高速OpenSubdiv修飾子です。このプラグインは標準的なOpenSubdivモディファイヤよりもどんな状況でもはるかに良い反応をします。そしてこのプラグインは標準の頂点折り目修モディファイヤで動作します。

CG News

Storm 0.2.5

スタンドアロンのシミュレーションツール「Storm」の0.2.5がリリースされたようです。https://effectivetds.com/resources/fx-tools/storm/

v0.2.516

  • すべての数値パラメータおよびブールパラメータにエクスプレッションを追加できる
  • キャッシュとイメージの書き込みが高速化され、堅牢性が向上
  • SPHシステム追加
  • Linux版を追加
  • フォースは、粒状のまとまりに応じて、風のモードまたは強さで機能します
  • マニピュレータハンドルがオブジェクトを通して表示されるようになり表示が改善されました
  • 静的Alembicジオメトリの読み取りが高速
  • より堅牢なフローティングライセンスをオプションとして提供
  • Alembicパーティクルエクスポートの修正とより多くのチャンネルの書き込み
  • すべてのシステムでbinファイルの読み取りが可能
  • コライダーはprtポイントファイルを直接読み取ることができます
  • パラメータアニメーションとエクスプレッションの処理がより堅牢に
  • フォールバックパスをシーンファイルの一部にエクスポート
  • その他
  • バグフィックス
Tips

modoのダイナミックリプリケータ

今回はReplicator通しのコリジョン計算を行うダイナミックリプリケータについて書いてみます。ビンにあめ玉を入れたり、アイテムをばらまくときに便利です。

サンプルファイル

 

modoではパーティクルにメッシュを複製する場合はReplicatorを使用しますが、パーティクルとメッシュにコリジョン判定を設定してもReplicator通しのコリジョン計算はおこなわれません。

Replicator通しのコリジョンを設定したい場合には Dynamic Replicator を使用します。Dynamic Replicatorを設定するには、Replicatorを選択して「アクティブリジッドボディ」をクリックします。

 

Dynamic Replicatorは異なるReplicator通しでコリジョン計算することができます。

Dynamic Replicatorの「質量」を設定すると、衝突したときの動きに変化をつけることができて面白いです。

 

modo 10くらいからサンプルコンテンツがあまり増えなくなってしまったので、Dynamic Replicatorの基本的なファイルを公開しておこうと思って記事を書いてみました。

 

参考

CG News

thinkingParticles Subscription Drop 8

thinkingParticles Subscription Drop 8がリリスされてるようです。
https://www.cebas.com/?pid=productinfo&prd_id=187

Drop8はthinkingParticles内で動作するOpenVDBを起動し、ツール群に約35の新しいオペレータを追加します。他のアプリケーションで作成されたボリュームデータをThinkingParticlesに簡単にインポートできるようになり、3ds Max内でより簡単で高度なビジュアルエフェクト処理が可能になりました。

破壊のスペシャリストには、FracturreVDBとMorphVDBがお勧めです。

thinkingParticlesのユーザは、OpenVDBでのボリュームデータの高度な操作と保存によって、非常に柔軟に操作できます。

ビデオコンテンツ:

  • OpenVDBの統合の強化-VDBボリュームの作成、共有、インポート、100%プロシージャル
  • 3dsmax内でのリアルタイムボリュームフィールドの相互作用とボリュームデータのネイティブ処理
  • 完全マルチスレッドボリュームグリッドアクセス
  • リアルタイムtPスモーク&流体ソルバー/シミュレーション
  • 最先端の球面加工梱包
  • すべての単一ボリュームデータへのフルアクセスが可能な真の体積マルチスレッドパッキング
  • 高度なOpenVDBマルチフィジックス:フルマルチスレッドの流体およびボリュームの相互作用
  • サーフェスから速度への伝達と水密ボリューム境界による、高パフォーマンス変形ボリュームメッシュ境界

FLUID SOLVER 6.8–超安定、高速、柔軟性、制御性に優れています。

  • 前例のない超薄型ウォーターシート
  • 応答性が高く、ボリュームの節約に優れてい
  • 強化された圧力伝達の安定した渦度

OpenVDBに35の新規オペレータ追加

  • LoadVDB
  • SaveVDB
  • OpenVDB
  • ShowVDB
  • UBoolean
  • AdvectVDB
  • BodyforceVDB
  • BooleanVDB
  • BoundaryVDB
  • CompositeVDB
  • FilterVDB
  • FractureVDB
  • MorphVDB
  • PartToVolumeVDB
  • PotentialFlowVDB
  • Renormalize
  • ResizeVDB
  • SegmentVDB
  • ShapeToVolumeVDB
  • SignedFloodFillVDB
  • VolumeToShapeVDB
  • VolumeToSpheresVDB
  • AccumulateVDB
  • CellIteratorVDB
  • Convert /CurlVDB
  • DilateVDB
  • ErodeVDB
  • GetGridVDB
  • InitiatorVDB
  • InputFromVDB
  • InterpolateVDB
  • OutputToVDB
  • PruneVDB
  • SetGridVDB
  • UFilterVDB
参考資料

Artem Smirnov RnD reel

破壊、液体、エフェクトのRnDリール。シミュレーション時間が凄いことになってそう。

参考資料

AE用の2D物理エンジン「Physics Now!」

After Effects用の2D物理エンジン「Physics Now!」がリリースされてるようです。価格は$129。

Newton同様にレイヤー単位で2D物理計算するもののようですが、ジョイント(レイヤー間のコンストレイント)はないのかな。NewtonはBox2Dというメジャーな物理エンジンライブラリを使用していましたが、Physics Now!は何かライブラリ使ってるのかしら。

https://crunchycreatives.com/products/physicsnow/

高速で強力な2D物理シミュレーションプラグインを使用して、After Effectsで表示されているレイヤーを簡単にシミュレートできます。

Tips

modoのプロシージャルメッシュをリジッドボディダイナミクスで使用する方法

modoのプロシージャルメッシュをリジッドボディダイナミクスで使用する方法について書いてみたいと思います。

modoではメッシュを選択して「アクティブリジッドボディ」ボタンを押すと、プロパティに「ダイナミクス」タブが追加されて「シミュレーションを演算」することができます。

ところがプロシージャルメッシュ(メッシュオペレータ)でメッシュを生成した場合、通常の手順で「シミュレーションを演算」してもうまく動作しません。ダイナミクス タブで「スタティック」をOFF、「衝突シェイプ」を任意に変更する必要があります。

恐らく「アクティブリジッドボディ」ボタンはメッシュオペレータでメッシュを生成したものを認識せず、空のメッシュアイテムとしてダイナミクスの初期設定を行います。手動で適切に設定してあげれば、リジッドボディダイナミクスとして計算する事ができます。

今回のスケマティックはこんな感じ。Encode Stringはmodo 13以降は不要です。

 

プロシージャルメッシュをSwitch Stringで切り替えた場合、リジッドボディは0フレーム目のメッシュを使用してシミュレーションを実行する気がします。また、プロシージャルメッシュを「ソフトボディ」で計算することはできないようです (modo 13.0現在)。「シミュレーションの再生」ボタンではシミュレーションが実行されるのですが、「シミュレーションを演算」しても演算結果がキャッシュできないようです。

プロシージャルメッシュとダイナミクスの組み合わせは、もう少し改善してくれると助かりますね。

 

参考

Tips

modoでオブジェクトの内側のパーティクルを検出する方法

modoでオブジェクトの内側のパーティクルを検出する方法を紹介したいと思います。今回もFoundryのフォーラムで公開されていたYahllさんのアイディアです。

https://community.foundry.com/discuss/topic/88018/

サンプルファイル(再アップ)

基本的にはIntersectを2個使ってメッシュの内側を判定して、内側になったパーティクルからParticle Operatorでパーティクルを発生させています。
Intersectは+YとーY方向からメッシュの内側を判定してるのでトーラスの穴の部分も内側と判定されていますが、X方向のIntersectを追加すれば解決すると思います。

 

modo13からはMergeMeshがパーティクルに対応したので、アセンブリの「Select By Volume」を使って手軽にメッシュの内側を判定できるようになりました。ただし、直接パーティクルを制御する方法に比べると、少し動作が重くなります。

サンプルファイル

 

基本的なノードを組み合わせてパーティクルを制御するYahllさんのサンプルはどれも凄く勉強になりますね。

参考

Tips

modoでカーブに沿ってパーティクルを動かす方法

modoでカーブに沿ってパーティクルを動かす方法を紹介したいと思います。前回同様にFoundryのフォーラムで公開されていたYahllさんのアイディアです。

https://community.foundry.com/discuss/topic/86939

 

サンプルファイル(再アップ)

このシーンではPath Constraintを使用することで完全にパスに沿ったパーティクルを実現しています。
1つめのParticle Simulation(青色)はY軸方向に移動するだけの単純なシミュレーションです。このシミュレーションのパーティクル位置をPath Constraintノードを使用してパスに沿わせ、Collector / Emitterノードを使用してカーブに沿ったパーティクルを発生させています。 2つめのParticle Simulation(オレンジ色)。

以前はParticle Simulation を2つ使って計算するという発想がありませんでしたが、このサンプルを見てパーティクルの位置をブレンドするとことができそうだと思いつきました。

 

modoには Curve Force という、カーブに沿ってフォースを発生させるノードがあります。しかし、あくまでフォースであるためパーティクルの速度が速くなるとCurve Forceの影響範囲を飛び出したり、Curve Force の影響範囲が干渉してパーティクルが止まってしまうことがあります。

サンプルファイル

 

modo 13からはMerge Meshがパーティクルに対応したので、シミュレーションしたパーティクルをデフォーマで変形することができます。

サンプルファイル

 

同じような表現をするにも複数のアプローチがありますが、Path Constraintを使用する方法が一番計算速度が早いように思います。発想的にも面白いので、他のパーティクル制御に応用出来る気がします。

 

参考

CG News

STARDUST 1.4.0

Stardustバージョン1.4.0がリリースされています。既存ユーザーは無料アップデート。だいぶ進化してきてますね。
https://www.superluminal.tv/blog

 

概要

3Dボリュームライティング、基本的なパーティクルタイプの大幅なレンダリング速度の向上、拡張されたレンダリング機能、Shadow CatcherマテリアルやShadow出力などのコンポジットヘルパー、アニメーションツールの改善、OBJファイルインポーターなどのワークフローヘルパー、その他多数の追加機能ツールセット

Version 1.4.0
  • 3D Volumetric Lights – シーンの影を考慮しながら、シーンに大気効果を追加します。
  • GPUサークル/クラウド – 非常に高速化されたサークルおよびクラウドパーティクルはGPUを使用してレンダリングされます。
  • 全体的なパフォーマンスの向上とワークフローの合理化
  • スムーズメッシュ – モデルメッシュを改良します。
  • より良いDOF。レンダリング設定の品質によって制御されます。
  • シャドウキャッチャーマテリアル – 影は透明なサーフェースにレンダリングされます。
  • 新しいレンダリング出力 – シャドウ、ボリューム
  • Fog – シーンにボリュームフォグ効果を追加します。
  • オフセットエミッタ時間(プレ実行) – 初期状態を設定するためのタイムシフト固有のエミッタ。
  • OBJファイルのインポート – 完全なプロジェクトファイルコレクションのためにプロジェクトにインポートされたネイティブOBJファイル。
  • 反射 – 新規:サーフェス法線による歪みに影響します。
  • マップ – 追加:Densityプロパティ。
  • レプリカ – 追加:パスへの方向付け。
  • 修正 – シングルモデル – スタジオカム。
  • 修正 – レイヤーエミッタ – 空のアルファをスキップします。
Version 1.4.1
  • 32bpcのテクスチャ付きパーティクルのレンダリングに失敗する問題を修正しました。
  • Windowsの一部のNvidia GPUでレンダリングが失敗する問題を修正しました。

 

 

チュートリアル