이번 실습에서는 언리얼 엔진 5를 활용해 성격이 다른 두 가지 맵을 제작했습니다. 하나는 순발력이 필요한 '장애물 피하기 맵', 다른 하나는 다양한 기믹을 체험하는 **'상호작용 공간'**입니다.
🗺️ Map 1. 장애물 피하기 (Obstacle Course)
이 맵의 핵심은 자동화된 장애물과 도착 지점(Goal)의 판정입니다.
- 동적 장애물 구현:


- BP_Obstacle 액터를 만들어 일정한 범위를 왕복하는 로직을 짰습니다.
- Tick 노드에서 Delta Time을 곱해 프레임에 독립적인 일정한 속도를 구현한 것이 핵심입니다.
- 각 장애물을 클릭해 속도(Speed)를 다르게 설정하여 난이도를 조절했습니다.
- 회전 트랩:
- AddActorLocalRotation을 사용해 제자리에서 도는 회전 장애물을 배치해 점프 타이밍을 요구하도록 설계했습니다.
- 클리어 시스템:
- 맵 끝에 BP_Goal을 배치하고, 캐릭터가 닿으면 Clear UI 위젯을 생성합니다.
- Set Input Mode UI Only를 통해 게임 조작을 막고 마우스 커서를 활성화해 다음 단계로 넘어갈 수 있게 했습니다.





🗺️ Map 2. 상호작용 공간 (Interaction Space)
두 번째 맵은 플레이어가 직접 E 키를 눌러 환경을 변화시키는 기능 위주로 구성했습니다.

- E 상호작용 엘리베이터:
- 단순 이동이 아니라, Box Collision 내부에 있을 때만 E 키 입력을 받도록 Enable Input을 활용했습니다.
- Timeline과 Lerp를 결합해 아주 부드럽게 가속/감속하며 움직이는 엘리베이터를 완성했습니다.
- 방어 코드: 엘리베이터가 움직이는 도중(Is Playing)에는 입력을 씹게(Ignore) 만들어 로직 꼬임을 방지했습니다.

- 전망대 타워 디자인:
- Modeling Mode의 Pipe 툴을 사용해 내부가 뚫린 원통형 전망대를 제작했습니다.
- 유리 재질(Glass Material)을 적용해 전망대 특유의 개방감을 주었으며, 엘리베이터의 도착지를 이 전망대 높이에 맞췄습니다.

📝 오늘의 트러블슈팅 (Troubleshooting)
- 대각선 이동 오류: 엘리베이터 목적지 설정 시 X, Y값이 섞여 대각선으로 날아가는 현상을 확인했습니다. 목적지 벡터의 X, Y를 0으로 맞추거나 시작 위치의 X, Y를 고정해 해결했습니다.
- 재시작 후 조작 불능: 리플레이 시 게임 정지를 풀지 않거나 입력 모드를 돌려놓지 않으면 캐릭터가 굳어버립니다. Set Game Paused(False)와 Set Input Mode Game Only를 잊지 말아야 합니다.
🎯 마무리하며
장애물 맵에서는 **수학적 계산(벡터, 방향 반전)**을, 상호작용 맵에서는 **이벤트 흐름(입력 제어, 타임라인)**을 깊이 있게 다뤄볼 수 있었습니다. 다음 프로젝트에서는 이 기능들을 조합해 더 복잡한 퍼즐 요소를 넣어볼 계획입니다.
'TIL' 카테고리의 다른 글
| [UE5] 타임라인(Timeline)으로 구현하는 부드러운 총기 반동과 에임 복귀 (0) | 2026.04.22 |
|---|---|
| [UE5] 1인 레이드 프로토타입 제작기 (1) - 전투 시스템 기초 설계 (0) | 2026.04.21 |
| [UE5] 에셋 배치부터 실시간 상호작용 시스템까지 (1) | 2026.04.15 |
| [UE5] 블루프린트 액터 이동 및 회전의 모든 것 (1) | 2026.04.13 |
| Fab(팹) 플랫폼 에셋 탐색 및 라이브러리 추가 (0) | 2026.04.08 |