*はじめに [#m7e9958e] #contents 物理エンジン「Bullet」の利用方法についてのメモです *Bulletについて [#c7a1dd0a] **Bulletとは [#t0ff3cac] オープンソースの物理エンジンです。~ Zlibライセンス~ FKと同じ右手座標系を用いています。~ 公式HP - http://bulletphysics.org/wordpress/ 日本語マニュアル - http://bulletjpn.web.fc2.com **利用準備 [#mf9409a3] Bullet配布ページ~ - http://bullet.googlecode.com~ CMake配布ページ~ - http://cmake.org/~ ソースコードの配布なのでビルドの必要あり~ Cmakeを使う必要あり?~ Cmake→VisualStudio用のソリューションファイル→VSでコンパイル~ **プロジェクトの設定 [#e50a41b8] 利用したい機能の種類によって設定が変わります~ -すべての機能を利用する場合 --インクルードするヘッダファイル~ btBulletDynamicsCommomn.h~ --インクルードパス~ Bullet/srcフォルダ~ --リンクするライブラリ~ BulletDynamics,BulletCollision,LinearMath~ ~ -コリジョン判定のみ利用する場合 --インクルードするヘッダファイル~ btBulletCollisionCommon.h~ --インクルードパス~ Bullet/srcフォルダ~ --リンクするライブラリ~ BulletCollision,LinearMath~ ~ -最近傍点計算のみ利用する場合 --Demos/ConvexHullDistanceを参照~ *メモ [#m83949b4] **Worldの種類 [#i1e5b7da] **btTransForm [#a019d198] -basis 3*3行列 -origin 位置ベクトル -rotation クォータニオン **CollisionShapeの種類 [#aa578cc8] -移動可 プリミティブ形状~ btBoxShape, btSphereShape, btCapsuleShape,btCylinderShape,btConeShape~ 凸形状~ btConvexHullShape~ (ポリゴンメッシュからの生成も可能。ただし頂点数には注意)~ 複合体~ btCompoundShape~ (複数の凸形状を内包。凹型形状も再現可能)~ btGimpactTriangleMeshShape~ -移動不可 平面~ btStaticPlaneShape~ 無限平面(半無限平面?)~ ハイトフィールド~ btHeightfieldTerrainShape~ メッシュ形状(不動。スケール変更可)~ btScaledBvhTriangleMeshShape~ メッシュ形状(不動)~ btBvhTriangleMeshShape~