2024.10.30(수)
TMI: [ 개인강의 + 개인프로젝트 ] 주차가 끝이 났다. 개인 프로젝트에 대한 README를 작성해 보았다.
프로젝트 GitHub 주소: Very_Easy_Game
정말 쉬울까?
점프와 달리기와 여러 아이템을 이용해 목적지까지 도달하는 3D 플랫포머 게임
Delta
값으로 조절하는지 Vector2
값으로 조절하는지 정확히 파악하기private void CameraLook()
{
camCurXRot = mouseDelta.y * lookSensitivity; // <-
camCurXRot = Mathf.Clamp(camCurXRot, minXRotLook, maxXRotLook);
cameraContainer.localEulerAngles = new Vector3(-camCurXRot, 0, 0);
transform.eulerAngles = new Vector3(0, mouseDelta.x * lookSensitivity, 0); // <-
}
이 코드에서 <- 화살표로 표시한 줄의 등호를 +=으로 바꿔야 한다.
마우스 위치가 아닌 마우스 Delta
값(마우스 변화량)을 받아서 변경해주는 것이므로, +=으로 설정해주지 않으면 Look이 제대로 작동하지 않는다.
Input Action
의 Control Type
변경 후, Binding
설정까지 바꾸기private void CameraLook()
{
camCurXRot += mouseDelta.y * lookSensitivity;
camCurXRot = Mathf.Clamp(camCurXRot, minXRotLook, maxXRotLook);
cameraContainer.localEulerAngles = new Vector3(-camCurXRot, 0, 0);
transform.eulerAngles += new Vector3(0, mouseDelta.x * lookSensitivity, 0);
}
다음과 같이 코드를 문제 없이 고쳤는데, Game
화면에서 화면이 Y축으로 빙글빙글 도는 현상이 발생했다.
Y축에서 문제가 있으므로 Y축의 값을 담당하는 mouseDelta.x * lookSensitivity
부분의 값을 고려하여 문제점을 찾았다.
여기서 mouseDelta값을 받아오는 Input Action
에서 Control Type
은 Delta
값으로 되어있지만, Binding
은 Mouse Pos(Vector2)
값으로 되어있는 것을 확인 후 Binding
을 Delta
값으로 바꿔주었다.