Unreal 게임 개발 과정 TIL

Today's I Learning

사전캠프 TIL

04.17 Unreal 사전캠프 15일차) 미니 프로젝트 : 나만의 작은 던전

Sunlight__ 2026. 4. 17. 19:40

 

오늘로써 Unreal 사전캠프 마지막 날이 다가왔다.

 

이번 퀘스트는 나만의 인터랙티브 공간 만들기이다.

나는 Fab에서 기간 한정으로 다운받은 FANTASTIC - Dungeon Pack 을 활용하여 나만의 작은 던전을 만들어볼 계획이다.

https://www.fab.com/ko/listings/25c67cda-991e-48a8-a194-478624ae4c0e

 

FANTASTIC - Dungeon Pack

>> Watch the TRAILER <<>> Customization VIDEO 1 <<>> Customization VIDEO 2 <<This pack contains over 650 unique assets and FX to build your own dungeons for your fantasy game.Thanks to the modularity of the architecture assets you can create a vast variety

www.fab.com

 

 

먼저 대략적인 방을 꾸며주겠다.

 

 

던전팩 내부에 있던 메쉬들을 활용하여 조그마한 방을 하나 만들어서 꾸며주었다.

어두운 던전 안을 표현하기 위해 포인트 라이트와 스포트 라이트를 적절히 사용하여 꾸며주었다.

디렉셔널 라이트를 끈 모습

 

이후 문의 블루프린트를 설정하여  문 앞의 판자를 없애고 문의 판자를 제거해야 문이 열리도록 상호작용되게 만들 것이다.

 

에셋 내에 존재하는 BP_COMP_Door_large를 활용하기로 하였다.

먼저 BP_COMP_Door_large 내에서 상호작용과 문의 좌표값을 설정해주었다. 

상호작용 하였을 때 판자가 삭제되지 않았을 때 Destroy Component를 활용해주어 판자를 삭제한 뒤 삭제가 되었다는 것을 알려준다. 다시 상호작용을 하였을 때 판자가 없는 것을 입력 받았기 때문에 다음으로 넘어간다.

 

타임라인을 활용해주어 상호작용 하였을 때 문이 열려있지 않을 때 문을 열도록 하게 한다.

문이 열려있지 않다면 Lerp값을 활용하여 설정한 좌표값으로 문이 회전하도록 한다.

여기서 문제는 액터가 아닌 컴포넌트이기 때문에 Set Actor Relative Rotation이 아닌 Set Relative Rotation을 사용해야 하는 것이었다. 

나는 문을 열었을 때 두 개의 문이 같이 열리게 하고 싶었기 때문에 Invert Rotator 노드를 활용해 로테이트 값을 반전 시켜 반대쪽 문과 연결시키기로 했다. 이렇게 하면 반대쪽 문은 반대로 열리게 된다. 

그리고 문을 닫는 것도 구현해주고 싶었기 때문에 타임라인을 하나 더 활용해서 타임라인 값을 반대로 지정해준뒤 똑같이 진행해 주었다.

 

문의 설정이 다 되었으니 이제 캐릭터의 상호작용을 설정할 것이다.

Line Trace는 저번 시간에 배운 대로 그대로 해놓고 여기서 추가할 것은 캐릭터의 Line에 따라 상호작용 키가 보이게 하는 것이다.\

컴포넌트에서 TextRender를 추가해 준 뒤 FollowCamera에 넣어준다. 그런 뒤 Interact 텍스트를 넣어주면 플레이어의 카메라에 상호작용 키가 보이게 될 것이다.

그 후 Get Player Camera Manager 노드를 추가해 주어 설정해준다.

 

 

하지만 이렇게 하면 상시로 플레이어의 화면에 상호작용 키가 보일 것이기에 플레이 시에는 보이지 않게 설정해준다.

 

 

그후 플레이어의 시야에 Tag : Interact가 들어오면 텍스트를 띄우게 설정하여 준다.

 

이제 상호작용 키만 설정해주면 끝이다.

평소에는 상호작용을 눌러도 아무것도 없지만 Is Door 문이 있을 시 BP_COMP_Door_large로 연결되게 이어준다.

 

마지막으로 스타트를 눌러 게임을 실행해보겠다.

https://youtu.be/pB6gQ6bxB_w

 

의도한 대로 잘 움직이는 모습이다. 

 

 

이로써 사전 캠프의 마지막까지 완료하였다.

구현하는 과정이 정말 어려웠고 많은 분들의 도움을 받아서 완성하였다.

추후에는 다른 사람들의 도움 없이 나 스스로 게임을 만들어 보고 싶었다. 본캠프에 가서도 열심히 수강할 것이다.