🎮Unreal4/Blueprint

[UE4] ZoomIn/ZoomOut, Interp To 함수(FInterp To, RInterp To, VInterp To)

공대 컴린이 2023. 2. 13. 18:03
728x90

🔎 ZoomIn / ZoomOut

언리얼 게임 내에서 마우스 휠을 이용한 줌인/줌아웃 기능을 구현해보았다.

먼저, 프로젝트 세팅에서 마우스 휠 축을 이용한 축매핑 입력값을 설정해주고, BP_Player 블루프린트에서 Tick 이벤트에 Zoom에 대한 함수를 호출해주었다.

 

Zoom 입력값이 들어오면 우선 플레이어의 무기가 활(Bow)인지를 검사하고, 활이 아닌 경우에만 줌 기능을 사용할 수 있도록 하였다. (활은 에임모드가 존재하기 때문)

 

Zoom 기능구현에 필요한 변수들을 ZoomData라는 구조체로 만들어 사용하였는데, 그 중 Interp Speed라는 변수는 줌인, 줌아웃 시 부드럽게 축소되고 확대되는 보간 기능에 관련된 변수이다.

 

줌인/줌아웃을 할 때 Interp To 함수를 사용하지 않으면 마우스 휠을 돌릴 때마다 툭툭 화면이 끊기면서 확대/축소되는 모습을 보인다.

 

또한 줌인/줌아웃은 Spring Arm의 TargetArm Length 값을 변경하여 카메라를 땡기고 늘리는 기능을 통해 구현하였다.

💡 Interp To 함수 (FInterp To, RInterp To, VInterp To)

Interp To 함수는 현재 위치로부터 목표까지의 거리에 도달할 때 보간 속도(Interp Speed)를 적용하여 부드러운 추적 느낌을 구현할 수 있는 함수이다.

 

Current에 현재의 위치/값을 넣고, Target에 목표 위치/값을 넣은 후, Interp Speed에 보간 속도를 설정하면 된다. 보간 속도가 0이면 부드러운 동작 없이 바로 Target으로 값이 점프된다.

 

결과적으로 부드러운 줌인/줌아웃 기능 구현이 완료되었다.


참조

https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Math/Interpolation/FInterpTo/

 

FInterp To

FInterp To

docs.unrealengine.com

 

728x90