ウィンドウに表示
お気に入りに追加
ホーム: Autodesk Maya オンライン ヘルプ
nCloth を環境と衝突させる
レッスン 1: nCloth コリジョンを作成する
レッスンを終えて
nCloth コリジョンの精度を調整する
本物のようなクロス エフェクトを作成する 3 番目の手順では、nCloth オブジェクトをできるだけ正確に衝突させます。実世界では、落ちる布は物体の上に覆いかぶさるとともに、その物体の形状を反映して形を変えます。現在、テーブル クロスはこのような動作を見せていません。
nCloth とパッシブ オブジェクトの厚みを設定するには
- テーブル クロスを選択します。
- アトリビュート エディタ(Attribute Editor)を開き、nClothShape1 タブを選択します。
- コリジョン(Collisions)セクションで、ソルバ表示(Solver Display)プルダウン リストからコリジョンの厚み(Collision Thickness)を選択します。
シーン ビューにテーブル クロスのコリジョンの厚みが表示されます。
nCloth の厚み(Thickness)アトリビュートにより、テーブル クロスのコリジョン ボリュームの半径またはデプスが決まります。コリジョン ボリュームは、テーブル クロスのサーフェスにあるレンダリング不可のサーフェス オフセットで、nucleus1 ソルバがテーブル クロスのパッシブ オブジェクト コリジョンを計算するときに使用します。コリジョンは、テーブル
クロスのサーフェスではなく、そのコリジョン ボリュームで発生します。
- 再生範囲の先頭に進みます。
- コリジョン(Collisions)セクションで、テーブル クロスの厚み(Thickness)アトリビュート値を 0.066 に変更します。
テーブル クロスのコリジョン ボリュームは著しく削減され、厚いサーフェスではなく、薄い布地のように動作するようになります。この変更後の厚みにより、テーブル クロスがテーブルに落ちたときのコリジョン精度も向上します。
- ソルバ表示(Solver Display)プルダウン リストからオフ(Off)を選択します。
テーブル クロスのコリジョンの厚みは、シーン ビューに表示されなくなります。
- テーブル クロスのシミュレーションを再生します。
テーブル クロスの厚みを調整しても、テーブル クロスはテーブルのサーフェスと接触しているようには見えません。これは、テーブルのようなパッシブ コリジョン オブジェクトもコリジョン ボリュームを持っているからです。
テーブル クロスのコリジョン精度をさらに向上させるには、テーブルの厚みを調整する必要があります。
- 再生範囲の先頭に進みます。
- シーン ビューでテーブルを選択し、アトリビュート エディタにあるテーブルの nRigidShape1 タブを選択します。
- コリジョン(Collisions)セクションで、ソルバ表示(Solver Display)プルダウン リストからコリジョンの厚み(Collision Thickness)を選択します。
シーン ビューにテーブルのコリジョンの厚みが表示されます。
- テーブルの厚みアトリビュート値を 0.066 に設定します。
テーブルのコリジョン ボリュームが著しく削減され、シミュレーションを再生すると、テーブル クロスがテーブルの実際の形状に従って変形します。
- コリジョン(Collisions)セクションで、ソルバ表示(Solver Display)プルダウン リストからオフ(Off)を選択します。
テーブルのコリジョンの厚みは、シーン ビューに表示されなくなります。
- テーブル クロスのシミュレーションを再生します。
テーブル クロス nCloth とテーブル パッシブ オブジェクトの厚みを調整することでテーブル クロスのコリジョン精度が大幅に改善されました。
- 再生範囲の開始点に進みます。
コリジョンの厚み(Collision Thickness)のシーン ビュー内での表示方法は、nCloth のカレントのコリジョン フラグ(Collision Flag)選択項目によって決まります。コリジョン フラグ プルダウン リストでは、コリジョンに関係するテーブル クロスのコンポーネントと、テーブル クロスが使用するコリジョン ボリュームのタイプを指定することができます。コリジョン フラグを使用して nCloth コリジョンの速度を調整することができますが、コリジョン精度が損なわれます。
コリジョンに関係する nCloth コンポーネントを設定するには
- テーブル クロスを選択します。
- アトリビュート エディタ(Attribute Editor)で、nClothShape1 タブを選択します。
- コリジョン(Collisions)セクションで、ソルバ表示(Solver Display)プルダウン リストからコリジョンの厚み(Collision Thickness)を選択します。
- デフォルトでは、コリジョン フラグはフェース(Face)に設定されています。
フェースを指定すると、最も正確なコリジョンが得られますが、コリジョンの計算速度は最も遅くなります。
- コリジョン フラグを頂点(Vertex)に変更します。頂点を指定すると、コリジョン精度は最も低くなりますが、コリジョンの計算速度は最も速くなります。
テーブル クロスのコリジョン ボリュームは、サーフェスから複数のコリジョン球体に変わります。
- テーブル クロスのシミュレーションを再生します。
テーブル クロスは、テーブルとフロア コリジョン オブジェクトがまるでパッシブ オブジェクトではないかのように、これらを通り抜けます。これは、コンポーネント タイプとして頂点を選択した場合、フェースのようにサーフェス全体ではなく、テーブル クロスの頂点を取り囲む小さなコリジョン球体のみがテーブル クロスのコリジョンに関与するからです。
コリジョンの計算回数を減らしてシミュレーション時間を短縮したい場合や、最高レベルのコリジョン精度が必要ないクロスのシミュレーション(たとえば、衝突する nCloth オブジェクトを遠くから撮る)の場合には、頂点とフェースが便利です。
- コリジョン フラグをデフォルトのフェースにリセットし、ソルバ表示(Solver Display)プルダウン リストからオフを選択します。
- 再生範囲の先頭に進みます。
- テーブル クロスのシミュレーションを再生します。
今回もテーブル クロスは正確にテーブルと衝突します。