破片とフィールドを接続する

オブジェクトを破片に粉砕した後で、移動ツールを使用して破片を移動する、破片の動きにキーフレームを設定する、破片に割り当てた Maya のフィールドを通じて破片を移動するといった各種操作を実行することができます。

注:

シェイプ ノードである破片(後処理 > シェイプ(Post Operation > shapes))に対してフィールドを割り当てると、衝突がオンに設定されたアクティブ リジッド ボディにシェイプ ノードが自動変換されます。このため、破片のエッジが重なり合う箇所では、破片が互いに貫通するという問題が発生します。この問題を解決するには、リジッド ボディの衝突をオフにしてください。

リジッド ボディの破片をフィールドに接続するには

  1. アウトライナ(Outliner)を開き、粉砕ノードを展開します。
  2. フィールドを通じて制御される破片を強調表示します。
  3. FX メニューから、フィールド/ソルバ(Fields/Solvers) > <フィールド名>を選択します。

    新しいフィールドが作成されて破片に割り当てられます。

ソフト ボディの破片をフィールドに接続するには

  1. アウトライナ(Outliner)を開き、粉砕ノードを展開します。
  2. フィールドを通じて制御される破片を展開し、破片の particleShape ノード(shard#Particle)を選択します。

    フィールドを通じてすべての破片を制御する場合は、破片の particleShape ノードを個別にすべて選択する必要があります。

  3. FX メニューから、フィールド/ソルバ(Fields/Solvers) > <フィールド名>を選択します。

    新しいフィールドが作成されて破片に割り当てられます。

オリジナル サーフェスと破片をリンク

作成時に粉砕エフェクトの作成オプション ウィンドウ内でオリジナル サーフェスの破片へのリンク(Link to Shards) オプションをオンに設定すると、オリジナルのサーフェスから破片に対する複数の接続が作成されます。このオプションを選択すると、オリジナルのサーフェスのトランスフォーム ノード上にある 1 つのアトリビュート(粉砕)を使用して、オリジナルのサーフェスと複数の破片の可視/非可視を制御することができます。

粉砕アトリビュート

破片へのリンク(Link to Shards)オプションをオンに設定すると、オリジナルのオブジェクトのトランスフォーム ノードに粉砕(Shatter)アトリビュートが追加されます。粉砕(Shatter)アトリビュートは、オリジナルのオブジェクトおよび粉砕されたオブジェクト(複数の破片)の可視/非可視を切り替えます。粉砕(Shatter)アトリビュートがオンに設定されている場合は、粉砕されたオブジェクト(複数の破片)が可視となります。粉砕(Shatter)アトリビュートがオフである場合は、オリジナルのオブジェクトが可視となります。既定では、粉砕(Shatter)エフェクトを作成するときに粉砕アトリビュートがオンに設定されるため、破片が表示されます。

リジッド ボディ

後処理オプションを衝突をオフにしたリジッド ボディにし、破片へのリンク(Link to Shards)をオンに設定した場合は、粉砕ノードがオリジナルのオブジェクトの子ノードになり、元のオブジェクトの粉砕(Shatter)アトリビュートがリジッド ボディ破片のアクティブ/パッシブ アトリビュートに接続されます。

さらに、オリジナルのサーフェスをリジッド ボディに変換(Make Original Surface Rigid)オプションをオンに設定すると、粉砕(Shatter)アトリビュートがオリジナルのオブジェクト(アクティブ リジッド ボディ)の無視(Ignore)アトリビュートにもリンクされます。粉砕(Shatter)アトリビュートをオンに設定すると、オリジナルのオブジェクトの無視(Ignore)アトリビュートもオンになります。このため、リジッド ソルバでは元のオブジェクトが無視され、破片が可視となっている間は、リジッド ボディ破片がオリジナルのオブジェクトからのインフルエンスを受けなくなります。

粉砕(Shatter)アトリビュートをオフにすると、破片がパッシブ リジッド ボディになります。粉砕アトリビュートをオンにすると、破片がアクティブ リジッド ボディになり、フィールドによる影響を受けるようになります。この仕組みを利用すると、サーフェスに衝突すると同時に砕け散るリジッド ボディ オブジェクトを作成することができます。

衝突でリジッド ボディを粉砕するには

  1. リジッド ボディ オブジェクトが衝突する相手方のサーフェスを作成し、そのサーフェスをパッシブ リジッド ボディに変換します。
  2. パッシブ リジッド ボディの衝突レイヤ アトリビュートを -1 に設定します。

    こうすると、サーフェスが汎用衝突レイヤになり、すべてのリジッド ボディと衝突するようになります。

  3. 粉砕オブジェクトを作成します。
  4. エフェクト(Effects) > 粉砕(Shatter) > を選択します。
  5. 粉砕エフェクトのタイプを選択します。
  6. 後処理(Post Operation)オプションを衝突をオフにしたリジッド ボディ(rigid bodies with collisions off)に設定します。
  7. 破片へのリンク(Link to Shards)オプションをオンに設定します。
  8. オリジナルのサーフェスをリジッド ボディに変換(Make Original Surface Rigid)オプションをオンに設定します。
  9. 作成(Create)ボタンをクリックします。
  10. アウトライナ(Outliner)を開き、粉砕されたオブジェクト(破片)を選択して粉砕(Shatter)ノードを表示します。粉砕ノードを展開し、破片を選択し、Ctrl キー(IRIX および Windows)または command キー(Mac OS X)を押しながらクリックして、オリジナル オブジェクトを選択します。
  11. FX メニューからフィールド/ソルバ(Fields/Solvers) > 重力(Gravity)を選択します。
  12. オリジナルのオブジェクトを選択します。アニメーションの開始フレームに移動し、粉砕(Shatter)アトリビュートをオフにして、キーフレームを設定します。

    オリジナルのオブジェクトが可視となり、アクティブ リジッド ボディになります。

  13. オブジェクトがサーフェス(パッシブ リジッド ボディ)に衝突する直前まで、アニメーションを再生します。
  14. 粉砕(Shatter)アトリビュートをオンにして、キーフレームを設定します。

    粉砕されたオブジェクト(破片)が可視となります。これらの破片はアクティブ リジッド ボディになります。

  15. アニメーションを巻き戻して再生します。

ソフト ボディ

後処理オプションをゴール付きソフト ボディまたはラティスとゴール付きソフト ボディにすると、破片へのリンク(Link To Shards)をオンに設定した場合、粉砕ノードはオリジナルのオブジェクトの子ノードになりません。この場合は、オリジナルのオブジェクトのトランスフォーム ノードに粉砕(Shatter)アトリビュートが追加され、その粉砕アトリビュートを通じてオリジナルのオブジェクトと破片の可視/非可視が制御されます。粉砕(Shatter)アトリビュートがオンに設定されている場合は、粉砕されたオブジェクトが可視となります。粉砕(Shatter)アトリビュートがオフである場合は、オリジナルのオブジェクトが可視となります。

オリジナルのオブジェクトのトランスフォーム ノードには、ソフト ボディ破片のパーティクル シェイプ ノードのゴール ウェイトを制御するゴール ウェイト アトリビュートも追加されます。この「制御用」ゴール ウェイト アトリビュートを使用すると、破片のパーティクル シェイプ ノードに追加されるゴール ウェイト アトリビュートをさらに細かく調整することができます。

粉砕(Shatter)アトリビュートがオフである場合は、破片のパーティクル シェイプ ノードのゴール ウェイトが 1 に設定されるため、非可視の破片はゴール オブジェクト(オリジナルのオブジェクトのコピー)の動きに追従します。粉砕アトリビュートをオンに設定すると、破片が可視となり、破片のパーティクル シェイプ ノードのゴール ウェイト アトリビュートがオリジナルのオブジェクトの「制御用」ゴール ウェイト アトリビュートと同じ値に設定されます。これらの各アトリビュートはエクスプレッションを通じてリンクされます。

この仕組みを利用すると、ソフト ボディ オブジェクトを爆破することができます。

ソフト ボディを爆破させるには

  1. 粉砕オブジェクトを作成します。
  2. エフェクト(Effects) > 粉砕(Shatter) > を選択します。
  3. 粉砕エフェクトのタイプを選択します。
  4. 後処理(Post Operation)オプションをラティスとゴール付きソフト ボディ(soft bodies with lattices and goals)に設定します。
  5. 破片へのリンク(Link to Shards)オプションをオンに設定します。
  6. 作成(Create)ボタンをクリックします。
  7. アウトライナ(Outliner)では、粉砕ノードを展開し、次に softBodyLattices# ノードを展開します。次に、Ctrl キー(Linux および Windows)または command キー(Mac OS X)を押しながらクリックして、破片ごとにそれぞれのラティス(shatter#Lattice)を選択します。
  8. FX メニューからフィールド/ソルバ(Fields/Solvers) > 放射状(Radial)を選択します。
  9. オリジナルのオブジェクトを選択します。アニメーションの開始フレームに移動し、粉砕(Shatter)アトリビュートをオフにして、キーフレームを設定します。

    オリジナルのオブジェクトが可視となります。

  10. オブジェクトを爆破する時間のフレームを選択します。
  11. 粉砕(Shatter)アトリビュートをオンにして、キーフレームを設定します。

    粉砕されたオブジェクト(破片)が可視となります。これらの破片はアクティブ リジッド ボディになります。

  12. アニメーションを巻き戻して再生します。

破片のエクストルージョン値を変更する

破片の厚さオプションを使用して粉砕エフェクトを作成した場合は、すべての破片の厚み、または個々の破片の厚みをエフェクトの作成後に変更することができます。厚みを変更するには、破片のローカル移動 Z (Local Translate Z)アトリビュートを使用します。

破片の厚さオプションを使用しなかった場合は、エクストルージョン ノードが破片に割り当てられません。

破片のエクストルージョン値を変更するには

  1. 破片を選択します。
  2. 破片がリジッド ボディまたはシェイプ ノードである場合は、チャネル ボックス(Channel Box)内で shardShape# を選択します。
  3. チャネル ボックス(Channel Box)入力(INPUTS)セクションから polyExtrudeFacet# を選択します。
  4. ローカル移動 Z (Local Translate Z) アトリビュートのあるところまで、チャネル ボックス(Channel Box)のリストを下方向にスクロールします。
  5. 任意の値を入力して、エクストルージョン値を変更します。

ソフト ボディ破片のゴール ウェイトを設定する

ソフト ボディがゴール オブジェクトの動きに追従する度合いは、ゴール ウェイトの値によって決まります。ゴール ウェイトは、0 から 1 の範囲に含まれる値に設定することができます。値 0 は、ゴールの位置はソフト ボディに何の影響も与えないことを表します。ゴール ウェイトを 1 に設定すると、ソフト ボディが即座にゴール オブジェクトの位置に移動します(ゴール オブジェクトの動きに完全に追従します)。

0 ~ 1 の間の値を指定すると、あたかも弾性のあるバネで結ばれたかのように、ソフト ボディがゴール オブジェクトの方向に移動します。ゴール ウェイトを 1 に近づけるほど、ゴール オブジェクトがソフト ボディの位置に与えるインフルエンスが強くなります。既定では、ゴール ウェイトの値が 0 であるため、ゴール オブジェクトの位置はソフト ボディにまったく影響を与えません。

ゴール ウェイトの設定が可能となる後処理オプション(ゴール付きソフト ボディまたはラティスとゴール付きソフト ボディ)を選択しても、破片へのリンク オプションがオフである場合、ソフト ボディ破片のゴール ウェイトを制御するゴール ウェイト アトリビュートはオリジナルのオブジェクトに追加されません。ゴール ウェイトはパーティクル シェイプ ノードのアトリビュートであるため、ゴールウェイト アトリビュートを表示するには、粉砕ノードの個々の破片を展開して、パーティクル シェイプ ノードを選択する必要があります。

ゴールを持つソフト ボディの破片にゴール ウェイトを設定するには

  1. アウトライナ(Outliner)を開き、粉砕ノードを展開します。
  2. ゴール ウェイトを設定する破片を展開します。
  3. shard#Particle を選択します。
  4. 次のいずれかを実行します。
    • アトリビュート エディタ(Attribute Editor)を開き、ゴール ウェイト(Goal Weights)およびオブジェクト(Objects)アトリビュートを表示します。
    • ゴールの平滑性(Goal Smoothness)ゴール ウェイト(Goal Weight)[0]、ゴールのアクティブ化(Goal Active)[0] のあるところまで、チャネル ボックス(Channel Box)のリストを下方向にスクロールします。
  5. ゴール ウェイトの値を入力します。ゴール ウェイト アトリビュートの設定に関する詳細については、ゴールを参照してください。

ソフト ボディ ラティスとゴールを持つ破片にゴール ウェイトを設定するには

  1. アウトライナ(Outliner)を開き、粉砕ノードを展開します。
  2. softBodyLattices# ノードを展開します。
  3. ゴール ウェイトを設定する shatter#Lattice を展開します。
  4. shatter#LatticeParticle を選択します。
  5. 次のいずれかを実行します。
    • アトリビュート エディタ(Attribute Editor)を開き、ゴール ウェイト(Goal Weights)およびオブジェクト(Objects)アトリビュートを表示します。
    • ゴールの平滑性(Goal Smoothness)ゴール ウェイト(Goal Weight)[0]、ゴールのアクティブ化(Goal Active)[0] のあるところまで、チャネル ボックス(Channel Box)のリストを下方向にスクロールします。
  6. ゴール ウェイトの値を入力します。ゴール ウェイト アトリビュートの設定に関する詳細については、ゴールを参照してください。

セットにシェーダを割り当てる

後処理オプションとしてセット(Sets)を選択した場合は、セットにシェーダを割り当てることができます。

セットにシェーダを割り当てるには

  1. シェーダを作成します。
  2. アウトライナ(Outliner)を開き、ディスプレイ > セット メンバー(Display > Set Members)をオンに設定します。
  3. nameShatterShard# ノードを展開して、セットのメンバーを表示します。
  4. セットのメンバーを選択します。
  5. レンダリング(Rendering)メニューから、ライティング/シェーディング > 既存のマテリアルの割り当て(Lighting/ Shading > Assign Existing Material) > shadername を選択します。