[UE5 TIL] Day 1 - 캠프 OT

JungHoon Eum·2026년 2월 23일

오늘은 내일배움캠프 언리얼 게임개발자 양성과정 8기생으로서 본 캠프 수강을 시작한 날이다. 아직 실제 개발 과정 교육에 들어가진 않았지만, 캠프 과정에 대한 안내나 팀원들과의 만남, 개발자로서의 미래에 대해 더 고민해 볼 시간이 주어졌던 하루였다.

언리얼 개발자로서의 하루를 상상해 보라는 과제에 대해선...아직 현업의 하루가 어떤지 구체적으로 알 수 없는 나로선, 어느 타입의 개발자가 될 지 역시 알 수 없다고 생각한다. 게임의 다양한 부분을 직접 만지고 기획부터 구체화에 전부 직접 관여하는 인디 개발자의 업무가 사소한 디버깅에 며칠을 쏟아야 하는 트리플A 개발자보다 하루하루는 더 값지겠지만, 그 결과물의 스케일이나 안정된 집단에 소속되어 받을 수 있는 복지와 안정감을 무시할 순 없다. 아직 게임 개발에 대해 충분히 알지 못하고, 개발자를 '동경하는' 학생인 내 입장에선 양쪽이 일장일단이 있다는 생각보단 어느 쪽이든 내가 될 수 있으면 행복할 거라는 생각이 든다.

오늘의 추가적인 과제들은 기존 사전캠프에 설치해두고 배운 Unreal Engine 5의 기본 에디터 구성과 공식 문서들이기에 이를 과감히 스킵하고, 기존에 진행중이었던 개인 프로젝트 (뱀서류 탑다운 슈터 클론) 에 좀 더 시간을 투자하기로 했다.

게임모드 구성

이전에 기본 전투 루프는 완성해 두었기에, 오늘은 BP_GameMode를 통해 직접 Start Menu, Playing, Game Over 로 게임 모드를 구분하고 해당 화면에 맞는 UI를 구성하는 것을 목표로 했다. 하지만, 플레이어 캐릭터나 적 캐릭터 등을 만들어 전투 루프 만드는 것과 다르게 게임 전체를 아우르는 BP_GameMode는 많은 변수들이나 함수들을 다른 블루프린트에서 가져오고 내보내야 한다는 것을 깨달았다. 때문에, 기존에 좀비나 플레이어 블루프린트에 저장해 두었던 변수들을 게임모드 블루프린트로 가져오거나, 함수를 참조하는 과정을 거쳐야 했다.

StartSpawnEndSpawn

일례로, 전투 루프만 있었을 때엔 적 스폰 블루프린트의 BeginPlay 이벤트에 연결해 두기만 해도 됐던 스폰 타이머 세팅을 StartSpawn 함수에 옮기고, EndSpawn 함수를 추가로 생성해 타이머를 끄는 기능도 추가해 이를 게임모드에서 참조해 스타트 메뉴, 게임 오버 시에 스폰을 멈추도록 조정해야 했다. 수정 자체가 크게 어려운 것은 아니었으나, 게임 구성을 할 때부터 어느 기능을 어디서 담당할 지 체계적으로 생각을 하고 개발을 해야 한다는 것을 느꼈다.

HUD 구성

스타트 메뉴


시작 화면의 경우, 플레이어를 따라다니는 카메라 외에도 맵에 시작 씬 용 카메라 액터를 배치하고 게임 스타트를 누른 후에 플레이어 카메라로 자연스럽게 전환되는 방식을 사용했다. 블루프린트가 아닌 맵에 배치된 "액터" 를 BP_GameMode로 가져오는 데 고생을 좀 했는데, 이를 위해 맵에 BP_LevelSettings라는 액터를 추가로 배치하고 여기서 레벨에 미리 배치되어 있는 스포너와 메뉴용 카메라를 게임모드로 중계하는 과정을 거쳤다. Get Actor By Name 등은 추후에 문제가 생길 가능성이 높다고 판단해 인스턴스 편집 가능한 추가 액터를 중계지점으로 사용하는 방법이라 판단했다.
이후 BeginPlay 시에는 메뉴 카메라를, 스타트 버튼을 눌러 Playing 게임모드로 진입 시에는 PlayerCharacter의 카메라를 SetViewTargetWithBlend를 이용해 전환해 자연스러운 연출을 추가해 주었다.

블루프린트 노드 실행 결과

메인 HUD

게임 도중에 표시될 킬 카운트와 타이머의 경우, 변수는 BP_GameMode에 저장하고 BP_Zombie에서 킬카운트를 수정, 게임모드가 GameOver로 변경될 시 타이머를 종료하도록 설정했다.

해당 변수들을 WBP_HUD에서 불러와, 텍스트 블록을 변수화해 거기에 0.2초마다 갱신되는 변수들을 정리해서 집어넣는 방식으로 블루프린트를 설계하였다.

이외에, 수강한 C/C++ 언어 관련 TIL은 날짜별이 아닌 챕터별로 다른 글로 저장해 둘 계획이다.

현재는 Chpt.1 진행중에 있다.
https://velog.io/@opalian/C언어-TIL-독학방식-따라하기Chpt.1

profile
개발지망생

0개의 댓글