Utwórz obiekt podążający za kamerą w OpenGL
Tworzę grę wyścigową w OpenGL (tylko mały projekt) i mam problemy z próbą zmuszenia mojego samochodu do śledzenia widoku z kamery.
Nie było trudno sprawić, by podążał za aparatem, gdy kamera porusza się do przodu i / lub do tyłu, ale gdy obracam aparat (patrz w prawo lub w lewo), samochód nadal pozostaje. To znaczy, wciąż porusza się do przodu i do tyłu, ale nie jest przed kamerą (jest z boku).
Oto mój kod (część, w której próbuję go wdrożyć):
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);
}