Simulation

Tips

modoのカーブフォールオフでメッシュ変形

modo13.2のベータフォーラムで、Warren Lさんがカーブフォールオフを使用した面白いテクニックを公開してたので紹介します。
https://community.foundry.com/discuss/topic/149545/fun-with-curve-falloff

カーブフォールオフを使用するとリプリケーターで複製したカーブを使ってメッシュを変形できるようになります。パーティクルと組み合わせると、色々面白い表現に使えそうですね。

 

動画をまねてみた。

■ サンプルファイル

modo 13.2ではSoftLagとパーティクルキャッシュとの相性が悪いため、シミュレーション再生ボタンを使用した時しか意図した動作になりませんでした。上の画像はシミュレーション再生した状態をキャプチャーしてます。早めにパーティクルキャッシュ修正して欲しい。

CG News

Storm 0.3 リリース

スタンドアロンシミュレーションツール「Storm」アップデートがリリースされました。0.3ではVDBパーティクルメッシャー、Alembicメッシュのエクスポート、Alembicパーティクルスティッチャーが追加されてるようです。

現在ブラックフライデーセール中で20%OFFです。 Indieが$119、Studioが$319です。
https://effectivetds.com/resources/fx-tools/storm/

CG News

Houdini 18 Sneak Peek

Houdini 18のスニークピークビデオが公開されています。主要な機能にはSparse Pyro Solver Solarisとルックデブ、レイアウト用の新しいUSBベースのコンテキストがあります。

このビデオには次のような改善点も含まれています。

  • Heightfield Terracing SOP 2.0
  • Substance プラグイン
  • 新しいグループSOP
  • ポリゴン編集用のいくつかの新しいスライドオプション
  • ポイント溶接
  • Bevel SOP 3.0(衝突検出を含む)
  • ラジアルメニューのホットキー
  • Edges SOPのサークル
  • ベンドSOP 2.0
  • Vellum Velocity Blendingと解像度の独立性
  • FEM非フック材料モデル
  • アダプティブFLIPプレッシャープロジェクション
  • スパース パイロソルバー
  • 破壊用のカスタム切断面
  • チッピング動作の改善
  • 破断線の処理の改善
  • 誘導破壊
  • Solaris:物理ベースのUSDレイアウト
  • Solaris:USDステージへのシーンのインポート
  • Solaris:インタラクティブなUSD照明
  • Solaris:USDライトのリンクとインスタンス化
  • Solaris:Renderman、Arnold、およびProrender Hydraデリゲート
Tips

modoでメッシュにパーティクルが集まる表現

Foundryのフォーラムでメッシュにパーティクルが集まるサンプルを公開してるのを見かけたので紹介します。パーティクルが収束するエフェクトに使えそう。
https://community.foundry.com/discuss/post/1184559

基本的にはMODO JAPAN GROUPさんが以前公開していた「パーティクルをメッシュの表面へと吸着させる方法」のパーティクル コンスレイントの代わりに、交差サーフェース コンストレイント (Intersect) を使用したバージョンです。

パーティクルでIntersectを使用するとサーフェース表面でパーティクルが動き続けるので、パーティクルシミュレーションの「ステップ」を上げると安定します。

Tips

modoでアイテムが揺れる表現

modoで移動したアイテムがバネのように揺れる表現について書いてみたいと思います。

■サンプルファイル

 

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

基本的には「トランスフォーム配列ツールでアニメーション作成」で紹介したように「Soft Lag」を使用して揺れを表現してます。
しかしメッシュ全体にSoft Lagを適用するとアニメーションの再生が遅くなるという問題があるため、今回はメッシュ全体を変形するのではなく Locators to Array と Create Polygons を使用してアイテムの位置からポイントを生成して、軽いメッシュにSoft Lagを適用することでアニメーションの再生が遅くなる問題を回避しました。

アルファベットのアイテムは「頂点の位置」を使用して頂点にコンストレイントしてます。

 

パーティクルに適用してみました。

サンプルファイル

Soft Lagはパーティクルと相性が良くないようです。パーティクルはフレームが進むごとにポイントを発生させますが、Soft Lagはポイントがない場合ワールド原点を前のフレームとして扱うようです。このためエミッターの位置を移動すると、原点から移動したような極端なラグが発生してしまいます。Soft Lagのトランスフォーム位置を参照してくれれば嬉しいんですけどね。

