비행기 개체가 있습니다. 앞으로 이동하고 좌우로 회전 할 수 있기를 원합니다. 나는 비행기가 직면하고있는 방향으로 나아갈 것을 원한다.OpenGL에서 문제 회전 및 변환
이것은 코드이지만 작동하지 않습니다. 어디에서 잘못 될까요?
directionX=sin(heading*M_PI/180.0);
directionZ=-cos(heading*M_PI/180.0);
if(keys['W']){
eyeX += directionX;
eyeZ += directionZ;
}
if(keys['S']){
eyeX -= directionX;
eyeZ -= directionZ;
}
if(keys[VK_LEFT])
heading -= 1;
if(keys[VK_RIGHT])
heading += 1;
평면은 호를 사용하여 회전하며 eyeX에게 & eyeZ로 환산된다.
//Aircraft
glPushMatrix();
glRotatef(-heading, 0,1,0);
glTranslatef(eyeX,eyeY,eyeZ);
model.speedDisplayFaceNormals();
//model.drawBoundingBox();
//model.drawOctreeLeaves();
glPopMatrix();
어떻게 작동하지 않는지 더 자세히 설명해야합니다. 좌표축의 방향을 선택하는 방법을 설명하는 것도 의미가 있습니다. – unwind
또한 glRotate/glTranslate 코드 또는이 물건이 실제로 매트릭스에 영향을주는 코드를 게시하십시오. –
Ive가 어떻게 사용되는지 추가했습니다 .. – user195257