[Blender 2.8] オブジェクトを使った爆発のシミュレーションを作成するのに便利な、爆発モディファイアーの機能と使い方のご紹介
今回の記事は、Blenderの『爆発モディファイアー』についてです。
『爆発モディファイアー』は、そのオブジェクトによって放出されたパーティクルをおおまかに追跡するように面を移動/回転することでメッシュジオメトリを変更し、メッシュが爆発している(分割されて外側に押し出されている)ように見せるために使用されます。

このモディファイアーに目に見える効果を持たせるには、オブジェクトに『パーティクルシステム』の付与が必要です。この『パーティクルシステム』で、メッシュの爆発方法をコントロールします。
『パーティクルシステム』について、詳しくは下記記事をご覧ください。
放出されるパーティクルの数と面の数の両方で、『爆発モディファイアー』の粒度を決定します。より多くの面とより多くのパーティクルを発生させれば、より多くの断片が発生します。
必要なデータを取得するために、モディファイアースタック内の配置は、『パーティクルシステム』の1つ後に『爆発モディファイアー』という並びにする必要があります。

目次
まず最初に

『爆発モディファイアー』を追加したいオブジェクトを選択しておき、[プロパティエディタ]>[モディファイアー]>[モディファイアーを追加]ボタンをクリックすると表示される一覧から、[爆発]という項目を選びます。
追加されると↓のように表示されます。

基本的な使い方
ここでは、一番簡単な使い方をご紹介します。
とは言っても、一番簡単な方法は、1, 2操作くらいで出来てしまうくらい本当に簡単です。
- まずは、爆発させたいオブジェクトを用意して、[オブジェクト]>[クイックエフェクト]>[クイック爆発]を選択します。

- 再生([スペースキー])すると、爆発します。

これだけ。
[爆発]の詳細設定項目一覧
- [頂点グループ(Vertex Group)]
- [パーティクルのUV(Particle UV)]
- [辺をカット(Cut Edges)]
- [発生前(Unborn)]
- [生存(Alive)]
- [消滅(Dead)]
- [サイズ(Size)]
- [更新(Refresh)]
[頂点グループ(Vertex Group)]
ここでは、『爆発モディファイアー』の影響を受けなくさせる頂点を設定出来ます。”1.0″のウェイトの頂点はまったく影響を受けませんが、ウェイトが少ない頂点は影響を受ける可能性が高くなります。
ウェイトがnullの頂点は、グループに所属していない頂点と同様に扱われ、通常通り爆発します。
『頂点グループ』そのものについてや、基本的な扱い方などは下記記事をご覧ください。
例えば、↓のようなグラデーションになるようにウェイトを割り当てた頂点グループを用意します。

その頂点グループをこの項目に設定して、シミュレーションしてみると、ご覧の通り、”1.0″に近いウェイトを割り当てた下部ほど爆発せずに残って、”0.0″に近いウェイトを割り当てた上部ほど爆発して散っていっているのが分かるかと思います。

[保護(Protect)]
頂点グループの辺を綺麗にします。頂点グループに割り当てられたウェイトに応じて、それらの面が『爆発モディファイアー』の影響から完全に保護される(面のウェイト値が”1.0″の時に発生する様に)か、またはそれらの面から保護を完全に削除します(面のウェイト値”0.0″の時に発生する様に)。
[保護]の値を”0.0″に設定した時には、爆発して散っている部分が中央辺りでまばらに存在するのに対し、[保護]の値を”1.0″に設定した時には、爆発して散っている部分とそうでない部分が中央辺りでくっきりと分かれているのがわかります。


[パーティクルのUV(Particle UV)]
設定されている場合、そのUVマップの座標のU値は、一致するメッシュ面にアタッチされたパーティクルの経過時間で上書きされます(比例して、まだ作成されていないパーティクルの”0.0″から、削除されたパーティクルの”1.0″まで)。
UVマップの座標のV値は、一定の”0.5″値に設定されます。
これにより、例えばU軸に沿って色のグラデーションを持つテクスチャを使用することにより、断片(面)の色を「爆発」フェーズ中に変化させる、といった事が可能になります。
「基本的な使い方」でもご紹介した[オブジェクト]>[クイックエフェクト]>[クイック爆発]で『爆発モディファイアー』を設定した場合、デフォルトで”Explode fade”というUVマップが自動で作成され、設定された状態になっています。

そして、それと共に、マテリアルも自動で”Explode fade”というものが作成され、オブジェクトに割り当てられるようです。
ちなみに、UVマップ”Explode face”は、↓画像の左上の[UVマップ]ノードで使用されています。このUVマップから、パーティクルの経過時間が読み取られ、経過時間によって色が変化するマテリアルが作成出来るわけです。

このデフォルトのマテリアルだと、経過時間によって徐々に透明に変化していくように設定されています。

[辺をカット(Cut Edges)]
既存の面を使用する代わりに、放出されたパーティクルの位置に基づいてメッシュを断片に分割します。これにより、通常よりランダムに分割されます。


[発生前(Unborn)]
アタッチされたパーティクルの発生前に面を表示します。
パーティクル発生のタイミングは、『パーティクルシステム』の設定の[開始フレーム]と[終了]で決まります。
画像の例だと、”9″フレームまでですね。
[生存(Alive)]
アタッチされたパーティクルが生存中に面を表示します。
補足として、「生存中」とは、パーティクル発生からそのパーティクルの[寿命]が尽きるまでです。
画像の例だと、”10~59″フレームまでとなります。
[消滅(Dead)]
アタッチされたパーティクルが消滅後に面を表示します。
補足として、「消滅後」とは、パーティクルの[寿命]が尽きた後の事です。
画像の例だと、”60″フレーム以降という事になります。



[サイズ(Size)]
パーティクルが生存していたら、アタッチされたパーティクルのサイズを使用して各面をスケーリングします。
パーティクルのサイズは、『パーティクルシステム』の[拡大縮小]で操作します。

[更新(Refresh)]
『爆発モディファイアー』のデータを更新します。
おまけ: 作ってみた物
今回は単純に風船を破裂させてみました。

作り方という程の事もしてないのですが、サラっとご紹介。
メッシュで風船の形を作ったら、[クイック爆発]で爆発するように設定した後、『クロスシミュレーション』を付与して、[クロス]>[物理プロパティ]>[圧力]を有効化しただけです。


『クロスシミュレーション』について、詳しくは下記記事をご覧ください。
参考にさせて頂いたサイト・ページ一覧
- Explode Modifier — Blender Manual
- particles – Dissolve Texture – Blender Stack Exchange
- Tutorial I Dissolving Objects in Blender – YouTube
モディファイアー関連の記事のご紹介
この記事の他にも、Blenderの様々なモディファイアーについて、機能や使い方を私自身も試しながらではありますが、ご紹介させていただいております。よろしければ、こちらも併せてご覧ください。
変更
- データ転送
- メッシュキャッシュ
- メッシュ連番キャッシュ