我已经创建了一个带有复合体作为底盘的子弹车,复合体由两个车身组成,一个底盘和一个炮塔。
我可以像这样获得炮塔变换和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]);
但这并没有给我正确的向量。
我到底要在哪里寻找这个矩阵中的向量?