nCloth シミュレーションの精度を上げる

 
 
 

ドレスは本物のドレスとほぼ同じように動作しますが、正しく表示されない衝突(ドレス自体またはドレスとキャラクタが交差する位置)もあります。特に、ドレスからキャラクタのメッシュが透過して表示される領域や、ドレスが束になってトラップされる領域があります。

nCloth 衝突の精度を上げるには

  1. 再生範囲の先頭に進みます。
  2. ドレスを選択します。
  3. アトリビュート エディタ(Attribute Editor)を開き、nClothShape1 タブを選択します。
  4. 精度設定(Quality Settings)セクションで、次の操作を実行します。
    • 自己衝突最大反復回数(Max Self Collide Iterations)を 20 に設定します。

      自己衝突の最大反復回数(Max Self Collision Iterations)の値は、サブステップ単位に実行する自己衝突に関連した nCloth 計算の最大回数を指定します。この値を大きくすると、Maya に認識される自己衝突の数が増えるため、クロスのシミュレーションがよりリアルになりますが、スピードは低下します。

    • 最後の衝突のしきい値(Collide Last Threshold)を 1.0 に設定します。

      最後の衝突のしきい値(Collide Last Threshold)の値を大きくすると、nCloth の頂点が衝突オブジェクトを通過するのを防ぐことができます。

    • トラップ チェック(Trapped Check)をオンにします。
    • 自己トラップのチェック(Self Trapped Check)をオンにします。

      トラップ チェック(Trapped Check)自己トラップのチェック(Self Trapped Check)をオンに設定すると、衝突重複部分を監視することができます。相互重複部分ポイントが見つかると、Maya はそのポイントを分離しようとします。これによりドレスが束になって動かなくなる現象を回避できます。

    • 押し出し(Push Out)を 0.280 に設定します。

      押し出し(Push Out)を設定すると、交差または相互貫通しているオブジェクトを押し出すフォースが、現在の nCloth オブジェクトのサーフェス上のニアレスト ポイントに適用されます。

    • 押し出し半径(Push Out Radius)を 5.0 に設定します。

      押し出し半径(Push Out Radius)を設定すると、押し出し(Push Out)アトリビュートの作用が及ぶ、現在選択されている nCloth オブジェクトのサーフェスからの最大距離が指定されます。

  5. nucleus1 タブを選択します。
  6. ソルバ アトリビュート(Solver Attributes)で、サブステップ(Substeps)を 4 に、最大衝突反復回数(Max Collision Iterations)を 20 に設定します。

    サブステップを増やすと、フレーム単位で nCloth の位置が計算される回数が増えます。この値を増やすことによって、クロスの位置の更新頻度が高くなります。したがって、スピードは低下しますが、シミュレーションの正確さは向上します。

    衝突最大反復回数(Max Collision Iterations)の値は、サブステップ単位に実行する衝突に関連した nCloth 計算の最大回数を指定します。この値を大きくすると、Maya に認識される衝突の数が増えるため、クロスのシミュレーションがよりリアルになりますが、スピードは低下します。

  7. nCache > 新規キャッシュの作成(nCache > Create New Cache)を選択します。
  8. 次に表示されるダイアログ ボックスで、置き換え(Replace)既存の置き換え(Replace Existing)をそれぞれ選択します。

    nCloth シミュレーションが自動的に再生されて、キャッシュとしてディスクに保存されます。

  9. シーンを再生します。

    これで、衝突の表示がより正確になるため、ドレスを透過してキャラクタの胴体が表示されることや、ドレスが束になってトラップされることがなくなります。

上記の手順の設定値を大きくすると、シミュレーションの精度がさらに向上します。ただし、値を大きくすると、それだけアニメーションのキャッシングは遅くなります。