ポリゴン メッシュ オブジェクトを使用して衝突を作成する

 
 
 

クロスによる衝突について、正確なシェイプのオブジェクトを使用する必要がある場合、衝突オブジェクトとしてポリゴン メッシュ オブジェクトを使用できます。たとえば、シャツのボディ部分の実際のシェイプは、キャラクタの腕、脇、および上半身と衝突する必要があります。ポリゴン メッシュ衝突オブジェクトを使用すると正確な衝突を実現できますが、バウンディング シェイプよりも計算が長くかかります(「バウンディング シェイプ オブジェクトを使用して衝突を作成する」を参照)。

ポリゴン メッシュ衝突オブジェクトは、静止またはアニメート化できます。また、ラティス、シェイプ アニメーション、エンベロープ、ウェーブなど、任意のデフォーム オペレータを使用して、アニメートされたデフォーメーションを適用することもできます。現在のデフォーム アニメート化された衝突オブジェクトのシェイプは、シミュレーションのフレームごとに更新されます。この場合、シミュレーションの速度は低下しますが、衝突の精度が上がります。

詳細については、後述の「ポリゴン メッシュ オブジェクトでうまく衝突させるためのヒント」および「衝突エンベロープ」を参照してください。

クロスをポリゴン メッシュ オブジェクトと衝突させるには

  1. Syflex ICE クロスまたはカーブ シミュレーションを作成します。詳細については、「 Syflex ICEのシミュレーションを作成する」を参照してください。

  2. クロスまたはカーブ オブジェクトを選択します。

  3. 次のいずれかを実行します。

    • ICE Tree ツールバーから、[パーティクル](Particles) [衝突](Collision) [Syflex] [メッシュの衝突を追加](Add Collide Mesh)を選択します。

      次に、1 つまたは複数のポリゴン メッシュ オブジェクトを選択して、衝突メッシュとして使用します。

      その結果、衝突オブジェクトごとに[Syflex Collide Mesh]ノードと[Get Data]ノードを追加することで Syflex ICE ツリーが更新されます。

    • ICE Tree ビューで、Preset Manager の[タスク]>[Syflex]タブにある[衝突](Collisions) [Syflex Collide Mesh]コンパウンドを、[Syflex Cloth]または[Syflex Curve]ノード上の[Force]ポートにドラッグして接続します。

      次に、Explorer の各ポリゴン メッシュの衝突オブジェクトを ICE ツリーにドラッグして、その[Get Data]ノードを作成します。

      各衝突オブジェクトの[Value]出力を、[Syflex Collide Mesh]ノード上の[Geometry]ポートに接続します。
      注:複数のポリゴン メッシュ オブジェクトを使用するには、後述のようにグループを使用することもできます。
  4. [ Syflex Collide Mesh(Syflex メッシュ衝突)]プロパティ エディタでパラメータを設定します。

    エンベロープ パラメータの詳細については、後述の「衝突エンベロープ」を参照してください。

ポリゴン メッシュ衝突オブジェクトのグループを使用する

グループを使用すると、同じ[Get Data]ノードを ICE ツリーに接続したまま、簡単にグループに衝突オブジェクトを追加したり、グループから衝突オブジェクトを削除したりできます。ただし、グループの[Get Data]ノードに接続した後にグループのメンバを変更した場合、シミュレーションを更新する必要があります。

  1. 衝突オブジェクトに使用するすべてのポリゴン メッシュ オブジェクトを選択し、[Ctrl]+[G]を押してグループを作成します。

  2. 前述のプロセスに従い、グループの[Get Data]ノードの[Value]出力を、[Syflex Collide Mesh]ノード上の[Geometry]ポートに接続します。

衝突エンベロープ

クロスのシミュレーションは、多くの場合、キャラクタのボディとの衝突が理由です。このようなクロスのジオメトリ全体との衝突を計算するには長時間かかる可能性があるため、衝突エンベロープが代わりに使用されます。

衝突エンベロープは、衝突オブジェクトの外部にある外部エンベロープと、衝突オブジェクトの内部にある内部エンベロープから構成されます。クロスの頂点がこれら 2 つのエンベロープで定義されたボリュームに入ると、その頂点はボリュームの外側にあるとして拒否されます。これは「プッシュ」オペレータと同様に考えることができます。エンベロープを大きくすると、クロスは、可視の交差がないポイントまで衝突オブジェクトから離れます。

衝突オブジェクトのエンベロープは、使用している Softimage 単位(たとえば、1 Softimage 単位 = 10 cm)に基づく距離です。外部エンベロープと内部エンベロープの差は可能な限り小さくします。エンベロープが小さいほど、計算は速くなります。

多くの場合、内部エンベロープの値は外部エンベロープの正の値の反対ですが、内部エンベロープ値が正の可能性もあります。キャラクタのボディを衝突オブジェクトとして使用する場合、まず 1 cm の外部エンベロープと -1 cm の内部エンベロープから始め、必要に応じて調整します。

ポリゴン メッシュ オブジェクトでうまく衝突させるためのヒント

Syflex クロスおよびカーブのシミュレーションの場合に適切な衝突を作成するためのヒントをいくつか紹介します。