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