Bullet Physicsについてあれやこれと

Bullet Physics はオープンソース物理エンジン中至高のエンジンです。

2005年にOpen Sourceとなりリリースの速度が以上に速いことで有名です。

その他の物理エンジンとしてはオープンソースのエンジンとしてはODEとかNewtonが有名です(ODEはロボットシミュレーションであるWebotや商用ゲームにも使われていたりします)

このBulletというエンジンは、Havok社に勤めていた Erisonさんがリーダーとなり現在鋭意成中といます。クロスプラットフォームというわけでWindows, Mac OS X, Linux等の各種プラットフォームで利用可能です

使用可能言語は C++ (C# for XNA) あたりかと見受けられます。


開発メンバーはドキュメント等を見る限りSCE USAの人が多いと感じられます。まぁ実際にPS3の中にBulletに入っていたりCellのために最適化されていたりしている物理エンジンなわけだったりします。
(Cell用のためのコーディング部分が見受けられる)

BulletはOpen SourceのCGソフトであるBlender内にも搭載されており、Blenderで作成した
モデルをBulletでリアルタイムシミュレーションなどできて非常に面白いです。これは、
3ds MaxやMaya等に入っているReactor(中身はHavok エンジン) と比較すると非常に面白い


商用 vs Open Source

3ds Max, Maya + Havok vs Blender + Bullet

連合の競合関係がある事が見受けられます。まぁBlenderは結構面白いソフトなのですがUIとか
結構ダメダメだったりするので色々と改良してほしかったりしますが。。

とまぁ結構凄いエンジンなのですが、実際に使うとなるとすると結構問題が出てきます。


まず第一に日本語のドキュメントがほぼ皆無!! 

である事があげられます。まぁ研究室内部だとか、ゲーム会社内部(使われてるか不明)の資料はあるのでしょうがWeb Resourcesは非常に少ないです 


じゃあ、英語の本家に行けばいいの? となると返答としてはYES!! です・

とはいえど、一番頼りになるリソースはそこであるけれどもドキュメント類の
不足は否めません。

単純なHello Worldのサンプルはあるのですが

これは重力落下運動のシミュレーションでCUIシミュです。どんなものかというと、落下シミュレーションを
してそのログをとってシミュレーションできたね!! Hellow World は成功
物理エンジンが可視化されないというのは非常に味気ないものです。

結論としてとりあえずBulletを使いたい人はデモのソースを読解するのが一番手っ取りばやい!!という事になります。

しかし、実際のところあんまり手っ取り早くもなかったりします。。。 なぜかというと、このデモというのは
Bulletのソースをコンパイルするときに作られるlibbulletopenglsupportに完全に依存しているからです!!

具体的に言うと、全てのサンプル(Hello Worldを除く) は、libbulletopenglsupport.libの内部にある
DemoApplication を親クラスを継承して使っているのでDemoApplicationクラスのソースをそこそこ理解する
必要性があります。(理解しなくてもサンプルいじるぐらいなら容易ですけど)

つづくかも。。。