あと、ラグが好ましくないガクガクした挙動になります。ReplicatorをMerge Meshする方法も試してみましたが、同じようなフレーム間のカクつきが発生するようです。

Soft Lagは便利な機能なので、もっと改善して使いやすくして欲しいですね。

参考資料

服飾アニメーションのインタラクティブオーサリングのための組み込みの服飾スペース学習

クロスアニメーションのインタラクティブオーサリングに関する研究のようです。メッシュを入力すると間を補完してくれる的な物のようです。
http://geometry.cs.ucl.ac.uk/projects/2019/garment_authoring/

ここでは半自動の衣服アニメーションオーサリングワークフローについて説明します。

(a) ボディアニメーションシーケンスが与えられると、アーティストはキーフレーム(黄色)を選択します。
(b)そのフレームに対する衣服の形状を入力し、システムはこの設計の固有のプロパティを学習し、この設計を他のフレーム(緑色)に自動的に伝播します。
(c)アーティストはガーメントのアニメーションをさらに調整することができます。新しいキーフレームを挿入し(黄色)、ガーメントのシェイプを編集します。次にキーフレームを妥当なトランジション(オレンジ色のボックス)にリンクすることによって、アニメーションシーケンスが自動的に更新されます。
(d) このワークフローでは、アーティストがコンポジション中にボディアニメーション(赤いボックス)を変更することもできます。これは、このシステムが基礎となるボディモーションからインタラクティブなレートで衣服のシェイプを推測するためです。

 

要約

体の動きに関するキャラクタアニメーションのための動的な衣服の形状をオーサリングすることは,CG産業における基本ステップの一つである。確立されたワークフローは時間と労力がかかる(つまり、コントローラを使用した高密度フレームの手動編集)か、キーフレーム・レベルの制御がない(物理ベースのシミュレーション)かのいずれかです。
驚くことではありませんが、縫製は多くの生産パイプラインのボトルネックとなっています。代わりに筆者らは衣服アニメーションの半自動オーサリングのための深層学習ベースのアプローチを提示した。そこではユーザはキーフレームの選択において所望の衣服形状を提供したが,筆者らのシステムはその動作に依存しない固有のパラメータ(例えば、重力、布材料など)に対する潜在的表現を推論した。
新しいキャラクタの動きが与えられると、潜在的な表現によって、適切な衣服のアニメーションをインタラクティブな速度で自動的に生成できます。キャラクタの動きを考慮しなくても、学習された固有の衣服スペースによって新しいモーションシーケンスのキーフレーム間のスムーズなトランジションが可能になります。技術的には動作駆動オートエンコーダネットワークを用いて固有の衣服空間を学習する。ここでエンコーダは衣服の形状を体の動きの条件下で固有の空間にマッピングするが,デコーダはキャラクターの体の動きと固有のパラメータの変化に従って衣服の形状を生成するための微分可能なシミュレータとして動作する。
著者らは一般的な衣服タイプに関して,著者らのアプローチを定性的および定量的に評価した。実験は著者らのシステムがインタラクティブなユーザインタフェースを介して現在の衣服オーサリング作業手順を著しく改善できることを実証した。標準のCGパイプラインと比較して,本システムは必要なキーフレームの比率を20%から1−2%に著しく低減した。

モーション不変エンコーディング

筆者らは下にあるキャラクタの動きを因数分解しながら,潜在空間における同じ固有パラメータを持つ衣服形状を同じ位置に写像する運動不変符号化を訓練し,提供されたキャラクタの動きを使用して潜在空間における位置を様々な衣服形状に復号した。潜像空間において、同じ色のドットは同じ固有パラメータによって生成されたインスタンスを表す。

フリーシェイプ生成

本稿で提案した運動不変符号化ネットワークの視覚図を示す。学習した動き記述子を係数として用い,各ネットワーク層内の複数のサブネットワークを線形にブレンドし,動きに従ってネットワーク挙動を動的に変化させた。

Tips

modoのパーティクルをサーフェースに沿って動かす方法

今回はメッシュの表面に沿ってパーティクルを動かす方法について書いてみたいと思います。

■サンプルファイル

アイテムのスナップ移動」でも軽く書いてますが、modoのパーティクルシステムは他のソフトと違い、アイテムのリギングで使用するノードをそのままパーティクルシステムで使用することができます。
汎用性が高くて面白い特長ですが、どうすれば欲しい表現を実現できるかわかり難いと感じることもあると思います。そこで「パーティクルをサーフェースに沿って動かす表現」を作る場合の考え方、どんな感じでノードを使えばいいか手順を書いてみます。

 

