nCloth を最適化する
 
 
 

このセクションでは、nCloth の再生スピードを上げる方法の詳細を説明します。

低解像度な nCloth オブジェクトをシミュレートする 最終ではない nCloth オブジェクトの修正やシミュレートを行うときには、ポリゴン カウントを低い値に維持します。シミュレーションの変更が完了したら、ポリゴン メッ シュをスムースします。修正に高解像度モデルを使用しなければならない場合、出力クロス メッシュをラップ デフォーマとして使用します。
nCloth を適切にモデリングする nCloth を均一サイズ、あるいはできるだけ均一サイズに近い四角ポリゴンとしてモデリングします。
必要に応じてコリジョンを無効化する 不必要なコリジョンをすべて無効にして、シミュレーション時に行われる計算の量を大幅に減らします。
セルフ コリジョンの設定を調整する nClothShape ノードの厚み(Thickness)アトリビュートを削減し、セルフ コリジョンを改良します。この改善は、セルフ コリジョン フラグ(Self Collision Flag)頂点(Vertex)に設定されていないとき、特に有力です。セルフ コリジョン フラグ(Self Collision Flag)頂点(Vertex)に設定されている場合、セルフ コリジョンの幅スケール(Self Collide Width Scale)を調整して、コリジョン球体がぎりぎりで互いに触れないようにします。
頂点の押し出しテクニックを使用する
  1. nCloth オブジェクトのすべてのコリジョンと、すべての nRigid オブジェクトまたはパッシブ オブジェクトをオフにします。
  2. それぞれの nRigid オブジェクトについて、アトリビュート エディタ(Attribute Editor)精度設定(Quality Settings)セクションで、押し出し(Push Out)の値を 1 に設定します。
  3. シミュレーションを実行します。
  4. シミュレーションの実行中、押し出し半径(Push Out Radius)の値を調整し、コリジョンが正しく表示される、できるだけ低い値にします。
  5. nRigid オブジェクトの厚み(Thickness)の値をできるだけ大きくして、nCloth の三角ポリゴンがオブジェクトを相互貫通しないようにします。
コリジョンが正しく表示されない場合、nCloth オブジェクトと nRigid オブジェクトの両方について、精度設定(Quality Settings)セクションのトラップ チェック(Trapped Check)を有効にします。
コンストレインを使用する クロスのある領域をしっかりとさせる必要がある場合、クロス アトリビュートをペイントする代わりに、領域内の頂点をコンポーネント間(Component to Component)コンストレインにコネクトします。コネクション方法(Connection Method)最大距離内(Within Max Distance)に設定し、最大距離(Max Distance)アトリビュートを調整することで、しっかりとした感じをシミュレートできます。クロスのある領域をキャラクタの胴体の近くに維持する必要がある場合、摩擦(Friction)伸長の抵抗(Stretch Resistance)を使用する代わりにコンストレインを使用します。たとえば、nCloth 上のポイントとキャラクタの胴体の間にポイント対サーフェス(Point to Surface)コンストレインを使用し、コンストレインの強さ(Strength)の値を小さくします。
衣類をスケルトンにバインドする キャラクタのアニメート時には、クロスを nCloth にする前に、クロス メッシュとキャラクタ スケルトンにスキンのバインド(Bind Skin)コマンドを使用します。入力メッシュ引き付け(Input Mesh Attract)を使用して、キャラクタの終了位置に向かってクロスを引っ張り、nCloth の計算を若干軽減します。
サブステップを低くする ほとんどの場合、nucleus ノードのサブステップ(Substeps)コリジョン最大反復回数(Max Collide Iterations)の値を低くすることで、再生速度が向上しますが、精度は低下します。nCloth ノードのセルフ コリジョン最大反復回数(Max Self Collide Iterations)を低くすることでも、再生が改良されることがあります。
入力メッシュ引き付けを低くする 入力メッシュ引き付け(Input Mesh Attract)の値を 1.2 より大きくすることは避けてください。
伸長の抵抗(Stretch Resistance)の代わりに伸長のダンプ(Stretch Damp)を使用する nCloth の伸長性が高すぎるように見える場合、可能であれば、伸長の抵抗(Stretch Resistance)アトリビュートの代わりに伸長のダンプ(Stretch Damp)アトリビュートを増やしてください。
レイヤのコリジョン値を調整する 重なった布(シャツの上のジャケットなど)を操作する場合、内側の布より外側の布に高いコリジョン レイヤ(Collision Layer)値を指定します。これにより、精度設定を低くすることができます。また、キャラクタのコリジョン レイヤ範囲(Collision Layer Range)の値を調整して、外側の重なった布が、キャラクタの胴体などの内側のレイヤとのコリジョンを計算しないようにすることもできます。
キャッシュ nCloth シミュレーションをキャッシュした後、nucleus ノードの有効化(Enable)をオフにします。ただし、後でキャッシュにアペンドしたりシミュレートしたりする場合は、必ず元に戻すようにしてください。