Bullet 2.76 Physics Japanese Manual
2010/11/24更新

Bullet 2.76 Physics SDK マニュアル

13. オーサリングツール


衝突形状、剛体、拘束条件は、3Dオーサリングツールで作成したり、Bulletで読み込むことができるフォーマットにExportすることができます。

 

Dynamica Mayaプラグイン

ウォルトディズニーアニメーションスタジオは、Bulletの衝突形状や剛体のオーサリングを行う社内使用のMayaプラグインを、オープンソースとして提供してくれました。DynamicaはMaya内で剛体シミュレーションを可能とし、またBullet plysicsファイルやCOLLADA Physicsファイルをエクスポートできます。

 

詳細はBullet wikiをご覧ください。DynamicaプラグインのWindows/Mac OSXのプリコンパイルバージョンが http://bullet.googlecode.comにてダウンロード可能です。
Dynamicaのソースコードリポジトリはhttp://dynamica.googlecode.comにあります。


Blender

オープンソースのBlenderは、Bullet physicsをアニメーションおよび内部ゲームエンジンで使用しています。http://blender.orgをご覧ください。
BlendereはCOLLADA Physicsファイルへエクスポート可能です。また衝突形状や剛体、拘束条件も含めて、Blender .blendファイルから直接情報を読み込むプロジェクトもあります。これについてはhttp://gamekit.googlecode.comをご覧ください。


Cinema 4D、Lightwave CORE、Houdini

Cinema 4D 11.5は剛体シミュレーションにBulletを使用しており、またLightwave COREもBulletを使うことを計画していると聞いています。

HoudiniのDOP/pluginについてはhttp://code.google.com/p/bullet-physics-solver/をご覧ください。


シリアル化とBullet .bulletバイナリフォーマット

Bullet 2.76 はワールドのバイナリダンプを保存する機能が強化されました。組み込み機能でオブジェクトや形状をバッファに保存可能となったため、その他追加のライブラリは必要ありません。以下にワールドをバイナリファイル(.bullet)に保存する例を示します。

 

//create a large enough buffer. There is no method to pre-calculate the buffer size yet.
int maxSerializeBufferSize = 1024*1024*5;
btDefaultSerializer* serializer = new btDefaultSerializer(maxSerializeBufferSize);
dynamicsWorld->serialize(serializer);
FILE* file = fopen("testFile.bullet","wb");
fwrite(serializer->getBufferPointer(),serializer->getCurrentBufferSize(),1, file);
fclose(file);

 

Bullet/Demos/SerializationDemo と Bullet/Demos/ConvexDecompositionDemo のデモでは、この.bulletファイルを読み込んだり保存したりする方法を示しています。

.bulletのシリアル化に関するより詳細な情報については、Bullet wikiにある下記エントリをご覧ください。

http://bulletphysics.org/mediawiki-1.5.8/index.php/Bullet_binary_serialization


COLLADA Physicsフォーマットとビューワー

COLLADAは機能豊富な3D仕様であり、衝突や物理情報を含む、XMLを使ったファイルフォーマットです。Dynamica Mayaプラグイン、Blender、その他ソフトウェアは、この標準物理ファイルフォーマットをエクスポート/インポートすることができます。

 

Dynamicaソースリポジトリ(http://dynamica.googlecode.com)では、COLLADA-DOM、libxmlをベースとしたCOLLADA Physicsファイルの読み込み/保存のコード例を提供しています。Dynamica/Demos/ColladaDemoをご覧ください。

 

Dynamica/Extras/BulletColladaConvertarクラスは、COLLADA physicsへの統合例として使うことができます。

inserted by FC2 system