목표 설정
1. 언리얼 3인칭 템플릿으로 프로젝트 생성
2. 프로젝트 시작시 캐릭터가 박스 근처에 서면 상호작용 키로 Box 들어 올리기
3. 캐릭터가 박스를 드는 모션 제작
4. 박스를 들어 올린 상태에서 마우스 왼쪽 버튼를 꾹 누르고 있으면 박스를 차징하는 모션 발생
5. 마우스 왼쪽 버튼을 떼면 차징 된만큼 박스가 나아가는 기능 만들기
글쓴이는 언리얼 에디터 5.4.4로 진행
[UE5 TIL] 3인칭 템플릿으로 BOX 던져보기 1
목표 설정1. 언리얼 3인칭 템플릿으로 프로젝트 생성2. 프로젝트 시작시 캐릭터가 박스 근처에 서면 상호작용 키로 Box 들어 올리기3. 캐릭터가 박스를 드는 모션 제작4. 박스를 들어 올린 상태에
kirinunreal.tistory.com
- 상호작용 키 만들기


BP_Box(자신이 제작한 블루프린트 이름)으로 변수를 선언해 주었다.
Is In Range가 True라면 BP_Box블루프린트 클래스를 가진 사물의 시뮬레이션을 끄고 BP_Box 블프린트 클레스 안에있는 Lift Box라는 이벤트를 실행한다.

BP_Box의 스테틱 메쉬 디테일 패널에 시뮬레이션을 체크하여 시뮬레이션을 적용해 준다.

박스 콜라이더에 오버랩된 상태일 때 캐스팅된 블루프린트의 Is In Range를 True로 만들어준다.
그리고 interact box가 자기 자신임을 지속적으로 알려준다.

오버랩이 끝나면 캐스팅된 블루프린트의 Is In Range를 false로 만들어주는 노드도 함께 만들어준다.
- 동영상
- 박스 움직이기

BP_Box의 이벤트 그래프에서 커스텀 이벤트 노드를 선택한다.

커스텀 이벤트의 이름을 적당해 지어준 다음 TimeLine과 Lerp vector (보간*) 노드를 이용해 캐릭터 곁으로 가져온다.
*보간이란?
보간(Interpolation)은 두 값 사이의 중간값을 계산하여, 시간에 따라 자연스럽게 변화하도록 만드는 기법이다.
예를 들어, 시작 위치가 (0, 0, 0)이고 목표 위치가 (0, 0, 100)일 때,
보간 없이 위치를 즉시 바꾸면 오브젝트가 순간이동하는 것처럼 보인다.
하지만 `Lerp(Vector)` 함수를 사용하면, 0에서 1까지의 비율(Alpha 값)에 따라
(0, 0, 0) → (0, 0, 20) → (0, 0, 50) → (0, 0, 75) → (0, 0, 100) 등으로 점진적으로 위치가 변경되어
자연스럽고 부드러운 움직임을 만들 수 있다.
- Lerp 함수의 A 인자는 시작 위치 (예: 박스의 현재 위치)
- B 인자는 목표 위치 (예: 플레이어 위치)
- Alpha는 0~1 사이의 진행 비율이며, Timeline 등을 통해 시간에 따라 변화시킬 수 있다.
결과적으로, 보간은 시간 기반 애니메이션이나 부드러운 이동, 자연스러운 추적 등에 매우 유용하다.

float 트랙을 추가하여 이름을 Height로 설정하였다.
트랙에서 마우스 오른쪽 버튼을 눌러 시간 0, 값 0 키 하나 시간 1, 값 1 키를 추가하였다.
타임라인에 Height 핀을 Alpha에 꽃고 Lerp vector의 리턴 값을 자신의 Location으로 설정하면 완료 된다.
박스를 들어올리는 것이 간단해 보였지만 의외로 복잡했고 공부할 것도 조금 있었다.
다음은 플레이어 캐릭터에 붙혀서 이동하는 Attach 기능을 만들어 보고싶다.
'UE5 부트캠프(TIL)' 카테고리의 다른 글
| [UE5 TIL]본 캠프 - Fab 에셋을 이용하여 맵 꾸미기 (0) | 2025.05.20 |
|---|---|
| [UE5 TIL] 본캠프 - 아이스 브레이킹 (0) | 2025.05.19 |
| [UE5 TIL]사전캠프 - 캐릭터 Blueprint 생성 및 이동 설정 (0) | 2025.05.09 |
| [UE5 TIL] 사전 캠프 - 에셋 다운로드 및 커스터마이징 실습 (0) | 2025.05.09 |
| [UE5 TIL]사전캠프 - 조명과 머티리얼 기본 적용 (0) | 2025.05.09 |