Unreal Engine/게임클래스 - 언리얼엔진 기초

[6강] 카메라의 회전과 벡터의 특성

whereareyoung 2023. 7. 18. 15:31

카메라 회전 구현

세팅 > 프로젝트 세팅 > 입력 

 

1. Axis Mapping 

카메라 마우스로 축회전(-1, 0, 1)을 시킬 것이기 때문에 Axis mapping 기능을 이용해 구현 

   1) HorizontalLook 생성 > 마우스 X 

     * 왼쪽으로 가면 자동으로 Scale -1 오른쪽으로 가면 1 그래서 스케일은 1로 고정 

   2) VerticalLook 생성 > 마우스 Y 

     * Default 값의 경우 위로가면 1 아래로 가면 -1 이나 Vertical Look 은 회전의 반대로 이루어짐. 아래로 가면 고개를 위로 들것이기 때문에 -1 값으로 설정

 

 

2. BP_Player

1) HorizontalLook 축 Event 생성 < Add Controller yaw Input 

   Yaw : 수직 (Z) 방향으로 회전하는 값, 마우스 좌우 움직임 설정을 위해 사용 

2. VerticalLook 축 Event < Add Controller Pitch Input

   Pitch : 위아래 (x) 방향으로 회전하는 값, 마우스 위아래 움직임 설정을 위해 사용

* Controller 함수는 카메라와 관련된 경우가 대다수이다. 

 

3. Spring Arm Component > Camera Settings > Use Pawn control Rotation 토글 활성화 

여기까지 구현하였을 경우 상하 마우스 이동이 되지 않는데 Spring Arm 설정을 바꾸어주면 정상적으로 카메라 구현이 잘 되는 것을 확인 할 수 있다. 

 

 

벡터 특성 이해

벡터는 위치와 방향의 정보를 가지고 있으며 다양한 사용처가 있는데 강의에서 다룬것은 세 가지였다. 

   - 캐릭터, 카메라 이동등을 구현함에 있어 벡터에 대한 기본적인 특성 이해가 중요하다.

   - "정규화 과정(벡터 자신을 나눠 벡터의 크기를 1을 만들어서)" 을 거쳐 사용 하여야 한다는 것을 기억하자

 

1) 위치 벡터 + 위치 벡터 = 위치

2) 위치벡터 + 방향벡터 = 위치 

자신의 전방으로 이동등  

 

3) 위치 + 방향 (이때 방향의 크기는 1을 만드는 normalize과정을 거침) * 크기

절대적으로 100을 곱하는건 아니고 비율만큼 곱해야함 

 

4) 위치 A - 위치 B = (B가 A를 바라보는) 방향  

 

언리얼 자잘한 팁

* Editor 에서 위치 화살표 복사하기 위치 화살표 붙여넣기 빠르게 작업가능 

* 경고 뜨는거 귀찮으면 작업중에만 살짝 빌드 > 라이팅만 빌드

* 오브젝트 > 모빌리티 > 무버블 (이 체크가 되어있어야 움직임이 가능) 

* 언리얼은 Rotation에 있어 360을 쓰지 않고 -180에서 180만 사용