Flashで物理演算 Box2D
最近、Box2DFlashAS3をちょっと勉強してます。
Box2Dは、もともとC++の物理演算ライブラリで、それをFLASHでも使用できるように、AS3に書き換えられたライブラリだそうです。右は、そのサイトとサンプルです。キモイくらい、すごいです。(左右キーを押すと別のサンプルが見れます)

Box2DFlashAS3 2.0.0
用途
2Dゲームをつくるのには、かなりお役立ちだと思います。
スーパーマリオもつくれるんちゃうかな?
それ以外では、、、まあ、アイデア次第ですかねぇ。
プロモーションコンテンツとかでは、アクセントで使えそうです。
注意点
もともとドキュメント少ないですが、最近、2.0にバージョンアップしたらしく、
さらにドキュメント少ないです。2.0になって、廃止・変更が多くあるようなので、
前のバージョンで書かれた解説のコードとか、動かない場合があります。
未定義エラーが出る場合は、ソースコードみて、調べるのが早いです。
あと、あまり手軽ではありません。
参考になるサイト
以下、参考にさせてもらってるサイトです。
Box2DFlashAS3本家サイトです。
Box2Dのクラス解説。英語。
Box2Dの英語のマニュアルです。
C++用のライブラリのマニュアルなんで、FLASH用のBox2DFlashAS3には、
当てはまらない部分もあるらしいのですが、参考になります。
上記のマニュアルを日本語訳し公開されてます。ありがとうございます。
軽くさわってみるところから、ジョイントや、マウス操作など、つっこんだ内容があります。
Box2Dでゲームをつくられた方が、記事をかいてはります。ゲーム、ようできてます。
順序だてて解説してはるので、わかりやすいです。
弊社のFLASH担当の和田くんのブログ。そのBox2Dのエントリーです。
PaperVisionと組み合わせてるところが、グーです。
Box2Dは物理演算の結果を、自由にアウトプットに関連付けられるので、
こうゆう使い方もできるんですね。
ちょろちょろ教えてもらってます。
物理演算といえば、やっぱり3Dソフトがスゴイ
FLASHは、ちょっとおいといて、3dsMaxには、スーパーな物理演算機能が組み込まれています。もちろん3Dで物理演算してくれます。(Box2Dは2次元)3Dソフトなので、FLASHで使用するには、あらかじめレンダリングした動画を、FLVにて組み込む形になります。
Box2Dのように、リアルタイムでは無理ですが、表現力は圧倒的なので、アクセントとして使うと効果的だと思います。
設定も簡単です。
3dsMaxの物理演算の特徴
- 設定項目がすごく多く、複雑に作りこめる。重さだけ設定して動かしても、そこそこ面白い。
- Box2Dはリジッドボディ(硬いオブジェクト)のみですが、3dsMaxはソフトボディ(ゴムのように柔らかいオブジェクト)や、布のようなオブジェクトも扱える
- スペースワープを適用できる(風とか)
まあ、3Dソフトはコストがかかるので(値段と、習得に要する時間)、
お手軽ではないですが。
3dsMaxの物理演算の簡単なサンプル
以下は、3dsMaxで簡単に物理演算を試してみた過去のエントリーです。
こんくらいなら、簡単です。
Flash / Papervision3Dで いろいろモデルを動かしてみる
3dsMaxの物理演算結果を、FLASHに組み込むには
- レンダリング済みの動画をFLVにして組み込む。複数の動画を用意して、組み合わせ使うのもよし。
(よくある手法)
- MaxScriptで、位置や回転情報を、1フレームずつ数値でテキストに書き出し、FLASH側でオブジェクトに関連づける。
(やったことないけど、多分可能)
以上です。