본문 바로가기

Unreal/Udemy 강의

Unreal Engine 4 C++ The Ultimate Shooter Course Section 4-2

Aiming Zoom Interpolation

현재 줌으로 화면을 전환할 때 화면이 부드럽게 움직이지는 않는다.

이번엔 이를 더 부드럽게 줌인아웃이 되도록 수정해보자.

 

먼저 줌인 했을 때 더 가깝게 보이고 조준점 위치를 줌인 상태에 맞게 위치하도록 관련된 값들을 다소 조정해주었다.

줌 했을 시 더 가까워진 모습

 

이제 줌인아웃시 부드럽게 전환되기 위한 보간 속도를 선언해주자.

그리고 매번 시야값을 얻기 위한 변수도 선언해주었다.

 

마찬가지로 생성자에서 초기화 해주자.

 

CamerCurrentFOV 값은 마찬가지로 BeginPlay() 함수에서 기존에 설정했던 디폴트 값으로 설정해주자.

 

이제 Tick 함수에서 매번 현재 카메라의 FOV 값을 얻으며, 이를 목표 FOV 값에 맞게 보간해주자.

기본적으로 현재 카메라 FOV 값으로 카메라를 세팅하며, Aiming 여부에 따라 현재 FOV 값을 다르게 설정한다.

이때 FInterpTo 함수를 이용하여 현재 값과 목표 값에 대해 보간을 적용해준다.

 

이러면 기존의 줌 여부에 따라 bAiming 값 설정과 동시에 카메라 설정했던 부분을 지워주자.

 

이제 컴파일하면 전보다 훨씬 부드럽게 설정했던 보간 속도를 따라 보간되어 전환되는 모습을 볼 수 있다.

보간 속도를 조정하고 싶으면 Zoom Inter Speed 값을 취향에 맞게 변경해주면 된다.

 

추가적으로 Tick 함수를 깔끔하게 만들기 위해 기존 내용을 함수로 만들어서 빼주었다.