Created on | Updated on
フォローする

Houdini初級編:ダイナミクスシミュレーション

Bullet Rigid Bodyによる破壊、Pyro FXの火や煙、またはFLIP流体の海洋や液体の作成だけではなく、Houdiniは統合されたダイナミクス環境で作業することを可能にします。 異なるソルバーは、より直接的な結果を可能にするためにお互いに対話することができます。

SHELFツール

ダイナミクスシミュレーションを設定するには、GeometryまたはSOPコンテキストノードだけでなく、DynamicまたはDOPコンテキスト内のノードのネットワークが必要です。 シェルフツールは、これらのノードをすべて追加し、シミュレーションを設定するために必要なクリック数を減らすために常に良いアイデアとなります。 その後、すべてのノードを探索するためにネットワークに潜入することができます。

シェルフツールはノードグループを自動的に設定するのに最適です。 DOPネットワークを1から設定しようと考えた場合、これらのシェルフで構築されたネットワークがどのように組み合わされているかを見ると、後で非常に役立ちます。

ダイナミクスソルバー

シミュレーションの中心にはダイナミクスソルバーがあります。 これはシミュレーションの脳であり、ダイナミクスオブジェクト、フォース、衝突オブジェクトのすべてを取り込み、それらを統合して最終結果を作成します。 シェルフツールはこれらのソルバーをダイナミクスネットワークに入れ、ノードを結び付けます。


効率的なBulletソルバまたはHoudiniのビルトインソルバを使用して、剛体の落下や衝突をシミュレートします。


オブジェクトを衝突ジオメトリとして動作させつつ、シミュレーションの影響を受けることはありません。


このソルバは、スプラッシュと波の効果を作成するためにFLIP Fluidシミュレーションを作成します。


FLIPソルバを作成後、このソルバを実行して、白波、スプレー、および泡を作成できます。


パーティクルとグレインに使用されるこのソルバーは、さまざまなパーティクルベースのシナリオをシミュレートします。 グレインシミュレーションは、ソフトボディと布のようなシミュレーションにも使用できます。


このソルバーは、髪や毛皮、または船舶のリギングや樹木の枝などの他のワイヤーオブジェクトに使用できます。


四面体によって決定される連続的な素材または固体の物理シミュレーションを行います。 このソルバは、筋肉、ソフトボディシミュレーション、木の粉砕などの破壊ショットに使用されます。


キャラクタなどのデフォメーションジオメトリと衝突する可能性のある布シミュレーションを作成します。


ロジックを使用して、ターゲット、経路の障害、足の位置を操作しながらルールに基づいて群衆エージェントをアニメートします。


SOPネットワークを使用して、物体がぶつかると壁がへこむ等、物体の形状を変化させます。

OpenCL

POP Grainノード、Pyroソルバー(Advancedタブ)、FLIPソルバー(Volume Motion> Solverタブ)などのソルバで、OpenCLを使用してより速いシミュレーション時間にGPUを使用することができます。

フォース

ダイナミクスモーションを作成するには、「ボールを回転させる」ための力が必要です。力の最も基本的なものは重力ですが、ファン、流体、磁石などの他の外力も、シミュレートを開始するのに役立ちます。


あたかも重力場の中にあるかのように働く物体への下向きの力。


オブジェクトの既存のモーションに対抗するために力とトルクを適用して、モーションを減速させたり減衰させたりします。


乱気流を加えるためにnoise DOPによって増大させることができる正確な量の力およびトルク。


オブジェクトに円錐形の力を適用します。


布やワイヤーなどのソフトボディを変形させます。


物体の速度をそれ自身の速度以上に上昇させる押し込む力。


力場を表すためにメタボールを使用して物体を引き付けるか、またははね返します。


渦巻きのような力を生成し、竜巻周辺の物体のように、カーブの周りを旋回するようにします。

ダイナミクスオブジェクト

オブジェクトを選択し、シェルフツールを使用してシミュレーションに追加すると、Houdiniはオブジェクトのジオメトリを使用するダイナミクスオブジェクトを作成し、密度、摩擦、およびバウンスなどのダイナミクスプロパティを追加します。

アクティブ(動的) VS スタティック(静的)

 アクティブダイナミクスオブジェクトは、スタティックオブジェクトが存在しない場合は、力と衝突の影響を受けます。 アニメーションまたはデフォメーションジオメトリを使用する場合は、[Initial Object Type]メニューまたは[Use Deforming Geometry ]チェックボックスを使用して、ダイナミクスオブジェクトでこれを定義する必要があります。

衝突

衝突オブジェクトは、シミュレーションの大部分でもあります。 Ground Planeを設定して、衝突用に連続したサーフェスを作成したり、スタティック(静的)オブジェクトまたはデフォメーションオブジェクトを使用することができます。

各ダイナミクスオブジェクトには、衝突ボリュームを表示および最適化するための設定もあります。 できるだけ正確な衝突をしたい場合もありますが、より速いシミュレーション時間の必要性とのバランスを取る必要があります。

リジッドボディコンストレイン

リジッドボディシェルフには、シミュレーションに影響を与えるために使用できる複数のコンストレインがあります。 Pin、Spring、Sliderのコンストレインが含まれます。 また、Glueオブジェクトを使用すると、リジッドボディシムを設定して、接着剤を「ゆるめ」たり、衝突が発生するまでオブジェクトをまとめて保持することができます。

タイムラインフィードバック

シミュレーションを開始するには、タイムラインで[再生]を押します。 シミュレーションが進むにつれて、タイムラインがハイライトされて、シムがメモリにどれだけキャッシュされているかが示されます。 再シミュレートすることなくその領域をスクラブすることができます。

ディスクへのキャッシング

シミュレーションを完了したら、DOP内からsimファイルを保存するか、より一般的にはシミュレートされたジオメトリをbgeoシーケンスに書き出してロックすることができます。 これにより、ライティングやレンダリングの段階でsimの結果を扱うことが容易になります。

ゲーム用リアルタイムFX

ゲームでは、ゲームエンジンにおいてリアルタイム用に最適化された、爆発などのエフェクトが必要です。 リジッドボディ、Pyro FX、Fluidsなどの様々な種類のHoudiniシムをゲームに適したアートに変換する方法については、Game Developmentツールをご覧ください。

AUTODOPNETWORK

 

  1. シェルフツールを使用してダイナミクスオブジェクト、衝突オブジェクトまたフォースを作成すると常に、AutoDopNetworkが作成されてすべてのパーツが結合されます。
  2. Static Objects - これらのノードは、地面(Gland Plane)とスタティック(静的)衝突オブジェクトのプロパティを設定します。
  3. Static Solver - このソルバは、ダイナミクスオブジェクトがそれらのオブジェクトと相互作用する間も、入力オブジェクトを保持します。
  4. Merge Node - ダイナミクスシステム部分をまとめています。 シミュレーション中に、ノードがチェーンの上下で評価され、すべてが相互作用します。
  5. Dynamic Object - このノードは、ジオメトリをDOP環境に持ち込み、基本的なプロパティを割り当てます。
  6. Rigid Body Solver - 関係するオブジェクトのシミュレーションを生成するソルバー。
  7. Forces - 重力や風などの力を使ってダイナミクスオブジェクトに影響を与えるノード。
  8. Output node - シミュレーションをキャッシュ保存する場合は、このノードを使用して.simファイルを出力できます。