-
1인칭 시점 구현하기 + 이동Unity/제로부터 구현 2023. 11. 30. 20:58728x90
오늘의 구현
1인칭 시점 만들기
- 마우스 X,Y를 Input.GetAxisRaw로 가져와 델타타임과 마우스 민감도를 곱해줍니다.
- 위아래를 바라보게 하기 위해선 x 축으로 회전 시켜야 하고, 오른쪽 왼쪽으로 회전시키기 위해서는 y축을 움직여 줘야합니다. y축기준으로 회전시킬때 음의 방향이 위를 바라봅니다. 위아래 90도를 넘겨 카메라가 뒤집히는 경우를 방지하기 위해 클램핑 해줍니다.
- 마우스의 움직에 따라 메인카메라의 로테이션을 바꿔줍니다.
- 양옆으로 움직일때 플레이어의 방향도 바꿔주야 하기 때문에 플레이어의 로테이션 y축만 업데이트 해줍니다.
- 플레이어가 내가 원하는 방향으로 움직이게 하기위해 빈 게임오브젝트(body)를 플레이어안에 생성해 이를 이용해 이동 방향을 정해줍니다.
- rigibody.AddForce 로 플레이어를 움직여 줍니다.
float mouseX = Input.GetAxisRaw("Mouse X") * Time.deltaTime * sensX; float mouseY = Input.GetAxisRaw("Mouse Y") * Time.deltaTime * sensY; rotationY += mouseX; rotationX -= mouseY; rotationX = Mathf.Clamp(rotationX, -90, 90); mainCamera.transform.rotation = Quaternion.Euler(rotationX, rotationY, 0); transform.rotation = Quaternion.Euler(0, rotationY, 0); Vector3 dir = body.forward * Input.GetAxisRaw("Vertical") + body.right * Input.GetAxisRaw("Horizontal"); player.playerRg.AddForce(dir.normalized * moveSpeed * 10f, ForceMode.Force);
728x90'Unity > 제로부터 구현' 카테고리의 다른 글
Editor 구현하기 (1) 2023.12.05 같은 맵 계속 반복 시키기(3D). (0) 2023.12.01 짝 맞추기 카드 만들기, 카드 섞기, 리소스를 사용한 스프라이트 설정 (0) 2023.11.28 3D 플레이어 이동 구현(마우스로 방향전환, 키보드로 방향전환) (1) 2023.11.24 마우스 이동에 따른 물체 옮기기, PlayerPrefs를 이용한 최고 점수 저장 밑 불러오기 (0) 2023.11.23