저는 OpenGL (단지 작은 프로젝트)에서 racecar 게임을 만들고 있고, 카메라보기를 따라 차를 만들 때 문제가 있습니다.OpenGL의 카메라를 따라 객체를 만듭니다.
카메라가 앞으로 및/또는 뒤로 움직이면서 카메라를 따라가는 것은 어렵지 않았지만, 카메라를 회전 (오른쪽 또는 왼쪽보기)하여 자동차의 레메어를 계속 보았습니다. 내 말은 여전히 앞뒤로 움직이지만 카메라 앞쪽에 있지 않습니다 (옆에 있습니다). 나는 문제가 당신이 아닌 modelPOR.Translate
을에하는 gluLookAt의 중심 위치를 변경하는 것이 생각
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);
}