このセクションでは、実際の作業で nCloth をより効果的に使用するためのヒントを提供します。
Maya Nucleus ソルバと nCloth に関する一般的なヒント
Maya Nucleus ソルバと nCloth をより効果的に使用するための一般的なアドバイスを次に記します。
ダイナミクス(Dynamics)
- ダイナミクス(Dynamics)は常にメートル単位で計算されます。シーンでセンチメートルを使用する場合は、空間スケール(Space Scale) (nucleus ノード)を 0.01 に設定します。
- ダイナミクス(Dynamics)はシーンの単位を無視するため、既定の単位を可能なかぎり使用してください。
重力(Gravity)
- シーンの nCloth が大きい重力(Gravity)(nucleus ノード)値を持つ場合、より大きい伸長の抵抗(Stretch Resistance) (nCloth ノード)値が必要なことがあります。
- 衝突最大反復回数(Max Collision Iterations) (nucleus ノード)を増やして、シーンの高い重力(Gravity)値の効果に抵抗します。
衝突の反復とサブステップ(Collision iterations and substeps)
- 衝突(Collision)の反復はサブステップ(Substeps)に関連します。反復の最小数はサブステップ数と同等です。衝突(Collision)の反復は、反復の数がサブステップ(Substeps)数よりも大きい場合のみに効果を発揮します。
- メッシュが高密度になると、解決に必要となる衝突(Collision)の反復数も大きくなります。
- nCloth オブジェクトに大きい伸長の抵抗(Stretch Resistance)値を設定して、Maya Nucleus ソルバのサブセット数と反復数が少ない場合、シミュレーションが伸長を解決できないことがあります。
空間スケール(Space scales)
- ワールド空間は、オブジェクトのサイズを考慮します。たとえば、スケールの大きいオブジェクトはより大きく伸長します。
- ローカル空間は、サイズが異なるオブジェクトがあるシーンを効果的に処理します。
パフォーマンス(Performance)
- サブステップ(Substeps) (nucleus ノード)の数を増やすと、シミュレーションが高速化される場合があります。
- 反復数を増やすと、トラップ チェック(Trapped Check) (nCloth ノード)の使用時にシミュレーションが高速化されます。
- 高いベンドの抵抗(Bend Resistance)値の代わりに剛性(Rigidity)またはデフォームの抵抗(Deform Resistance)を使用すると、nCloth の再生スピードが向上します。
コンストレイント
- ポイント対サーフェス(Point to Surface)コンストレイントでは、強さ(Strength)値を高く設定すると、クロスがバインドされたスキンのように動作してしまいます。さらにポイント対サーフェス(Point to Surface)コンストレイントを衝突として動作させるには、接線の強さ(Tangent Strength)値をゼロより大きくする必要があります。
- スプリング(Spring)コンストレイント方法では、距離が離れるほど伸長が困難になります。そして反動のパワーは距離とともに増加します。
- コンストレイント リンクのいずれの側でも、ウェイトは相対的質量のように考えることができます。
- 接線の強さ(Tangent Strength)と強さ(Strength)は一般的に、コンストレイントの影響の度合いを定義します。コンストレイントの接線の強さ(Tangent Strength)または強さ(Strength)の値が大きすぎると、nCloth がサーフェスを突き抜けてしまいます。
- オブジェクトを一緒に移動させるためにオブジェクトを別のオブジェクトにコンストレイントする場合は、強さ(Strength)の代わりにモーション ドラッグ(Motion Drag)を使用できます。
- サーフェスでスライド(Slide on Surface)コンストレイントは、ポイント対サーフェス(Point to Surface)コンストレイントとは異なり、フレーム単位に更新されます。
- 強さドロップオフ(Strength Dropoff)ランプを使用して、コンストレイントのしきい値内で吸引エフェクトを作成することができます。
鋭角なエッジまたは鋭いコーナーを解決する
- 自己衝突の幅スケール(Self Collide Width Scale) (nCloth ノード)を増やして、鋭いコーナーを補正します。
- 重複部分の押し込み(Crossover Push)を使用して鋭角なエッジを補正し、押し込みによってクロスされたエッジを中ではなく、外に押し出します。
キャッシング後の nCloth アニメーションのスクラブ/巻き戻しを改良する
シーンをキャッシュして望ましいシミュレーション結果が得られたら、nucleus ノードを無効にすることができます。nucleus ノードを無効にするとシミュレーションが発生しないため、キャッシュされたアニメーションのすばやいスクラブまたは巻き戻しが可能になります。
nucleus ノードを無効にするには、アトリビュート エディタ(Attribute Editor)で有効化(Enable)アトリビュートをオフにします。
nCloth の厚みと自己衝突
中程度の密度のメッシュの場合、目的の自己衝突を得るためには厚み(Thickness) (nClothShape ノード)に大きな値を設定することが必要なことがありますが、nCloth オブジェクトが不均等で肥大化したようになってしまう場合があります。
これに対処するには自己衝突の幅スケール(Self Collide Width Scale) (nClothShape ノード)を使用することで、nCloth オブジェクトを肥大化させることなく nCloth の入力メッシュと出力メッシュの厚み(Thickness)をスケールできるようになります。
セットでのコンストレイントとディペンデンシー グラフ(Dependency Graph)のループ
通常、コンストレイントを頂点で作成する場合は nCloth の出力メッシュが使用されます。しかしセットを使用するコンストレイントの場合、この方法はお勧めできません。ダイナミック コンストレイントの作成オプション(Create Dynamic Constraint Options)ウィンドウでセットの使用(Use Sets)オプションをオンにしてダイナミック コンストレイントを作成する場合、セットは出力メッシュの動作に影響するため、入力メッシュ(input mesh)上に作成する必要があります。セットを入力メッシュに作成していない場合は、ディペンデンシー グラフ(Dependency Graph)にループができてしまいます。
出力メッシュを非表示にしてセットを編集するには、を選択します。
コンストレイント セットを編集するには、、、および メニュー項目を使用します。
セットのリレーションシップ エディタ(Relationship Editor)を使用する場合は、同じタイプの入力メッシュ要素(すべて頂点、フェース、またはエッジ)のみを追加してください。
セットでのコンストレイントとコンストレイント メンバーシップ
ダイナミック コンストレイントの作成オプション(Create Dynamic Constraint Options)ウィンドウのセットの使用(Use Sets)オプションをオンにしてダイナミック コンストレイントを作成すると、多数のノードと接続が作成されます。セット編集の際にメンバーシップが nComponent ノードで有効な状態に維持されるようにする制限がないため、エラーが起きる可能性があります。
セットを使用する代わりに、、、および メニュー項目を使用して、コンストレイント メンバーシップを簡単に修正できます。
長いリンクを持つコンストレイント
オブジェクト間の距離が離れコンストレイントのリンクが長くなってしまっている場合、コンストレイント元のサーフェスの小さな振動がターゲット サーフェス上で増幅されるため、ポップが発生することがあります。
長いコンストレイントのリンクが必要な場合は、強さ(Strength)と接線の強さ(Tangent Strength) (dynamicConstraintShape ノード)設定を低くします。これらの設定を小さくするとコンストレイント リンクが少し緩まり、ポップを回避できます。