Lagoaエフェクトの衝突の設定
 
 
 

ほとんどのLagoaシミュレーションエフェクトでは、Lagoaシミュレーションオブジェクトと衝突オブジェクトの間に、ある種の衝突が必要となります。この設定は非常に簡単ですが、いくつかのLagoaコンパウンドにあるさまざまなオプションを使用して、衝突をカスタマイズすることもできます。

イメージ提供: Lagoa Multiphysicsª

衝突オブジェクト

衝突オブジェクトは、シミュレートされたオブジェクトのポイントを遮るソリッドオブジェクトです。これによって、ポイントが何らかの方法でこのオブジェクトと相互作用したり、このオブジェクトの周囲を移動するようになります。Lagoaオブジェクトが衝突オブジェクトのジオメトリとぶつかるとき、その衝突オブジェクトの実際のシェイプが使用されます。

衝突オブジェクトは、ジオメトリが閉じており、サーフェイスがあれば、どのタイプのオブジェクトでも構いません(ポリゴンメッシュ、NURBSサーフェイスなど)。サブディビジョンサーフェイスはサポートされていません。また、衝突オブジェクトは動いても動かなくても、変形してもしなくても構いません。

多くの場合、正確な衝突のためには衝突オブジェクトの解像度が重要ですが、Lagoaで最も重要なのは[Lagoa Simulate Multiphysics]ノードの[サブステップ](Substeps)値です。この値が高いほど衝突は正確になりますが、計算時間が長くなります。詳細については、「精度を高めるためのシミュレーションのサブステップの設定」を参照してください。

以下では、[サブステップ](Substeps)値が 1 に設定されています。現在の速度でパーティクルが低解像度のボックスを貫通するのを防ぐには不十分です。

以下では、[サブステップ](Substeps)値が 3 に設定されています。すべてのパーティクルが低解像度のボックス内に維持されます。

衝突のポイント

衝突時には、Lagoaオブジェクトのポイントのサイズが考慮されます。パーティクルジオメトリとしてインスタンスを使用している場合は、その周囲に大まかなバウンディング球が作成されます。つまり、その実際のシェイプは使用されません。これは、標準のICEパーティクル衝突と同様です(非リジッドボディの衝突)。

[Lagoa Simulate Multiphysics(Lagoa 複数の物理特性のシミュレート)]ノードで[パーティクルの向きを使用](Orient Particles)オプションを選択しない限り、ポイント回転は計算されません。これによって、パーティクルがフォースと衝突に応じて向きを変更できるようになります。これは、パーティクルシェイプが建築用のブロックや変わった形の岩などの場合によくわかります。

Lagoaシミュレーションでの衝突の作成

ここでは、Lagoaシミュレーションで衝突を作成するための基本的な手順を説明します。

  1. Lagoa エフェクトをゼロから作成するの説明に従って、ポイントクラウドまたはポリゴンメッシュ用に、必要なノードを備えたLagoa ICEツリーを作成します。

  2. 1 つまたは複数の衝突オブジェクトを作成します。複数の衝突オブジェクトを 1 つのグループにまとめます。

    ヒント:グループを使用すると、同じ[Get Data]ノードを ICE ツリーに接続したまま、簡単にグループに衝突オブジェクトを追加したり、グループから衝突オブジェクトを削除したりできます。ただし、後からグループにオブジェクトを追加する場合は、次の手順で説明するように、[Set Collision Data]コンパウンドを適用する必要があります。
  3. 衝突オブジェクトごとに、シミュレートされていないICEツリーを作成し、[Lagoa Set Collision Data]ノードを[ICETree]ノードのポートに接続します。

    各衝突オブジェクトを選択し、[ICE]ツールバーから[パーティクル](Particles) [衝突](Collision) [Lagoa パーティクル](Lagoa Collision) [衝突データの設定](Set Collision Data)を選択しても、同じ操作が可能です。

  4. 各衝突オブジェクトの[Lagoa Set Collision Data(Lagoa 衝突データの設定)]プロパティエディタでオプションを設定し、ポイントがその衝突オブジェクトだけと相互に作用する方法を設定します。

  5. 衝突オブジェクトをシミュレートされたLagoaオブジェクトのICEツリーに追加するには、以下のいずれかの作業を行います。

    • 各衝突オブジェクトまたはグループの[Get Data]ノードを[Lagoa Simulate Multiphysics]ノードの[Passive Body In Name]ポートに接続します。

    • 衝突オブジェクトのグループを使用している場合は、[ICE]ツールバーから[パーティクル](Particles) [衝突](Collision) [Lagoa パーティクル](Lagoa Collision) [パッシブ ボディの追加](Add Passive Body)を選択します。これによって、選択した衝突オブジェクトのグループの[Get Data]ノードが作成され、[Lagoa Simulate Multiphysics]ノードの[Passive Body In Name]ポートに接続されます。

    • グループにない 1 つまたは複数の衝突オブジェクトを選択し、[パーティクル](Particles) [衝突](Collision) [Lagoa パーティクル](Lagoa Collision) [パッシブ ボディの追加](Add Passive Body)を選択した場合は、これらの衝突オブジェクトを含む「Lagoa_PassiveBodies」というグループが作成されます。グループの[Get Data]ノードが[Lagoa Simulate Multiphysics]ノードに接続されます。

    注:グループから衝突オブジェクトを削除するには、[ICE]ツールバーから[パーティクル](Particles) [衝突](Collision) [Lagoa パーティクル](Lagoa Collision) [パッシブ ボディの削除](Remove Passive Body)を選択します。[Get Data]ノードはICEツリーに接続されたままなので、グループから衝突オブジェクトを簡単に削除できます。
  6. [Lagoa Simulate Multiphysics(Lagoa 複数の物理特性のシミュレート)]プロパティエディタの[サブステップ](Substeps)の値を、衝突を正確に解析するために必要な値まで高めます。

    結果が正確になるかどうかは、衝突の解像度ではなく、衝突のフォースと衝突の複雑さによって決まります。

衝突オブジェクトからのオフセットの設定

衝突オブジェクトとポイントの間にオフセットを設定するには、以下の2つのオプションを設定する必要があります。

  • マテリアルコンパウンドで[マテリアル衝突オフセット](Material Collision Offset)の値を設定します(「Lagoa Material Cloth(Lagoa マテリアル クロス)」を参照)。このマテリアルと衝突オブジェクトを持つポイント間に、オフセットが Softimage 単位で作成されます。

  • [Lagoa Simulate Multiphysics(Lagoa 複数の物理特性のシミュレート)]ノードの[オフセット方法](Offset Method)を選択します。これによって、このICEツリーで使用されているすべてのマテリアルの衝突オブジェクトからのオフセットを定義できます。

以下では、[マテリアル衝突オフセット](Material Collision Offset)値が 0.5 に設定されており、パーティクルと衝突オブジェクトの境界の間にわずかな隙間ができます。

[Material Collision Offset(マテリアル衝突オフセット)]の値が0に設定されています。

パーティクルの速度が速い場合、オフセットがないと、衝突オブジェクトを貫通することがあります。非常に小さいオフセット値(0.1など)を設定することをお勧めします。