마우스 휠업을 하면 캐릭터와 가까워지고, 휠 다운을 하면 캐릭터에서 멀어지는 기능을 구현한다면,
캐릭터에 부착된 Spring Arm Component의 Target Arm Length를 조절하면 된다.

저 빨간 줄이 Target Arm Length다.
C++ 코드로 보면


저걸 조절해주면 되는데,
Enhanced Input 설정이 끝났다는 가정하에 Input Action과 Bind Action만 설명한다.
1. 캐릭터나 플레이어 컨트롤러에 ZoomAction 을 추가하고 Zoom 함수를 만든다.


2. BindAction을 통해 입력처리를 할 콜백 함수를 설정한다.
여기서 트리거 이벤트는 Triggered로 한다. 입력이 들어올 때마다 호출되어야 하니까.

3. Zoom 함수를 정의한다.
if문은 캐릭터에서 Spring Arm Component를 가져오기 위한 과정이고,
실제 코드는 세 줄이다.

3-1. ZoomAction을 통해 들어온 값을 float으로 처리한다.
- 10을 곱한 이유는 휠업 한번에 1씩 가까워지니까 하루종일 휠 돌리고 있어야 해서... 10을 곱해도 조금 느리다.
3-2. (선택사항) 캐릭터가 가지고 있는 타겟 암 길이를 가져온다.
3-3. FMath::Clamp 함수를 통해 최소 값과 최댓값의 범위를 지정해준다.
- 현재 타겟 암 길이가 400인데 너무 가까워지면 캐릭터를 뚫고 가고, 너무 멀어지는 것 또한 게임에서 제공하는 기능으로 적절하지 않다고 판단했다. 길이 조절은 자유
4. 에디터에서 Input Action 생성

값 타입은 float

매핑 컨텍스트에서 설정
휠 업하면 가까이 가야하므로 음수로 처리해야해서 부정

이제 캐릭터 또는 플레이어 컨트롤러에서 인풋 액션 지정

결과

'Unreal Engine > 기능 구현' 카테고리의 다른 글
| [Unreal Engine 5] GameplayTag Container(게임플레이 태그 컨테이너)로 상태 관리(State Component) (0) | 2025.10.16 |
|---|---|
| [Unreal Engine 5] 동일 키 입력, 다른 액션 (0) | 2025.10.16 |
| [Unreal Engine 5] 애니메이션 블루프린트(3) : 캐싱 포즈와 낙하 및 착지 (0) | 2025.10.15 |
| [Unreal Engine 5] C++ : 애니메이션 블루프린트(2) : 이동 (0) | 2025.10.15 |
| [Unreal Engine 5] Blueprint : 애니메이션 블루프린트(1) : 이동 (0) | 2025.10.15 |
