현재 프로젝트에서 플레이어의 카메라는 스프링암 컴포넌트를통하여 거리가 고정되어있습니다.
게임을 진행하면서 좀더 유연하게 거리조절을 하기위해서 마우스 휠의 입력값을 받아와 TargetArmLength에 값을 더할 수 있도록 해보려 합니다.
언리얼 5에서부터는 향상된입력(EnhancedInput)의 사용이 가능하기때문에 내용을 정리합니다.
기존에 정리했던 내용을 바탕으로 추가
https://rhksgml78.tistory.com/534
1. IA생성 및 IMC에 추가하기
입력액션을 생성합니다. 이때 값의 타입은 Axis1D(float) 입니다.
트리거와 모디파이어는 추가하지 않습니다.
생성한 입력액션을 입력 매핑 컨텍스트에 추가하고 마우스 휠키를 지정합니다.
이때도 트리거와 모디파이어는 추가하지 않습니다.
2. C++코드 추가 및 함수 작성하기
입력액션을 사용할 클래스에 객체를 만들고 함수와 바인딩을 진행합니다.
이후 함수에 기능을 만들도록 합니다.
매개변수로 들어오는 Value는 FInputActionValue의 참조형태인데 이때 해당 값을 float 형태로 받아와 임시변수에 넣어주도록 합니다.
주의할점은 휠입입력에 따라 들어오는 값이 -1 or 1 이므로 적절한 값을 곱하여 대입해 주도록 합니다.
마우스휠을 위로 올렸을때 줌인이 되려면 값을 반전시켜야하기때문에 -10의 값을 곱하였습니다.
또한 카메라가 플레이어보다 앞쪽에 위치하거나 너무멀어지는것을 막기위하여 Clamp를 사용하여 최저거리와 최대거리의 범위를 정해두는 것이 좋습니다.
마지막으로 플레이어의 블루프린트 클래스에 UInputAction* WheelAction 선언한 객체에 IA를 넣어주면 완료됩니다.
마우스 휠을 사용한 카메라 거리 조절 테스트
'공부 > Unreal Engine 5' 카테고리의 다른 글
[언리얼5] 프로젝트 스킬 시스템 + 영상녹화시 참고 (1) | 2024.01.29 |
---|---|
[언리얼5] 위젯 애니메이션 사용해보기 (0) | 2024.01.27 |
[언리얼5] 간단한 보스전 컷씬 만들기(레벨 시퀀스) (0) | 2024.01.24 |
[언리얼5] 카메라 흔들림(LegacyCameraShake) (0) | 2024.01.22 |
언리얼5 프로젝트 메모 (0) | 2024.01.19 |
댓글