Bullet その5 ポイントジョイント

Bulet その5はBulletで使えるジョイントのひとつである、ポイントジョイントを扱います。

ポイントジョイントは、ある点でつながれたジョイントで、特に制限はかけられません。

では、以下実装です。

追加のヘッダ
#include <BulletDynamics/ConstraintSolver/btPoint2PointConstraint.h>

生成方法

btRigidBody body1; //剛体1
btRigidBody body2; //剛体2

btVector3 pivod1( 0.0f, -2.0f, 0.0f ); //剛体1からある点までの距離
btVector3 pivod2( 0.0f,  2.0f, 0.0f ); //剛体2からある点までの距離
btTypedConstraint* constraint = new btPoint2PointConstraint( body1, body2, pivod1, pivod2 );
constaint->buldJacobian();

g_World->addConstraint( constraint );

削除方法

g_World->removeConstaint( constraint );

delete constraint;

剛体の生成はBullet その1のCreateBoxを使用してください。
pivodを生成した形状のサイズより短くすると、おかしな動きをするので気をつけてください。

動きが分かりにくかったら、片方の剛体のmassを0に設定して動かないようにするといいです。

タグ:

+ タグ編集
  • タグ:
最終更新:2011年01月30日 20:32
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。