コンパウンドをシャシーとした弾丸車両を作成しましたが、コンパウンドはシャシーと砲塔の2体で構成されています。
次のようにタレット変換と opengl マトリックスを取得できます。
// get chassis and turret transforms
btTransform chassisTransform = m_vehicle->getChassisWorldTransform();
btTransform turretTransform = compound->getChildTransform(1);
// multiply transforms to get updated turret transform
turretTransform *= chassisTransform;
// get turret matrix
btScalar turretMatrix[16];
turretTransform.getOpenGLMatrix(turretMatrix);
この行列から砲塔の前方/方向ベクトルを取得しようとしています。これは、カメラを砲塔の位置と方向に固定するために必要です。
私が試したのはこれです:
btVector3 turretForwardVector = btVector3(turretMatrix[2], turretMatrix[6], turretMatrix[9]);
しかし、これでは正しいベクトルが得られません。
この行列のベクトルを正確にどこで探す必要がありますか?