Warning: Use of undefined constant ace - assumed 'ace' (this will throw an Error in a future version of PHP) in /home/luxology/www/web_new/tipsblog/wp-content/plugins/advanced-category-excluder/advanced-category-excluder.php on line 310

Warning: Use of undefined constant ace - assumed 'ace' (this will throw an Error in a future version of PHP) in /home/luxology/www/web_new/tipsblog/wp-content/plugins/advanced-category-excluder/advanced-category-excluder.php on line 310
複数アイテムの衝突によるパーティクルの発生 — MODO 機能紹介・チップスサイト



MODO 機能紹介・チップスサイト このサイトでは、MODOの基本機能やチップスをご紹介していきます。

複数アイテムの衝突によるパーティクルの発生

※こちらはMODO 801での設定方法となっております。MODO 901での設定方法はこちらをご覧ください:

https://www.youtube.com/watch?v=8Dmgcyl-Pck&hd=1

MODO 801からはメッシュシャッターなどの機能も搭載され、ダイナミクスの機能によりメッシュを粉砕する表現が可能になりました。これに伴い、複数メッシュ同士の衝突によるパーティクルの発生方法も、以前のバージョンとは異なりますので、今回はその設定方法をご紹介します。

まずはシンプルなサンプルとして、立方体とそれが落下する床のメッシュを作成します。立方体にはアクティブリジッドボディ、床となるメッシュにはスタティックリジッドボディを適用しておきます。跳ね返りのプロパティの値を少し高めにして、シミュレーションボタンをクリックすると、立方体が床を跳ねるようになりました。

ここで立方体が床に衝突した時にパーティクルを発生するようにしてみましょう。まずはアイテムリストのアイテム追加その他から801で搭載されたDynamic Collision Emitterを追加します。すると、Particle Simulationも追加されたのが確認できます。これが衝突した箇所からパーティクルを発生するためのアイテムとなります。Dynamic Collision Emitterをスケマティックノードへと追加してみると、このノードには放射ソースという入力が用意されているのがわかります。これはどのアイテムからパーティクルが放射されるのかを指定する箇所です。今回の場合は立方体からパーティクルが放射されるようになりますので、立方体をスケマティックビューへと追加し、Dynamic Collision Emitterノードへと接続します。

しかし、この状態でシミュレーションしてもパーティクルは発生しません。これは立方体が何に衝突した時にパーティクルを放射するのかが設定されていないためです。この設定はダイナミクスのプロパティで設定するようになります。立方体のダイナミクスタブを開き、パーティクルカテゴリの中にあるパーティクル放射グループ、この中から衝突先となるアイテムを開きます。今回の場合は床のメッシュを指定します。

ここまで設定してシミュレーションを再生すると、パーティクルが発生するようになります。今回は単数のメッシュアイテムに対してしか設定していませんが、次はメッシュシャッターで粉砕した複数のメッシュに対して、設定してみます。

サンプルのシーンでは、ボールが動き、壁に衝突すると、メッシュがばらばらになります。具体的に言うと、床にはスタティックリジッドボディ、ボールにはキネマティックリジッドボディ、そして粉砕されているメッシュは複合リジッドボディが設定されています。まずは先程と同様、アイテムリストのアイテム追加その他Dynamic Collision Emitterを追加し、スケマティックビューへと追加します。

Dynamic Collision Emitter放射ソースには粉砕するメッシュすべてを接続したいのですが、一つ一つのメッシュをスケマティックビューへと追加し接続する必要はありません。この放射ソースにはアイテムをいくつも同時に接続することもできますが、それをグループにまとめて接続することも可能です。では、この粉砕したメッシュをひとつのグループへとまとめましょう。アイテムリストから粉砕用のメッシュをすべて選択し、グループのタブから新規でグループを作成します。名前はCollosionGroupとでもしておきましょう。このグループをスケマティックビューへと追加し、Dynamic Collision Emitter放射ソースへと接続します。

次にこの粉砕メッシュのダイナミクスの設定に対してパーティクルの放射を設定します。粉砕のメッシュには複合リジッドボディが適用されていますので、複合リジッドボディのダイナミクス設定にあるパーティクル放射グループから、同様に先ほど作成したCollisionGroupを設定します。

シミュレーションしてみると、衝突した箇所からパーティクルが発生するようになったのが確認できます。

2014年5月27日