基礎知識
nCloth オブジェクトを本物の衣服のように動作させるには、環境と相互作用させる、または衝
突させる必要があります。衣服のように動作させたいメッシュを nCloth オブジェクトに変換 し、それらが影響を受ける環境にあるすべてのオブジェクトをパッシブコリジョンオブジェ クトに変換します。
このレッスンでは、次の項目について学習します。
• ポリゴンオブジェクトを nCloth に変換する方法
• nCloth が相互作用するパッシブコリジョンオブジェクトを作成する方法
• nCloth コリジョンの精度を改善する方法
レッスン 1 > レッスンの設定
レッスンの設定
説明どおりにレッスンを進めるために、レッスンを開始する前に次の手順を実行します。
1 TableCloth.mb という名前のシーンを開きます。
2 シーンTableCloth.mbは、Maya DVD から開く、または『Maya Unlimited スタートアッ プガイド』のデータファイルをコピーしたドライブから開くこともできます。このファ イルは UnlimitedLessonData/nCloth にあります。
このシーンには、作成済みのテクスチャマッピングされたモデルが含まれています。ここ に用意されているテーブルクロス、テーブル、テーブルのベース、フロア、壁のモデルは すべてポリゴンメッシュです。
nCloth オブジェクトを作成する
nCloth 作成のプロセスではまず、布のように動作させたいポリゴン オブジェクトを nCloth オ ブジェクトに変換します。
ポリゴンメッシュを nCloth にするには
5 | nCloth レッスン 1 > nCloth オブジェクトを作成する
クロスの作成オプション(Create Cloth Options)ウィンドウが表示されます。
3 ソルバ(Solver)プルダウンリストから nucleus1 を選択します。
ソルバを選択することにより、この nCloth が所属する Maya Nucleus システムが定義され ます。
4 ローカル空間出力(Local Space Output)をオンにします。
空間出力を定義することでテーブル クロスの入力 nCloth メッシュと出力 nCloth メッシュ が両方とも選択した Maya Nucleus ソルバにアタッチされるか(ローカル空間出力)、また は出力 nCloth メッシュのみがアタッチされるか(ワールド空間(World Space))が定義さ れます。
5 クロスの作成(Create Cloth)をクリックします。
スタティック四角ポリゴンのテーブル クロスが自動的にテッセレーションされ、ダイナ
ミック nCloth オブジェクトに変換されます。さらにシーンビューのテーブルクロスには
nCloth ハンドルが表示されます。nCloth ハンドルは小さなワイヤフレーム球体に似たもの
で、テーブルクロスの中心に配置されます。テーブルクロスの nCloth ハンドルを使用し て、ハイパーグラフ(Hypergraph)から nClothShape ノードを選択する、またはアトリ ビュートエディタ(Attribute Editor)のタブを選択することができます。
シーンにある Maya Nucleus ソルバをすべてリスト表示す る、または作成する nCloth 用の新しいソルバを作成でき します。
レッスン 1 > nCloth オブジェクトを作成する
6 ウィンドウ > ハイパーグラフ: コネクション(Window > Hypergraph: Connections)を選 択して、ディペンデンシーグラフ(Dependency Graph)にテーブルクロスの新しいノー ド コネクションを表示します。
ハイパーグラフと、その中に新しい Maya Nucleus ノードのネットワークが表示されます。
テーブル クロスが nucleus1 Maya Nucleus システムのメンバーになったことにが分かり
ます。
nCloth ハンドルは小さな
ワイヤフレーム球体に似 たもので、テーブルクロ スの中心に配置されます。
5 | nCloth レッスン 1 > nCloth を環境と衝突させる
nucleus1 は Maya Nucleus ソルバのノードで、内部フォースを含め、nucleus1 ソルバ シス テムに作用するすべてのアトリビュートが含まれます。
TableClothShape は、テーブルクロスの入力メッシュと開始オブジェクトです。
outputCloth1 は出力メッシュまたはカレント メッシュで、結果としてシーン ビューに表示
される nCloth テーブルクロスです。
polyPlane2 は、テーブル クロスのヒストリ ノードです。
7 ハイパーグラフを閉じて、テーブル クロスのシミュレーションを再生します。
テーブルクロスはテーブルやベース、フロアを通り抜けます。これは nCloth がシーンの他 のオブジェクトをまったく認識していないためです。nCloth テーブルクロスをテーブルや そのベース、フロアと相互作用させるには、これらをテーブルクロスと同じ Maya Nucleus ソルバシステムのメンバーにする必要があります。
8 再生範囲の先頭に進みます。
nCloth を環境と衝突させる
リアルなクロスエフェクトを作成するための次の手順では nCloth オブジェクトをその環境と 相互に作用させ、シーンにあるオブジェクトやサーフェスに nCloth を変形させて、その動き をドライブさせます。このためには、シミュレーション中に nCloth が接触する各サーフェス をパッシブコリジョンオブジェクトにします。
テーブルクロスのシ ミュレーション: 衝突の ない場合
レッスン 1 > nCloth を環境と衝突させる
nCloth のためにパッシブ コリジョン オブジェクトを作成するには 1 テーブルを選択します。
2 nCloth > パッシブの作成(nCloth > Create Passive) を選択します。
コリジョンの作成オプション(Make Collide Options)ウィンドウが表示されます。
3 ソルバプルダウンリストから nucleus1 を選択し、コリジョンの作成をクリックします。
テーブル ポリゴン メッシュがパッシブ コリジョン オブジェクトに変換され、シーン ビューではテーブルメッシュの中心に nRigid ハンドルが表示されます。テーブルの nRigid ハンドルを使用して、ハイパーグラフから nRigidShape ノードを選択する、またはアトリ ビュート エディタのタブを選択することができます。
テーブルも nucleus1 Maya Nucleus システムのメンバーになりました。
4 ウィンドウ > ハイパーグラフ: コネクション(Window > Hypergraph: Connections)を選 択して、ディペンデンシー グラフにテーブルの新しいノード コネクションを表示します。
X 線シェーディング( X-Ray Shading)モードで表 示したテーブル
nCloth ハンドルと同様、
nRigid ハンドルは小さな ワイヤフレーム球体に似 たもので、テーブルクロ スの中心に配置されます。
5 | nCloth レッスン 1 > nCloth を環境と衝突させる
nRigidShape1 はパッシブ オブジェクトのプロパティ ノードで、テーブルのすべてのパッ シブ オブジェクト アトリビュートをが含まれます。
5 ハイパーグラフを閉じて、テーブルクロスのシミュレーションを再生します。
テーブルクロスがテーブルと衝突するようになります。テーブルクロスはテーブルと相互 に作用するようになります。これは、テーブルがテーブルクロスの nucleus1 ソルバシス テムのメンバーだからです。
パッシブオブジェク トコリジョンを使っ たテーブルクロスの シミュレーション
レッスン 1 > nCloth コリジョンの精度を調整する
nCloth コリジョンの精度を調整する
本物のようなクロス エフェクトを作成する 3 番目の手順では、nCloth オブジェクトをできるだけ 正確に衝突させます。実世界では、落ちる布は物体の上に覆いかぶさるとともに、その物体の形 状を反映して形を変えます。現在、テーブルクロスはこのような動作を見せていません。
nCloth とパッシブ オブジェクトの厚みを設定するには 1 テーブルクロスを選択します。
2 アトリビュート エディタを開き、nClothShape タブを選択します。
3 サーフェス プロパティ(Surface Properties)セクションで、ソルバ表示(Solver Display)
プルダウンリストからコリジョンの厚み(Collision Thickness)を選択します。
シーンビューにテーブルクロスのコリジョンの厚みが表示されます。
5 | nCloth レッスン 1 > nCloth コリジョンの精度を調整する
nCloth の厚み(Thickness)アトリビュートにより、テーブルクロスのコリジョン ボリュー
ムの半径またはデプスが決まります。コリジョンボリュームは、テーブル クロスのサー フェスにあるレンダリング不可のサーフェス オフセットで、nucleus1 ソルバがテーブル クロスのパッシブオブジェクトコリジョンを計算するときに使用します。コリジョンは、
テーブルクロスのサーフェスではなく、そのコリジョンボリュームで発生します。
テーブルクロスの ソルバ表示: コリジョ ンの厚み
レッスン 1 > nCloth コリジョンの精度を調整する
4 再生範囲の先頭に進みます。
5 サーフェス プロパティ(Surface Properties)セクションで、テーブル クロスの厚み
(Thickness)アトリビュート値を 0.066 に変更します。
X 線シェーディング モードでのテーブル クロスとテーブル テーブルクロスの厚 み値が高すぎるため、
実際のサーフェスは テーブルに近づけませ ん。テーブルクロス のコリジョンボ リュームのみがテーブ ルに近づけています。
5 | nCloth レッスン 1 > nCloth コリジョンの精度を調整する
テーブルクロスのコリジョンボリュームは著しく削減され、厚いサーフェスではなく、薄 い布地のように動作するようになります。この変更後の厚みにより、テーブルクロスが テーブルに落ちたときのコリジョン精度も向上します。
6 ソルバ表示(Solver Display)プルダウンリストからオフ(Off)を選択します。
テーブル クロスのコリジョンの厚みは、シーン ビューに表示されなくなります。
7 テーブル クロスのシミュレーションを再生します。
テーブルクロスのソ ルバ表示: コリジョン の厚みを下げる