Lassen Sie ein Objekt in OpenGL der Kamera folgen

Ich mache ein Rennwagenspiel in OpenGL (nur ein kleines Projekt) und habe Probleme, mein Auto dazu zu bringen, der Kameraansicht zu folgen.

Es war nicht schwer, es der Kamera folgen zu lassen, wenn sich die Kamera vorwärts und / oder rückwärts bewegt, aber wenn ich die Kamera drehe (nach rechts oder links schaue), bleibt das Auto stehen. Ich meine, es bewegt sich immer noch vorwärts und rückwärts, aber es ist nicht vor der Kamera (es ist auf der Seite).

Hier ist mein Code (der Teil, in dem ich versuche, ihn zu implementieren):

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);

}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage