나는 작은 자동차 시뮬레이션을위한 기초로서 Opengl을 사용하고 있습니다.3D 오브젝트의 위치에 따라 회전 카메라
나는 모델 자동차를 가져 왔고 주위를 잘 돌아 다니며 카메라가 그것을 따라 간다. 불행하게도 나는 차가 돌아 왔을 때 카메라의 위치를 움직일 수 없다. 그냥 그 자리에서 회전합니다.
예를 들어 자동차가 좌회전하면 카메라가 뒤따라 회전하지만 차 뒤쪽으로 직접 이동하지 않습니다.
나는이 질문을 here과 here으로 보았지만 여전히 작동하지는 않습니다.
velocity.x = sin(rotX_rad);
velocity.z = cos(rotX_rad);
globalPos.x + velocity.x*delta;
globalPos.z + velocity.z*delta;
glTranslatef(globalPos.x,globalPos.y,globalPos.z);
glRotatef(rotX, 0.0, 1.0, 0.0);
을 그리고 이것은 내가 바라보기 기능이 어떻게 현재 :
내가 차의 위치를 계산하는 방법이있다 (그것은 단지 지금은 XZ 평면에 드라이브)
gluLookAt(camX+globalPos.x,
camY+globalPos.y,
camZ+globalPos.z,
lookX+globalPos.x+sin(rotX_rad),
lookY+globalPos.y+cos(rotX_rad),
lookZ+globalPos.z-cos(rotX_rad),
camNX, camNY, camNZ);
을 (Y는 Z 위치)
:
I이 같을 카메라하고자 내가 뭘하고 있지 않다
....
camX + globalPos.x+ sin(rotX_rad)*(distFromCar),
camY,
camZ + globalPos.z- cos(rotX_rad)*(distFromCar),
하지만 이상하게 동작합니다
내가 볼때, 그것은되어야 하는가?
+1의 경우에는 작동하지 않습니다. :) – SAKrisT