On this page |
Stiffness(剛性)とDamping(減衰)のパラメータ
Material タブのパラメータは、Cloth Objectの内部的な力のモデルを制御します。布の材質の見た目は、Cloth Objectの Material タブのStiffness(剛性)とDamping(減衰)の設定で変更することができます。 Stiffness パラメータは、布がどれくらい変形に対して力強く抵抗するのか制御します。 Damping パラメータは、変形量に応じてどのくらいの速さでエネルギーを失うのか制御します。
変形のタイプは主にStretch(伸び)、Shear(傾斜)、Bend(曲げ)の3つがあります。Stretch,Shear,Bendの特性はどちらも布の挙動を定義します。これらの特性はそれぞれ独立して制御できる設定になっています。StiffnessとDampingは布の挙動を定義するのに一番重要な設定です。
例えば、以下のドレスはどれも同じものですが、 Stiffness と Damping パラメータの値をそれぞれ高くしたり低くしています。真ん中のドレス(オレンジ)がデフォルトの設定です。
サンプル:Stretch変形
Relative Stiffness の Stretch の値を上げると、シミュレーション中の布はストレッチしなくなります。 Relative Damping Ratio の値を上げると、ストレッチによるエネルギー損失が速くなり、すぐにシミュレーションが落ち着きます。
通常は、Stiffness/DampingパラメータはCloth Object全体に均一に機能します。とはいえ、Pointアトリビュートを使えば剛性、減衰、質量密度を局所的に制御することができます。 これらのアトリビュートは、Cloth Objectで指定された値に対する乗数として動作します。 以下のアトリビュートは、同時にすべてのタイプのフォース( Stretch, Shear, Weak Bend, Strong Bend )に影響を与える便利な乗数です:
パラメータ | タイプ | 名前 |
Stiffness | float | stiffness |
Damping Ratio | float | dampingratio |
Mass Density | float | massdensity |
Stretch, Shear, Weak Bend, Strong Bend モデルの挙動は、以下のアトリビュートを使って別々に乗数として動作させることができます:
パラメータ | タイプ | 名前 |
Stretch Stiffness | float | shellstretchstiffness |
Stretch Damping Ratio | float | shellstretchdampingratio |
Shear Stiffness | float | shellshearstiffness |
Shear Damping Ratio | float | shellsheardampingratio |
Weak Bend Stiffness | float | shellweakbendstiffness |
Weak Bend Damping Ratio | float | shellweakbenddampingratio |
Strong Bend Stiffness | float | shellstrongbendstiffness |
Strong Bend Damping | float | shellstrongbenddampingratio |
Overall Stiffness と Overall Damping Ratio パラメータシミュレーション中にアニメーションすることができるので、何度の挙動を変更することができます。乗算アトリビュートも同じです。乗算アトリビュートは、DOPのSOPソルバを使ってシミュレーションジオメトリ内で変更する必要があります。
Weak Bend 対 Strong Bend
曲げの抵抗には2タイプあります。それらはどちらも同時に使うこともあります。 Weak Bend はシルクのような薄い材質の曲げ抵抗をモデル化します。このモデルは布が元の形状に戻りません。布(または布ではない材質)が厚いタイプに対しては、 Strong Bend を使用します。Strong Bend Stiffnessを十分に増やしていれば、シミュレーションする布は、ある程度の曲げから戻ります。StrongとWeak Bendモデル間をブレンドすることで、柔らかいシルクから硬いコットン、プラスチックス、金属、そのほかに何か挟んだものまで変形可能な材質をシミュレーションすることができます。Strong Bendモデルは、非常に硬い布を作成するのに適切で、金属、硬いコットン、プラスチックなどのような材質を変形するのに適しています。
Tip
縫い合わせた箇所や革のようなStrong Bendシミュレーションでは、Cloth Solverの Float Precision パラメータを Float 64 bit に変更したい場合があります。
解像度に依存しない
布がどれだけ細かいのかは問題にはなりません。StiffnessとDampingの設定は、ほぼ同じ強さで正規化されます。そのため、布の解像度を上げて(例えば、Subdivide SOPを使用)もStiffnessとDampingを同じ設定で再利用することができます。
長さ単位
布は実寸でモデリングすることを強く推奨します。例えば、ズボンはおよそ1メートルぐらいの長さにしますそうすれば、StiffnessとDampingパラメータのエフェクトは予想通りになります。実寸でモデリングすればデフォルトの設定で重力のような外部の力が布に加わった時のリアルな見た目が再現できます。メートル以外の長さの単位を使いたい場合は、シミュレーションネットワークを作成する前にHip File Optionsの長さ単位を設定してください。この設定を変更した後に作成したDOP内のすべてのオブジェクトは、自動的にデフォルトを新しい単位に調整します。
シミュレーションジオメトリ
三角形と四角形の混在は、シミュレーションで使用可能です。三角形の場合、縦糸と横糸の方向は布のmaterialuv
という名前のUV Point/Vertexアトリビュートで決まります。四角形のメッシュの場合、任意でUVアトリビュートを指定します。四角形のメッシュにUVアトリビュートを指定しなかった場合は、エッジの方向が布の縦糸と横糸であるとみなされます。
Tip
四角で構成された単純なグリッドはClothソルバの色々な機能を試すのには良いサンプルです。
静止位置(Rest Positions)
頂点の静止位置(Rest Positions)は、布の挙動に重要な役割を担っています。静止位置(Rest Positions)はシミュレーションジオメトリにrest
Vertexアトリビュートとして保存されます。Rest Positionアトリビュートrest
は、PointアトリビュートまたはVertexアトリビュートのどれかです。Vertexアトリビュートrest
を使えば、1枚のClothオブジェクト内に複数の布きれを作成することができます。
内部の布の力は、現在の位置(P
に保存されています)とRest Positionsのrest
を比較して計算されます。例えば、ストレッチの場合、ソルバは、P
に基づいたエッジの長さとそれに該当するrest
に基づいたエッジの長さを比較します。
布をボディにピッタリと合わせるには、Rest Positionsを初期の位置から少しだけスケールダウンします。
Surface Mass Density
Cloth Mass Properties DOPのSurface Mass Densityパラメータは、布の重さに影響します。ただ、DOPでこの値を調整するときに視覚的には違いがわかりません。軽い布の上に重い布を重ねるようなときの布の相互作用で布を多少は処理します。
ソルバは Surface Mass Density に関するDragの値を正規化するのでエフェクトを見ることができません。そのため、マテリアルパラメータがどのようにお互いに依存し合っているのか気にしないで独立して調整することができます。もし質量のエフェクトを見たいのであれば、Cloth Drag Properties DOPの中に入って、チャンネル参照を削除するかCloth Objectの Drag タブのDragプロパティを下げます。
Surface Mass Density のDragに対するエフェクトを見る他の方法は、Attribute Create SOPを使って密度を追加することです。なぜなら、それは独立して機能して、密度のDragを正規化しないからです。