안녕하세요, FPS = 스타일 카메라를 구현하려고합니다. 마우스 움직임은 작동하지만 마우스를 건드리지도 않습니다. 카메라는 마우스 없이도 모든 각도로 진행됩니다. 기본적으로, 요와 피치는 마우스 자체의 움직임없이 마우스에서 잘못된 값을 얻고 있습니다. 여기 가Direct3D에서 FPS 카메라 구현으로 WM_MOUSEMOVE가 작동하지 않습니다.
case WM_MOUSEMOVE:
gCamera->Yaw() = (float)LOWORD(lparam);
gCamera->Pitch() = (float)HIWORD(lparam);
break;
요 피치 방법은 기본적으로 데이터 멤버 mPitch 및 mYaw에 대한 참조를 반환은 Win32 루프를위한 코드이며,이를 통해, 내가 베이시스 벡터의 회전 (오른쪽, 위쪽 및 보이는 벡터)
그냥 WM_MOUSEMOVE (디버깅을 통해 검사) 입력지고있다.하지만 심지어 마우스를 이동하지 않기 때문에 카메라가 모든 방향으로 회전하기 때문에 매우 높고 매우 잘못된 값을 얻고있다. 그냥 로켓 연료를 먹은 것 같아.
P.S : Yaw와 Pitch를 사용하여 행렬을 만들었 기 때문에 값을 타입 변환해야했기 때문에 저는 수레를 사용해야합니다.
도움을 감사합니다, 여러분
그 위의 한 줄을 보면 아마도 * 중단 *을 잊어 버렸을 것입니다. –
답이 도움이된다면 upvote 또는 선택한 대답으로 표시하십시오. 감사! – DuckMaestro