シャツを nCloth に変換する
シャツを nCloth に変換するには
- アウトライナ(Outliner)で Shirt_LowRes オブジェクトを選択して表示し、それからディスプレイ > 表示 > 選択項目の表示(Display > Show >Show Selection)を選択します。
- 低解像度のシャツ オブジェクト(Shirt_LowRes)を選択して、
nMesh > nCloth の作成(nMesh > Create nCloth) を選択します。
nCloth の作成オプション(Create nCloth Options)ウィンドウが表示されます。
注:nCloth メニュー セットが Maya インタフェースに表示されても使用しないでください。nCloth の作成とコントロールには、
nDynamics メニュー セットを使用する必要があります。Maya から nCloth メニューを削除する方法については、
nCloth menu set appears in Mayaを参照してください。
- ソルバ(Solver) ドロップ ダウン リストから、nucleus1 を選択します。
- クロスの作成(Create Cloth)をクリックします。
低解像度のシャツが nCloth オブジェクトに変換され、既存の Maya Nucleus ソルバに追加されます。
- 低解像度の nCloth シャツをシーンで特定しやすくするためにその名前を変更します。これを実行するには、アウトライナ(Outliner)で nCloth1 をダブル クリックし、nCloth_Shirt と入力してから キーを押します。
- アウトライナで nCloth_Shirt を選択し、nCache > 新規キャッシュの作成(nCache > Create New Cache)を選択して nCloth シャツのシミュレーションをキャッシュします。
- シミュレーションを再生します。
nCloth プリセットをシャツに適用する
シミュレーションを再生すると、次のことがわかります。
- フレーム 1033 付近では、シャツの襟が伸びすぎていて、模倣しようとしている生地に似ていません。
- フレーム 1033 では、いくつかのシャツの頂点がオブジェクト内で自己トラップしており、キャラクタのウエスト周辺にシャツとズボンの相互貫通が現れています。この原因となるのが、nCloth シャツと nCloth ズボンのオブジェクト間の不正確なコリジョンです。
- フレーム 1037 では、シャツがキャラクタの胴体の高すぎる位置にずり上がっており、シャツの前側のポリゴン フェースが不完全にデフォームされています。
- フレーム 1040 と 1098 の間では、いくつかのシャツの頂点がオブジェクト内でトラップされており、相互貫通があります。
これらの多数のシミュレーション上の問題を同時に解決する便利な方法として、nCloth アトリビュートのプリセットを nCloth シャツ オブジェクトに適用します。
nCloth プリセットをシャツに適用するには
- シーン ビューで、nCloth シャツを選択します。
- アトリビュート エディタ(Attribute Editor)で、nCloth_ShirtShape タブを選択します。
- プリセット(Presets)ボタンをクリックして押したままにします。
- tshirt プリセットを選択してから、置き換え(Replace)(tshirt > 置き換え(tshirt > Replace))を実行します。
T シャツのプリセットにより、次の重要なアトリビュート調整が行われます。
- 伸長の抵抗(Stretch Resistance)を 20 ~ 35 に調整します。
- ベンド角ドロップオフ(Bend Angle Dropoff)を 0 ~ 0.4 に調整します。
ベンド角ドロップオフは、nCloth に適用されるフォースの角度と強さに応じてベンドフォースに対する抵抗を追加します。たとえば、ベンド角ドロップオフを大きくすると、角度が小さい場合よりも大きい場合に nCloth のベンドに対する抵抗が大きくなります。シャツのシミュレーションでは、フレーム 1032 で nCloth シャツがまとまり始めているときに、nCloth のベンドの度合いを減少させるベンド角ドロップオフの効果のを確認できます。
- 質量(Mass)は 1.0 ~ 0.6 に調整されます。
質量を減少させると、綿の T シャツのやや軽めの素材感を表現できます。
- ダンプ(Damp)は 0.0 ~ 0.8 に調整されます。
nCloth シャツを選択してから nCach > キャッシュの置き換え(nCach > Replace Cache) を選択してシミュレーションをキャッシュし、それから再生して結果を観察します。
高解像度メッシュをラップする
このセクションでは、ラップ デフォーマを使用して高解像度シャツのインフルエンス オブジェクトを作成します。
高解像度メッシュをラップするには
- アウトライナ(Outliner)で Shirt_HighRes オブジェクトを選択して表示し、それからディスプレイ > 表示 > 選択項目の表示(Display > Show >Show Selection)を選択します。
- シーン ビューで キーを押しながら nCloth シャツ オブジェクトを選択します。
- アニメーション メニュー セットから
デフォーマの作成 > ラップ(Create Deformers > Wrap) を選択します。
- ラップの作成オプション(Create Wrap Options)ウィンドウで、排他バインド(Exclusive Bind)をオンにします。
- 作成(Create) ボタンをクリックします。
アトリビュート エディタ(Attribute Editor)にラップ ノードが表示され、Shirt_LowResBase オブジェクトがアウトライナ(Outliner)に表示されます。
- Shirt_HighRes オブジェクトを非表示(Hide)にします。
シミュレートされた nCloth で問題領域を特定する
シミュレーションを再生すると、次のことがわかります。
- フレーム 1032 では、シャツの襟周りの過度な伸長が軽減されています。それでも、nCloth のこの領域はまだ伸長しすぎています。
- フレーム 1033 では、ウエスト領域で、前回の自己トラップされた頂点の問題は解決されていますが、相互貫通はまだ残っています。
- フレーム 1039 と 1049 の間では、胸の領域で、シャツのデフォメーションは改良されていますが、ポリゴン フェースはまだ外方向に過剰に突き出しており、T シャツのリアルな動きが再現されていません。
nCloth の T シャツ プリセットにより、シミュレーションの多数の問題が改良されましたが、さらに調整が必要なダイナミック プロパティ(Dynamic Properties)アトリビュートもあります。
ダイナミック プロパティ アトリビュートを編集する場合は、シミュレーションをキャッシュしてアトリビュートを調整しながら再生し、新しい設定が nCloth シャツの動作にどのように作用するか確認します。比較対象として、リファレンス キャラクタをシーンに表示することもできます。これを行うには、ディスプレイ
レイヤ エディタ(Display Layer Editor)で可視(Visible)をオンにします。
シャツのダイナミック プロパティ(Dynamic Properties)を編集するには
- アトリビュート エディタ(Attribute Editor)で、nCloth_ShirtShape タブをクリックします。
- ダイナミック プロパティ セクションで、次の設定を行います。
- 伸長の抵抗(Stretch Resistance): 55
- 圧縮の抵抗(Compression Resistance): 3
- ベンドの抵抗(Bend Resistance): 0.3
- シミュレーションをキャッシュしてから再生します。
精度設定(Quality Settings)を編集して相互貫通を解決する
シミュレーションを再生すると、次のことがわかります。
メッシュをスムースにして相互貫通のインスタンスを削減するには、コリジョン(Collisions)と精度設定(Quality Settings)を編集します。
コリジョンと精度設定を編集するには
- アトリビュート エディタ(Attribute Editor)で、nCloth_ShirtShape タブを選択します。
- コリジョン セクションで、セルフ コリジョン フラグ(Self Collision Flag)を完全なサーフェス(Full Surface)に設定します。
- 精度設定セクションで、次のように設定します。
- 最大反復回数(Max Iterations): 12000
- セルフ コリジョン最大反復回数(Max Self Collision Iterations): 8
- トラップ チェック(Trapped Check)をオンにします。
- 自己トラップのチェック(Self Trapped Check)をオンにします。
- シミュレーションをキャッシュして(
nCache > キャッシュの置き換え(nCache > Replace Cache))、再生します。
シミュレーションを微調整します。
シミュレーションの精度をさらに向上させ、シャツの胸部分の重なり(フレーム 1040 参照)など、問題領域の相互貫通のインスタンスを減少させるには、押し出し(Push Out)と押し出し半径(Push Out Radius)を設定します。 アトリビュート値を次の範囲に設定してみてください。
- 押し出し(Push Out): 0.1 ~ 20
- 押し出し半径(Push Out Radius): 10 ~ 50
シミュレーションの特定のフレームでメッシュの複製を作成し、設定を試します。たとえば、フレーム 1040 と 1043 でメッシュの複製を作成します。シミュレーションをキャッシュし、タイム スライダ(Time Slider)をスクラブしてシミュレーションを複製メッシュと比較し、アトリビュート編集の結果を確認します。
最終的な低解像度シミュレーションをシミュレート済みのリファレンス キャラクタ メッシュと比較する
このレッスンでは、nCloth シャツと nCloth ズボンのオブジェクトの最終的なシミュレーション結果をシミュレート済みのリファレンス キャラクタ オブジェクト(オリジナルのシミュレート済み高解像度メッシュ)と比較します。
シミュレーションを比較するには
- アウトライナ(Outliner)で Shirt_LowRes オブジェクトと Pants_LowRes オブジェクトを選択して非表示にし、それからディスプレイ > 非表示 > 選択項目の非表示(Display > Hide > Hide Selection)を選択します。
- アウトライナ(Outliner)で Shirt_HighRes オブジェクトと Pants_HighRes オブジェクトを選択して表示し、それからディスプレイ > 表示 > 選択項目の表示(Display > Show >Show Selection)を選択します。
- ディスプレイ レイヤ エディタ(Displays Layers Editor)を使用して可視(Visible)をオンにし、Reference_Character オブジェクトを表示します。
- シェーディング(Shading)メニューで、ワイヤフレーム付きシェード(Wireframe on Shaded)をオンにします。
- タイムライン(Timeline)をスクラブして、アニメーションでの nCloth メッシュの動作を比較します。タイムラインをスクラブしながらシーンをドリー、タンブルし、問題領域に接近して観察できるようにします。
注:シミュレーションを再生またはスクラブしたときにシーン ビューで
Reference_Character がアニメートされない場合は、必要に応じてリファレンス キャラクタのキャッシュをその個々のオブジェクトに再コネクトしてください。
既存のキャッシュにオブジェクトを再コネクトするを参照してください。
高解像度オブジェクトとリファレンス キャラクタ オブジェクトのシミュレート方法にはわずかな違いがありますが、nCloth 全体では両方とも同じように動作します。 シミュレーションをキャッシュして低解像度メッシュでアトリビュートを調整するシミュレーション
ワークフローを使用し、この作業を繰り返して合計時間が削減されることを考えると、このワークフローがよい結果を生むといえます。リファレンス キャラクタ オブジェクトはシミュレーションを最適化することによって改良できますが、解像度が高いメッシュではキャッシングやシミュレーション時間が低速になり、アトリビュート調整により多くの時間を要します。