MassFX によるリジットボディの物理

MassFX では、オブジェクトが実際の物理に基づいて動くようにアニメートするためのツールを提供します。MassFX の学習を開始するには、リジット ボディから始めるのが一番です。リジット ボディでは、木、プラスチック、メタルなどの硬いオブジェクトをシミュレートします。

このチュートリアルでは、落ちてきたおもちゃのボールがぶつかって器がコーヒー テーブルから落下するという簡単なシミュレーションを作成します。

この演習では、MassFX の使用について、次の項目を中心に学習します。

スキル レベル: 初級

所要時間: 20 分

チュートリアルの準備

レッスンの準備:

コーヒー テーブルを設定する:

    テーブルは固定されたボックスであり、このシミュレーションで最も単純なオブジェクトです。

  1. MassFX ツールバーが表示されていない場合は、メイン ツールバーの右側の領域を右クリックし、ポップアップ メニューから[MassFX ツールバー](MassFX Toolbar)を選択します。

    3ds Max によってツールバーが開きます。

    MassFX ツールバー

  2. Coffee Table オブジェクトを 選択します。
  3. MassFX ツールバーで、[リジッド ボディ](Rigid Bodies)フライアウト(2 つ目のボタン)を開き、フライアウトのリストから[選択を静止リジット ボディとして設定](Set Selected As Static Rigid Body)を選択します。

    静止リジッド ボディはシミュレーションの一部ですが、移動または変更されることはありません。

  4. [修正](Modify)パネルに移動します。選択したオブジェクトに MassFX リジッド ボディ モディファイヤが適用されて、オブジェクトが設定されます。
  5. [物理的シェイプ](Physical Shapes)ロールアウトを確認します。この静止ボディはボックス プリミティブとしてスタートしているため、既定の[シェイプ タイプ](Shape Type)は[ボックス](Box)です。

    MassFX で処理されるジオメトリは 2 種類あります。

    • グラフィカル メッシュは、オリジナルのオブジェクト ジオメトリです。

      通常、静止ボディにはグラフィカル メッシュ(オリジナル)を使用します。これはシミュレーションで移動しません。

    • 物理的シェイプは、グラフィカル メッシュを表すために MassFX がシミュレーションで使用するジオメトリです。

      通常、シミュレーションで動きのあるすべてのボディに物理的シェイプを使用します。

    • 大まかな指針としては、問題がない限り最も単純なジオメトリを使用します。この例では、コーヒー テーブルは静止した単純なボックスであるため、[オリジナル](Original)で問題ありません。[シェイプ タイプ](Shape Type)ドロップダウン リストを開き、[オリジナル](Original)を選択します。

      このシミュレーションの他の 2 つのオブジェクトはダイナミック リジッド ボディです。これらは重力などの力の影響を受け、シミュレーションの他のオブジェクトと物理的に影響し合うことができます。

ボールを設定する:

  1. Ball オブジェクトを 選択します。
  2. MassFX ツールバーで、[リジッド ボディ](Rigid Bodies)フライアウトを開き、リストから[選択をダイナミック リジット ボディとして設定](Set Selected As Dynamic Rigid Body)を選択します。

    ダイナミック リジッド ボディは、物理的な力によって動くオブジェクトです。このボールの場合、作用する力は重力です。

  3. [修正](Modify)パネル [物理的シェイプ](Physical Shapes)ロールアウトで、[シェイプ タイプ](Shape Type)を確認します。

    ほとんどのダイナミック ボディの既定のメッシュ タイプは[凸型](Convex)です。ビューポートで見るとわかるように、これはかなりボールに近い形状をしています。

    ボールに近似している凸型の物理的シェイプ

    .

    注: わかりやすくするため、[メッシュ変換](Mesh Transform)サブオブジェクト レベルを使用して物理的シェイプをオフセットしています。

    しかし、既定のシェイプは、よく転がるものではありません。MassFX リジッド ボディ モディファイヤには、球状のオブジェクトにもっと適したシェイプがあります。

  4. [物理的シェイプ](Physical Shapes)ロールアウトで、[シェイプ タイプ](Shape Type)ドロップダウン リストを開き、[球](Sphere)を選択します。

    これで、物理的シェイプがオリジナルのボールの形状に合うようになりました。