1.サーフェースに沿わせたい →「交差サーフェース」コンストレイント

パーティクルをサーフェースに沿わせたい場合、まずサーフェースと交差判定できるノードが必要そうだと思いつきます。modoのアニメーション機能でサーフェースと交差判定できる機能といえば、「交差サーフェース」コンストレイントです。

「交差サーフェース」コンストレイントは、サーフェース表面にロケーターをくっつけてくれる機能です。操作の基準となるアイテム、メッシュアイテムの順番で選択してモディファイヤタブの「交差サーフェース」ボタンを押すと、サーフェース表面に沿って移動するロケーターを生成してくれます。

スケマティックでノードの繋がりを見るとこんな感じになってます。

Toroidアイテムと、操作の基準となるアイテム(Locator)がIntersect ノードにつながって、交差位置用のアイテム(Locator_2)に位置が出力されていることがわかります。

このノードの処理をパーティクルで組めば同じようにサーフェースに沿ったパーティクルの移動が作れそうです。

 

2.「交差サーフェース」コンストレイントと同じ処理をパーティクルで組む

スケマティックはこんな感じです。Intersectの流れを見比べると「交差サーフェース」で作られたノード構成と同じようにリンクされてるのがわかると思います。

Particle Operatorの特性で「位置(Read Only)」「位置」の2チャンネル追加して、「交差サーフェース」と同様にノードをリンクします。Intersect の「位置出力」のチャンネルタイプマトリクスなので、Matrix Vectorを使用して「位置」チャンネルにリンクできるようXYZ軸に変換します。

 

「位置(Read Only)」「位置」について

パーティクルは「位置(Read Only)」「位置」の2つのチャンネルを使用することで、他のノードで計算した結果を戻すことができるようです。
modoは1つのノードであれば依存ループにならずに計算出来るのですが、パーティクルの場合は1つだけでは複雑な計算ができないため、このような動作になってるのかもしれません。

 

VDB Voxelを使用してメッシュを作成すると、サーフェース表面を水が流れるような表現にも使えそう。

パーティクルをサーフェースに沿って動かすのは Particle Snap Modifierを使用しても同じような表現は可能ですが、Particle Snap Modifierはパーティクルそのものの位置には影響がありません。
例えばサーフェースに沿って動いてるパーティクルから、さらにパーティクルを発生させたい場合には今回紹介した方法が便利だと思います。

参考資料

DNA growth

Maxのプラグインtyflowを使用したテスト動画が公開されてます。どれも綺麗ですね。

参考資料

Transport-Based Neural Style Transfer for Smoke Simulations

画像を使用してスモークシミュレーションにスタイルを転送する技術だそうです。面白い。
http://www.byungsoo.me/project/neural-flow-style/index.html

概要

芸術的に流体を制御することは常に困難な作業であった。最適化手法では、煙のダイナミクスを間接的に制御するためにアーティストが手作業で作成することが多い、ターゲットの速度または密度フィールドの設定に対してシミュレーション状態を近似することに依存します。
パッチ合成技術は、イメージテクスチャまたはシミュレーション機能をターゲットフローフィールドに転送します。しかし,これらは構造パターンの追加または乱流構造による粗い流れの増大に限定され,従って異なるスタイルおよび意味的に複雑な構造の全スペクトルを捕捉できない。
本論文では,体積煙データのための最初のトランスポートベースのニューラルスタイル転送(装置)アルゴリズムを提案した。この方法は,自然画像から煙シミュレーションに特徴を転送することができ,単純なパターンから複雑なモチーフまでの一般的な内容を意識した操作を可能にする。提案したアルゴリズムは,ソース入力煙から所望のターゲット構成への密度輸送を計算するので,物理的に影響を受ける。著者らの輸送ベースのアプローチは,煙を様式化に向けて輸送する非圧縮性および非回転性ポテンシャルを最適化することにより,様式化速度場の発散を直接制御することを可能にする。時間的整合性は後続の様式化速度の輸送と整列により保証され,3D再構成は異なるカメラ視点からの様式化のシームレスなマージにより計算される。

参考資料

Houdini Vellum R&D 2019

Vellumの紹介とクロスシミュレーションのR&D映像。こういうの好き。