Unreal 게임 개발 과정 TIL

Today's I Learning

사전캠프 TIL

04.16 Unreal 사전캠프 14일차) 미니 프로젝트 : 장애물 피하기 게임 만들기

Sunlight__ 2026. 4. 16. 16:38

 

오늘 해볼 것은 간단하게 장애물 피하기 게임을 만들어볼 것이다.

 

우선 Third Person Map을 연 뒤 바닥과 벽을 제외한 오브젝트를 전부 선택 후 삭제해주도록 하겠다.

 

바닥과 벽만 남겨놓았다

 

그리고 장애물의 블루프린트를 만들어줄 것이다.

큐브를 하나 배치해준 뒤 스케일 값을 조정하여 적당한 크기로 만든 후에 BP_Obstacle 이라는 이름으로 하나 만들어주겠다.

 

이후 콤포넌트에서 Interp To Movement를 추가한 뒤 Details 패널에서 컨트롤 포인트를 2개 이상 추가해준다.

 - 시작 위치와 이동할 위치 설정 (point 0 : 시작 위치, point 1 : 오른쪽 이동 위치)

Behavior Type은 Ping Pong(왕복운동)으로 바꾸어주고 Duration으로 이동속도를 조절해준다. 적당히 5 정도로 조정해보았다.

 

 

Duration 속도를 5로 했더니 너무 느려서 2로 바꾸어 주었다.

이제 BP_Obstacle을 복사하여 맵에 여러개 놓아주고 각각 Duration 값을 변경하여 속도를 변경하여 주면 따로따로 잘 움직이는 모습을 볼 수 있다.

 

 

 

https://youtu.be/EBY2jXtxBLc

 

 

장애물이 잘 작동하는 것을 보았으니 이제 장애물과 플레이어가 충돌 시 GAME OVER 가 되게 만들 것이다.

 

우선 Collision 설정에서 Generate Overlap Events 를 체크 해주고 Collision Presets를 OverlapAllDynamic 으로 바꾸어준다.

그리고 블루프린트 이벤트 노드 설정을 완료해준다. 장애물에 닿았을 때 Game Over 메세지가 출력되도록 해주었다.

 

이후에 콘텐츠 브라우저에 User Interface > Widget Blueprint 추가 이름은 WBP_GameOver 로 해주었다.

WBP_GameOver에 편집에 들어가서 캔버스 패널을 먼저 만들어 준 뒤 GameOver 텍스트와 Retry 버튼을 생성해 주었고,

버튼 클릭 이벤트를 추가해 주었다.

 

 

그 후 BP_Obstacle 이벤트에 위젯을 추가해주고 뷰포트에 추가하기를 마무리로 넣어주면 플레이 하였을 때 장애물과 충돌 시 캐릭터 조작이 불가능해지며 마우스 커서로 Retry 버튼을 눌렀을 때 초기 화면으로 돌아오게 될 것이다.

 

 

동일한 과정으로 Goal 또한 만들어준다. 

하지만 재시작 버튼을 눌렀음에도 플레이어의 조작이 끊겼다. 

이 문제는 WBP_GameOver에 간단하게 Set Input Mode Game Only, 그리고 Get Player Controller 노드를 추가함으로써 해결할 수 있었다. WB_Goal에도 동일하게 추가해줌으로써 게임이 완성되었다.

 

 

게임이 완성되었으니 이제 직접 플레이해보았다.

https://youtu.be/3zm0qeL3GTk

 

 

.

.

.

끝으로 이렇게 간단하게 게임을 하나 만들어봄으로써 의도대로 플레이 됨으로써 희열감을 느꼈다.

문제점을 찾아 해결함으로써 성취감도 느낄 수 있었다.