器を設定する:

    器は凹型であるため、設定が少し複雑です。

  1. Bowl オブジェクトを選択します。
  2. MassFX ツールバーで、 ([選択をダイナミック リジット ボディとして設定](Set Selected As Dynamic Rigid Body))をクリックします

    (ボールで同じオプションを使用したので、このボタンが表示されているはずです)。

    ビューポートで見るとわかるように、既定の凸型の物理的シェイプは凸型の形状をしているため、あまり器の形状に近いとは言えません。

    ダイナミック リジッド ボディは、凸型の物理的シェイプとともに MassFX に表示されている必要があります。器のような凹型の形状をモデリングするには、複数の小さな凸型の形状のコレクションを使用して近似することができます。MassFX リジッド ボディ モディファイヤには、このコレクションを自動的に作成できる[凹型](Concave)シェイプ タイプが用意されています。

  3. [修正](Modify)パネル [物理的シェイプ](Physical Shapes)ロールアウトで、[シェイプ タイプ](Shape Type)ドロップダウン リストを開き、[凹型](Concave)を選択します。

    凸型の物理的シェイプは表示されなくなります。これは、「[凹型」には既定のシェイプがないからです。シミュレーションで凹型のオブジェクトを使用する場合は、それぞれカスタムの凹型シェイプのコレクションを作成する必要があります。

  4. [修正](Modify)パネルで、[物理的メッシュ パラメータ](Physical Mesh Parameters)ロールアウトまで下にスクロールします。このロールアウトで、[生成](Generate)をクリックします。

    3ds Max によって計算に少し時間がかかります。この間、[計算中](Calculating)というステータス メッセージと進行状況(パーセント)が表示されます。物理的シェイプが完成すると、「現在のメッシュに含まれるハルの数は 14 です。」(Current mesh contains 14 hulls)のように、新しい合成メッシュに関する情報がステータス ラインに表示されます。ただし、ビューポートでは、新しい物理的シェイプは依然として凸型であることが確認できます。

    特定の自動生成された凹型の形状では、フィットを改善する切り替えをオンにする必要があります。

  5. [物理的メッシュ パラメータ](Physical Mesh Parameters)ロールアウトで [フィットを改善](Improve Fitting)([生成](Generate)ボタンのすぐ上)をオンにして、もう一度[生成](Generate)ボタンをクリックします。

    シェイプはこれで実際に凹型になりますが、115 個のハルが含まれ、不必要に複雑です。

  6. [物理的メッシュ パラメータ](Physical Mesh Parameters)ロールアウトで次の値を設定します。
    • [メッシュ詳細](Mesh Detail): 0.0
    • [最小ハル サイズ](Min. Hull Size): 5.0
    • [ハル当たりの最大頂点数](Max Verts per Hull): 10
  7. [生成](Generate)を再度クリックします。

    これでメッシュに含まれるハルは 10 個だけになり、シミューレションがより速くなります。見てわかるように、器と思わせるには十分な凹型の物理的シェイプが作成されています。

    ヒント: このような、ボールと器の相互作用が両方の動きに影響するシミュレーションでは、個々のハルのシェイプによって非常に大きな差が生じる可能性があります。このチュートリアルの次のパートでシミュレーションを実行したら、メッシュ パラメータの変更を試し(毎回必ず[生成](Generate)をクリックします)、再度シミュレーションを実行して動作の変化を確認してください。

    このシミュレーションの設定作業はこれで終了です。次は実際に動かしてみましょう。

シミュレーションを再生する:

  1. MassFX ツールバーで、 ([シミュレーション開始](Start Simulation))をクリックします。

    3ds Max では計算のために少し停止した後、ボールが上から落ちてきて器の中で小さくバウンドし、器と一緒にテーブルから落ちます。

  2. シミュレーションをもう一度再生するには、MassFX ツールバー ([シミュレーションをリセット](Reset Simulation))をクリックし、もう一度 ([シミュレーション開始](Start Simulation))をクリックします。

    繰り返し再生できるように、シミュレーションを 3ds Max アニメーションとしてベイク処理することもできます。次の手順でその方法を説明します。

アニメーションをベイク処理する:

    手続き型アニメーションを「ベイク処理」すると、アニメーションの各オブジェクトの変換がキーフレームとして記録されます。通常これはフレーム単位で実行され、元のシミュレーションと同一のレンダリング可能なアニメーションが生成されます。

  1. MassFX ツールバーで、 ([ワールド パラメータ](World Parameters))をクリックします。

    3ds Max によって[MassFX ツール](MassFX Tools)ダイアログ ボックスが開き、[ワールド パラメータ](World Parameters)パネルが表示されます。

  2. [MassFX ツール](MassFX Tools)ダイアログ ボックスで、 ([シミュレーション ツール](Simulation Tools))タブをクリックします。
  3. [ツール](Tools)タブで、[すべてをベイク処理](Bake All)をクリックします。

    3ds Max によってシミュレーションがキーフレームに変換されます。実行中、ウィンドウの下部には進行状況バーが表示されます。

    ベイク処理が完了したら、3ds Max ウィンドウの右下にある ([アニメーションを再生](Play Animation))をクリックすることで、シミュレーションを標準のアニメーションとして再生することができます。また、ベイク処理したアニメーションをビデオ ファイルにレンダリングすることもできます。戻ってシミュレーションを微調整する場合は、任意またはすべてのオブジェクトをベイク解除することができます。

    注: ベイク処理された MassFX シミュレーションは、動きのあるすべてのオブジェクトのそれぞれのフレームにキーが設定された「重い」アニメーションです。アニメーションをさらに編集する場合は、アニメートされた各オブジェクトに、[トラックビュー](Track View) [カーブを単純化](Simplify Curve)ツールを使用して、より管理しやすくすることができます。

作業を保存する:

  • シーンに my_coffeetable_spill.max と名前を付けて保存します。

    このチュートリアルで説明した MassFX の設定(ベイク処理されたアニメーションを除く)は、coffeetable_disaster_setup.max ファイルに含まれています。

概要

MassFX では、実際の物理をシミュレートしてアニメーションを作成します。

シミュレーションのオブジェクトのプロパティは、MassFX リジッド ボディ モディファイヤによって提供されます。静止オブジェクトは、ジオメトリ(オリジナル)メッシュで表すことができます。ダイナミック オブジェクトは、オリジナル ジオメトリに応じてさまざまな形状になる物理的シェイプで表されます。凹型のオブジェクトをシミュレートするには、[凹型](Concave)物理的シェイプ タイプを選択して[生成](Generate)をクリックし、凹型のオブジェクトに近似する一連の凸型のハルを作成します。

オブジェクトを設定したら、 ([シミュレーション開始](Start Simulation))をクリックして結果を表示できます。

シミュレーションは、標準の 3ds Max アニメーションにベイク処理することができます。