この例では、nCloth を使用して、ボタンのあるシャツをシミュレートします。
シャツのボタンを留める
この例の目標は、シャツの左右 2 枚の身頃をだらんと下げずにボタンで留めた状態にすることです。
ボタンをテンプレート化するには
- ウィンドウ > アウトライナ(Window > Outliner)を選択します。
アウトライナ(Outliner)が表示されます。
- アウトライナ(Outliner)ウィンドウで、hairSystem1Follicles を選択します。
- メイン メニューで、ディスプレイ > オブジェクト ディスプレイ > テンプレート解除(Display > Object Display > Untemplate)を選択します。
ボタンがワイヤフレーム表示に変更されます。これらのボタンをクリックしても選択できません。これは、シャツのボタンを留めるとき、特定の頂点を選択する必要がある場合に便利です。
シャツの左右身頃をボタンで留めるには
- 再生範囲の先頭に進みます。
- シャツをクリックし、表示されるマーキング メニューで頂点(Vertex)を選択します。
nCloth の頂点が表示されます。
- シャツのボタンのうち 1 つの真下から頂点を選択し、 キーを押しながらその下の前合わせにある最も近い頂点をクリックして選択項目に含めます。
注:
説明どおりに 2 つの頂点を選択するのが難しい場合、表示モードをワイヤフレーム(Wireframe) (ホットキー: 4)に切り替えることで、選択プロセスを簡単にできます。
- nConstraint > コンポーネント間(nConstraint > Component to Component)を選択します。
- アトリビュート エディタ(Attribute Editor)で、DynamicConstraint1 タブを選択します。
- ダイナミック コンストレイント アトリビュート(Dynamic Constraint Attributes)セクションで、コンストレイント方法(Constraint Method)を輪ゴム(Rubber Band)に設定します。
- nCache > 新規キャッシュの作成(nCache > Create New Cache)を選択します。
nCloth シミュレーションが自動的に再生されて、キャッシュとしてディスクに保存されます。
- シミュレーションを再生します。
シャツが胴体の上にゆるく垂れるようになりました。ただし、2 枚の前合わせ部分はコンストレイントしたボタンのところで互いに固定されています。
- 再生範囲の先頭に進みます。
- ウィンドウ > アウトライナ(Window > Outliner)を選択します。
アウトライナ(Outliner)ウィンドウが表示されます。
- アウトライナ(Outliner)ウィンドウで、DynamicConstraint1 を選択します。
- キーを押して、コンストレイントを削除します。
- シャツをクリックし、表示されるマーキング メニューで頂点(Vertex)を選択します。
- 手順 3~4 と同様に、各ボタンの下にある頂点と、その下にある前合わせ部分の上の最も近い頂点を キーを押しながらクリックします。
- nConstraint > コンポーネント間(nConstraint > Component to Component)を選択します。
- ダイナミック コンストレイント アトリビュート(Dynamic Constraint Attributes)セクションで、コンストレイント方法(Constraint Method)を輪ゴム(Rubber Band)に設定します。
- アウトライナ(Outliner)ウィンドウで hairSystem1Follicles を選択し、次に、ディスプレイ > オブジェクト ディスプレイ > テンプレート解除(Display > Object Display > Untemplate)を選択します。
シーンビューで、ボタンが再び表示されます。
- nCache > 新規キャッシュの作成(nCache > Create New Cache)を選択します。
nCloth シミュレーションが自動的に再生されて、キャッシュとしてディスクに保存されます。
- シミュレーションを再生します。
シャツの左右 2 枚の身頃が、それぞれのボタンで留まったままの状態になりました。
シャツの動作を改良する
シャツがボタンで留まりましたが、クロスの全体的な見映えはまだ正しくありません。クロスは伸長しすぎで、また 2 枚の前合わせ部分が互いを貫通している箇所があります。ここで若干の調整を行い、これを修正します。
nCloth によるシャツの外観を改善するには
- 再生範囲の先頭に進みます。
- シャツを選択します。
- アトリビュート エディタ(Attribute Editor)で、nClothShape1 を選択します。
- 衝突(Collisions)で、アトリビュートを次のように設定します。
- 自己衝突フラグ(Self Collision Flag):頂点フェース(VertexFace)
- 自己衝突の幅スケール(Self Collide Width Scale): 1
- 厚み(Thickness): 0.017
- ダイナミック プロパティ(Dynamic Properties)で、アトリビュートを次のように設定します。
- 伸長の抵抗(Stretch Resistance): 100
- 圧縮の抵抗(Compression Resistance): 40
- ベンドの抵抗(Bend Resistance): 1
- nCache > 新規キャッシュの作成(nCache > Create New Cache)を選択します。
nCloth シミュレーションが自動的に再生されて、キャッシュとしてディスクに保存されます。
- シミュレーションを再生します。
シャツの 2 枚の前合わせ部分が、互いを貫通しないで正しく衝突するようになりました。
シャツのプロパティをペイントする
衝突は正しくなりましたが、シャツの一部はまだ実際の布地のように動作しません。最も目立つ点は、襟とカフスがルーズに見えすぎることです。本物のシャツでは襟とカフスがしっかりとしています。これは、頂点プロパティをペイントすることで修正できます。
襟と前合わせをしっかりとさせるには
- 再生範囲の先頭に進みます。
- シャツを選択してから、nMesh > 頂点プロパティのペイント(nMesh > Paint Vertex Properties) > 入力引き付け(Input Attract)を選択します。
カーソルがアーティザン ブラシに変更されます。
- ツール エディタ(Tool Editor)を開きます。
- ツール設定を次のように調整します。
- 半径(U) (Radius(U)) : 0.3
- 半径(V) (Radius(V)) : 0.3
- 値(Value): 0
- 塗り潰し(Flood)をクリックします。
シャツ全体が黒く塗りつぶされ、入力メッシュへの引き付けは示されません。
- 値(Value)を 1 に設定します。
- アーティザン ブラシを使用して、シャツの襟をペイントします。
- 値(Value)を 0.2 に設定します。
- アーティザン ブラシを使用して、シャツのカフスをペイントします。
- nCache > 新規キャッシュの作成(nCache > Create New Cache)を選択します。
nCloth シミュレーションが自動的に再生されて、キャッシュとしてディスクに保存されます。
- シミュレーションを再生します。
襟は完全に立ったままになり、カフスは形を維持しつつ微妙に垂れ下がるようになりました。