1
我正在OpenGL(只是一個小項目)中製作賽車遊戲,我在試圖讓我的車跟隨攝像頭視圖時遇到問題。使對象跟隨OpenGL中的攝像頭
隨着相機向前和/或向後移動,使相機跟隨相機並不難,但是當我旋轉相機(看右或左)時,汽車仍然保持靜止。我的意思是,它仍然向前和向後移動,但它不在攝像機前面(它在側面)。
這裏是我的代碼(這裏我嘗試實現它的部分):
void updateCam() {
gluLookAt(posX,posY + 0.025 * std::abs(sin(headPosAux*PI/180)),posZ,
posX + sin(roty*PI/180),posY + 0.025 * std::abs(sin(headPosAux*PI/180)) + cos(rotx*PI/180),posZ -cos(roty*PI/180),
0.0,1.0,0.0);
listenerPos[0] = posX;
listenerPos[1] = posY;
listenerPos[2] = posZ;
source0Pos[0] = posX;
source0Pos[1] = posY;
source0Pos[2] = posZ;
GLfloat distD;
distD = posZ - 3.3;
//makes the car "follow" the camera
modelPOR.Translate(posX,posY,distD);
}