レッスン 1: 水のスタイルの nParticle オブジェクトを作成する
 
 
 

このレッスンでは、次の項目について学習します。

液体シミュレーション作成の最初の手順は、水のスタイルの nParticle システムを作成することです。そして、このシステムをモデリングしたポリゴンのピッチャーにコンストレインさせます。これは、オブジェクトを埋め尽くす(Fill Object)を使用した nParticle 作成手法で行います。

レッスンのセットアップ

説明どおりにレッスンを進めるために、レッスンを開始する前に次の手順を実行します。

  1. Liquid_Simulation_1.mb という名前のシーン ファイルを開きます。

    このファイルは、Maya プロジェクトとして設定した GettingStarted ディレクトリ内にあります。

    GettingStarted/nParticles/Liquid_Simulation_1.mb

    このシーンには、作成済みのテクスチャ マッピングされたモデルが含まれています。ここに用意された机、ピッチャー、グラスはすべてポリゴン メッシュです。ピッチャーのメッシュは、机から持ち上がって傾き、グラスに水が注がれてからまた机の上に戻るようにアニメートされています。

水のスタイルの nParticle を作成する

水(Water)スタイルの nParticle を使用すると、パーティクルのレンダー タイプ(Particle Render Type)メタボール サーフェス(Blobby Surface)に設定され、あらかじめ液体シミュレーション(Liquid Simulation)アトリビュートを含むいくつかの nParticleShape アトリビュートが設定されています。

水(Water)スタイルの nParticle オブジェクトを作成するには

  1. nParticle > nParticle の作成(nParticles > Create nParticles)を選択し、水(Water)を選択します。

    水(Water)プリセットを選択すると、液体シミュレーションのいくつかの nParticleShape アトリビュートがあらかじめ設定されています。

  2. 水(Water)スタイルの nParticle で埋め尽くすジオメトリを選択します。ここでは、ピッチャーのメッシュを選択します。これには、アウトライナ(Outliner)で、grp_Pitcher オブジェクトにコンストレインされている geo_pitcher を選択します。
  3. nParticle > nParticle の作成 > オブジェクトを埋め尽くす(nParticles > Create nParticles > Fill Object) を選択します。

    パーティクルで埋め尽くすオプション(Particle Fill Options)ウィンドウが表示されます。

  4. パーティクルで埋め尽くすオプション ウィンドウで、編集 > 設定のリセット(Edit > Reset settings)を選択します。
  5. ソルバ(Solver)リストから新しいソルバの作成(Create New Solver)を選択します。
  6. 解像度(Resolution)が 10 に設定されていることを確認します。

    解像度では、埋め尽くすジオメトリの長軸方向に沿って均等に配置する nParticle の数を指定します。

  7. 近接充填(Close Packing)がオンに設定されていることを確認します。
  8. 二重壁(Double Walled)をオンに設定します。

    二重壁をオンにすると、ピッチャーのジオメトリの厚みが確実に考慮されます。つまり、パーティクルがポリゴン壁の間ではなく確実にピッチャーの空のボリュームだけを埋めます。

  9. パーティクルで埋め尽くす(Particle Fill)をクリックします。
  10. アウトライナで、nParticle1 をダブルクリックし、nParticle_Water と入力します。

    nParticle オブジェクトの名前を変更すると、シーンにオブジェクトが複数ある場合に識別しやすくなります。

  11. シミュレーションを再生します。

    nParticle がメッシュのピッチャーの底を通リ抜け、消えていっています。これは、nParticle がピッチャーを認識していないためです。

    このチュートリアルでは、グラスに水を注ぐピッチャーをシミュレートするときに、ピッチャーとグラスのメッシュを両方ともパッシブ コリジョン オブジェクトに変換する必要があります。

パッシブ コリジョン オブジェクトを作成する

nParticle をピッチャーのメッシュと相互に作用させるには、パッシブ コリジョン オブジェクトに変換して同一の nucleus システムに割り当てる必要があります。

ピッチャーとグラスのメッシュをパッシブ コリジョン オブジェクトに変換するには

  1. シミュレーションを開始フレームまで巻き戻します。
  2. シーン ビューで、 キーを押したままピッチャーとグラスのメッシュを選択します。
  3. nMesh > パッシブ コライダの作成(nMesh > Create Passive Collider) を選択します。

    コリジョンの作成(Make Collide)ウィンドウが表示されます。

  4. ソルバ リスト(Solver list)から nucleus1 を選択します。.
  5. コリジョンの作成(Make Collide)をクリックします。
  6. ピッチャーとグラスの nRigid オブジェクトの名前を変更するには、アウトライナnRigid1nRigid2 をダブルクリックし、それぞれ nRigid_PitchernRigid_Glass と入力します。

  7. シミュレーションを再生します。

    再生してみると、nParticle がここで期待されているとおりに動作していないのがわかります。水と違って、ピッチャーの底にすぐに落ちずにゆっくりと落ちているため、スローモーションで再生しているように見えます。

    nParticle のシミュレーションを開始する前に、nucleus ソルバのプロパティをシミュレーションに合わせて調整することが重要です。Maya Nucleus ソルバのプロパティは、特定のソルバ システムのメンバーであるすべてのノードに作用する内部フォースを制御します。注意すべき最も重要な nucleus ソルバ アトリビュートの 1 つとして空間スケール(Space Scale)があります。空間スケールをデフォルト値の 1 に設定すると、nucleus ソルバはオブジェクトがメートル単位でスケールされているかのように重力(Gravity)風(Wind)をオブジェクトに適用します。

空間スケールを編集するには

  1. アトリビュート エディタ(Attribute Editor)で、nucleus1 タブを選択します。
  2. スケール アトリビュート(Scale Attributes)セクションで、空間スケール(Space Scale)を 0.01 に設定します。

    空間スケールの値を下げると、nParticle システムは実際よりもかなり小さいサイズであるかのように評価されます。したがって、nParticle への重力の影響が大きくなったように表示されます。

  3. シミュレーションを開始フレームまで巻き戻してから再生します。

再生してみると、nParticle がピッチャーに収まってはいますが、今度はピッチャーの容量に占める割合が少なすぎます。また、nParticle に圧力がかかるか圧縮されて押しつぶされているように見えます。次のセクションでは、nParticle を液体のような外見にする液体シミュレーション(Liquid Simulation)アトリビュートの調整に移ります。

レッスンを終えて

このレッスンでは、以下について学習しました。