シャツを 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 メニュー セットが Maya に表示されるを参照してください。
- ソルバ(Solver) ドロップ ダウン リストから、nucleus1 を選択します。
- クロスの作成(Create Cloth)をクリックします。
低解像度のシャツが nCloth オブジェクトに変換され、既存の Maya Nucleus ソルバに追加されました。
- 低解像度の nCloth シャツをシーンで特定しやすくするためにその名前を変更します。これを実行するには、アウトライナ(Outliner)で nCloth1 をダブル クリックし、nCloth_Shirt と入力します。
- キーを押します。
- シミュレーションをキャッシュしてから再生します。
nCloth プリセットをシャツに適用する
シミュレーションを再生すると、次のことがわかります。
- フレーム 1033 付近では、シャツの襟が伸びすぎていて、エミュレートしようとしている生地に似ていません。
- フレーム 1033 では、いくつかのシャツの頂点がオブジェクト内で自己トラップしており、キャラクタのウエスト周辺にシャツとズボンの相互貫通が現れています。この原因となるのが、nCloth シャツと nCloth ズボンのオブジェクト間の不正確なコリジョンです。
- フレーム 1037 では、シャツがキャラクタの胴体の高すぎる位置にずり上がっており、シャツの前側のポリゴン フェースが不完全にデフォームされています。
- フレーム 1040 と 1098 の間では、いくつかのシャツの頂点がオブジェクト内でトラップされており、相互貫通があります。
これらの多数のシミュレーション上の問題を同時に解決する便利な方法として、nCloth アトリビュートのプリセットを nCloth シャツ オブジェクトに適用します。
nCloth プリセットをシャツに適用するには
- シーン ビューで、nCloth シャツを選択します。
- アトリビュート エディタ(Attribute Editor)で、nCloth_ShirtShape タブを選択します。
- プリセット(Presets)ボタンをクリックして押したままにします。
- tshirt プリセットを選択してから、置き換え(Replace)(tshirt > 置き換え(tshirt > Replace))を実行します。
T シャツのプリセットにより、次の重要なアトリビュート調整が行われます。
高解像度メッシュをラップする
このセクションでは、ラップ デフォーマを使用して高解像度シャツのインフルエンス オブジェクトを作成します。
高解像度メッシュをラップするには
- シーン ビューで、アウトライナ(Outliner)から Shirt_HighRes オブジェクトを選択して表示し、それからディスプレイ > 表示 > 選択項目の表示(Display > Show >Show Selection)を選択します。
- キーを押したまま nCloth シャツ オブジェクトを選択します。
- アニメーション メニュー セットから
デフォーマの作成 > ラップ(Create Deformers > Wrap)を選択します。
アトリビュート エディタにラップ ノードが表示され、Shirt_LowResBase オブジェクトがアウトライナに表示されます。
- アトリビュート エディタ で wrap2 タブをクリックします。
- ラップ アトリビュート(Wrap Attributes)セクションで、排他バインド(Exclusive Bind)をオンにします。
- Shirt_HighRes オブジェクトを非表示(Hide)にして、シミュレーションを再生します。
シミュレートされた nCloth で問題領域を特定する
シミュレーションを再生すると、次のことがわかります。
- フレーム 1032 では、シャツの襟周りの過度な伸長が軽減されています。それでも、nCloth のこの領域はまだ伸長しすぎています。
- フレーム 1033 では、ウエスト領域で、前回の自己トラップされた頂点の問題は解決されていますが、相互貫通はまだ残っています。
- フレーム 1039 と 1049 の間では、胸の領域で、シャツのデフォメーションは改良されていますが、ポリゴン フェースはまだ外方向に過剰に突き出しており、T シャツのリアルな動きが再現されていません。
nCloth の T シャツ プリセットにより、シミュレーションの多数の問題が改良されましたが、さらに調整が必要なダイナミック プロパティ(Dynamic Properties)アトリビュートもあります。
ダイナミック プロパティ アトリビュートを編集する場合は、シミュレーションをキャッシュしてアトリビュートを調整しながら再生し、新しい設定が nCloth シャツの動作にどのように作用するか確認します。比較対象として、リファレンス キャラクタをシーンに表示することもできます。これを行うには、ディスプレイ
レイヤ エディタ(Display Layer Editor)で可視(Visible)をオンにします。
シャツのダイナミック プロパティを編集するには
- アトリビュート エディタ(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)をオンにします。
- シミュレーションをキャッシュしてから再生します。
シミュレーションを微調整します。
シミュレーションの精度をさらに向上させ、シャツの胸部分の重なり(フレーム 1040 参照)など、問題領域の相互貫通のインスタンスを減少させるには、押し出し(Push Out)と押し出し半径(Push Out Radius)を設定します。 アトリビュート値を次の範囲に設定してみてください。
- 押し出し(Push Out): 0.1 ~ 20
- 押し出し半径(Push Out Radius): 10 ~ 50
シミュレーションの特定のフレームでメッシュの複製を作成し、設定を試します。たとえば、フレーム 1040 と 1043 でメッシュの複製を作成します。シミュレーションをキャッシュし、タイムラインをスクラブしてシミュレーションを複製メッシュと比較し、アトリビュート編集の結果を確認します。
最終的な低解像度シミュレーションをシミュレート済みのリファレンス キャラクタ メッシュと比較する
このセクションでは、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)をオンにします。
- タイムラインをスクラブし、nCloth メッシュのアニメーションでの動作を比較します。シーンをドリーおよびタンブルし、問題領域に接近して観察できるようにします。
高解像度とリファレンス キャラクタ オブジェクトのシミュレート方法にはわずかな違いがありますが、nCloth 全体では両方とも同じように動作します。 シミュレーションをキャッシュして低解像度メッシュでアトリビュートを調整するシミュレーション ワークフローを使用し、この作業を繰り返して合計時間が削減されることを考えると、低解像度メッシュのワークフローがよい結果を生むといえます。リファレンス
キャラクタ オブジェクトはシミュレーションを最適化することによって改良できますが、解像度が高いメッシュではキャッシングやシミュレーション時間が低速になり、アトリビュート調整により多くの時間を要します。