[日誌] Maxでお手軽物理シミュレーション

SONASPHERE 2.0に向けての実験.MaxとJitterをつかった物理シミュレーションの話です.

ここでいう物理シミュレーションというのは,バネと質点のみをつかった本当に簡単なものですが,これだけでもかなりいろいろなことができます.今日はSONASPHEREでもやったメッシュ状の点を使った波のシミュレーションをやってみました.
Picture 5

Max上でシミュレーションをするためのオブジェクト群としては,フランスのCyrille Henryさんのpmpd(Physical Modeling for PD)とNicolas MontgermontさんのMSD(Mass Spring Damper)という二つがあります.それぞれ,質点とバネだけの簡単なモデリングに対応してます.MSDはpmpdを最適化したものだそうです.また,pmpdでは,一つ一つの点やバネに対してオブジェクトが必要なのに対して,MSDでは,複数の物理オブジェクトを一つのオブジェクトでコントロールできるという利点があります.ただ,pmpdでは質点同士の衝突や質点と壁の衝突を簡単に実装できるのに対して,MSDにはその機能がないようなので,用途によって使い分けるといいでしょう.

今回の例は,MSDを使って20 x 20の質点のメッシュを作成し,適宜バネでつないでます(面倒なのでスクリプトを書きました).それだけで… あら不思議,波のような挙動が実現できました.ここまで要した時間はおよそ1時間半.

サンプルのパッチはこちら.MSDはここからダウンロードできます.


ちなみに,名前から分かるようにpmpdは元々PD用のオブジェクトなのですが,Ali MomeniがMax用にポートしてます.Universal Binary版もこちらにあります.

こういう話もMaxの応用例の一つとして今度の勉強会で取り上げたいと思ってます!

Picture 1-5

1 Comment

Join the discussion and tell us your opinion.

nao
March 26, 2007 at 6:29 pm

この実験でわかったこと. メッシュ上の点にあらかじめ張力がかかるように,バネのデフォルトの長さを実際より短く設定するとよい.

Leave a reply