フリースクリプトで簡単に破壊、衝突シミュレーション

2013/05/09

3dsmax Dynamics MassFX Maxscript

t f B! P L
3dsmax2012から物理シミュレーション機能「MassFX」が搭載されて、動作も軽く今までよりも良い感じです。しかし、新しい機能の使い方を覚えるのはちょっと億劫ですよね・・・。

ということで、フリーのスクリプトを活用して、ちょっとした時に簡単に行える破壊と衝突シミュレーションのワークフローです。

■下準備 オブジェクトの分解 「Fracture Voronoi」を使用

破壊or衝突シミュレーションをしたいオブジェクトを分割します。レンガなど、すでに分割されているようなオブジェクトなら必要はないでしょう。(さらに細かく破壊したいときは別ですが)
"Pick Object"から 分割したいオブジェクトを選択して、"NbParts"と"Iterations"で分割の細かさを設定します。真ん中の少し下にある"Break in ***"ボタンを押すと分割が行われます。
(このほかにもAdvanced Fragmenterという高機能な分解スクリプトもあるようです。)

user inter faace and result image


※MassFXはデフォルト状態だと、z軸方向が0の位置を衝突判定する地面としてシミュレーションを行うので、破壊されたオブジェクトがz軸方向0以下にまで落下するようにしたい場合は、Animation > Simulation-MassFX > Utilities >show MassFX Tools からMassFX Toolsウィンドウを出して、worldタブの"Use Ground Plane"のチェックをオフにしてください。


■破壊したいとき「KaBoom MassFX」を使用


下準備で分解したオブジェクトの破片たちを選択し、"Selection > Rigid Bodies"ボタンを押すと、自動的にMassFXの設定が行われます。
"Select the Bomb"ボタンを押すと破壊の中心点と影響範囲を指定するオブジェクトが選択されます。"Bomb range"で破壊の影響範囲、"Bomb power"で強さを設定します。
"Start frame"でシミュレーションの開始時間を指定し、"!!KABOOM !!"ボタンを押すとシミュレーションが開始され、"Stop Sim"でシミュレーションを止めます。
シミュレーションが終了すると、各破片オブジェクトにアニメーションがベイクされています。"Reset Animation"でシミュレーション結果をリセットできます。

KaBoom MassFX user interface



■衝突させたいとき 「Krumbler」を使用

下準備で分解したオブジェクトの破片たちを選択し、"Selection > Rigid Bodies"ボタンを押すと、自動的にMassFXの設定が行われます。
"Select the WreckingBall"ボタンを押すと衝突の中心点と影響範囲を指定するオブジェクトが選択されます。"Ball Size"で破壊の影響範囲、"Motion"で強さを設定します。
"Krumble !"ボタンを押すとシミュレーションが開始されます。シミュレーション範囲はタイムラインの幅分で行われます。"Reset Animation"でシミュレーション結果をリセットできます。

Krumbler user interface

※トライ&エラーについて

両スクリプトともアルファ版のためか、ResetAnimationボタンだけではシミュレーションを完全にリセットできないようで、設定を変えて再度シミュレーションする前にはMassFXToolbarを呼び出して、ResetSimulationボタンも押す必要があるようです。


破壊、衝突の影響元となる形状が球体なので、細かい判定はできませんが、知識がなくてもかなり簡単にできるのでお試しあれ。


ブログ内検索:Search

Translate

ブログ アーカイブ

ラベル

Blogリンクタグ

QooQ