언리얼엔진 학습 및 과제

게임 루프 및 UI 재설계 과제 (1)

park94128 2025. 9. 29. 23:17

0. 시작하기 전에

C++ 및 코딩 테스트 관련 글은 좀 접어두고  언리얼 엔진 프로젝트를 시작하려고 한다. 이쯤이면 C++에 대한 기본적인 지식은 갖췄을테니 본격적으로 C++를 사용한 게임을 만들어보자. 다만 거창한건 아니고 그냥 내게 주어진 과제의 진행상황을 적을 뿐이니 내용은 다소 간단할 것이다.

 

1. 일단 프로젝트 생성

언리얼 엔진을 실행하고 처음 나오는 언리얼 프로젝트 브라우저 화면에서 왼쪽의 버튼 중 게임을 누른다. 간단한 게임을 만들 생각이므로 일인칭 또는 삼인칭을 누르자. 그러면 플레이어가 조종할 캐릭터는 에픽 게임즈에서 미리 제작한 캐릭터를 사용할 것이다.

 

그 다음 코딩을 하면서 게임을 만들 것이니 화면 오른쪽에서 블루프린트 말고 C++를 누르자. 퀄리티 프리셋은 'Maximum'과 Scalable'이 있는데 어느 것을 선택해도 상관없다. 다만 그 단어대로, Maximum을 선택하는 쪽이 더 큰 메모리를 요구하지만 그만큼 퀄리티가 뛰어나다. 이번에 진행할 과제가 꼭 거창할 필요가 없다고 생각한 나는 Scalable을 골랐다.

 

마지막으로 프로젝트를 저장할 경로와 프로젝트 이름을 입력하고 프로젝트를 생성하자.

맵 등 삼인칭이라는 이름에 맞게 에셋을 미리 제공받은 상태로 생성됨을 볼 수 있다.

 

2. 사용할 에셋 준비

A. 처음 준비된 에셋 중 캐릭터만 필요하다.

사실 처음에 캐릭터가 필요해서 삼인칭을 고른 것이라서 이 맵은 필요가 없다. 그래서 나만의 맵을 따로 만들 것이다.

일단 내가 생성한 에셋을 앞으로 준비할 에셋과 구분할 필요가 있으니 폴더를 따로 만든다. 나같은 경우 내가 생성한 에셋을 모은 곳을 'Root'라고 이름 붙인다. 그리고 맵만 따로 구분하기 위해 Map 폴더를 생성했다.

 

콘텐츠 브라우저에서 바로 레벨을 생성해도 되지만 그러면 아무것도 없는, 완전히 무(無) 그자체인 맵이 생성된다. 그래서 화면 위쪽의 '파일' - '새 레벨'을 눌러서 나오는 맵을 누르고 거기서 기본을 선택하여 생성한다. 이러면 기본적인 하늘과 땅이 있는 맵이 열린다.

솔직히 간단하게 만들 생각인데 내 손으로 하늘을 만들기 귀찮다.

 

그대로 저장을 하면 (Ctrl + S 또는 '파일' - '현재 레벨 저정') 저장 화면이 열릴 것이다. 여기서 직접 만든 폴더에 맵을 저장한다.

 

나는 맵에 배치된 땅도 안쓸 생각이라서 땅을 제거하고 다시 저장했다.

 

맵이 저장됐음을 확인했다면 '편집' - '프로젝트 세팅'을 눌러 프로젝트 세팅 화면을 연다.

 

프로젝트 세팅 화면의 왼쪽에서 '맵&모드'를 찾아 누른다. 그리고 나오는 오른쪽 화면 중 '에디터 시작 맵'과 '게임 기본 맵'을 금방 저장한 맵으로 지정해주자.

 

B. 팹(Fab)에서 무료에셋 고르기

언리얼 에셋 스토어인 팹(Fab)에서 적당한 에셋을 고른다. 이왕이면 돈을 쓰지 않는 무료 에셋을 쓸 것이다.

위 에셋은 2025년 10월 7일까지 무료

팹에서는 2주마다 특정 유료에셋을 선정하여 무료로 배포하고 있다. 이 에셋을 사용해도 되지만 원래 유료 에셋인 만큼 무턱대고 GitHub에 올리기엔 문제가 될 수 있다.

내가 선택한 에셋은 이것이다. 처음부터 지금까지, 그리고 앞으로도 무료로 배포되는 에셋이니 사용에 부담이 없다.

 

라이브러리에 추가했다면 에픽게임즈 런처에서 프로젝트에 에셋을 추가할 수 있다.

 

그런데 이 에셋은 5.4 까지가 정식 지원 버전이다. 내가 쓰는 5.5버전은 호환되지 않는다. 그래도 그냥 5.4를 고르니 추가가 가능하다. 이 에셋의 지형만을 사용할 것이니 딱히 문제될 일은 없어보인다.

 

에셋이 잘 추가됐다. 이 에셋의 용량이 거의 2GB 가까이 되는게 문제지만 사실 어느정도 퀄리티를 가진 에셋은 GB단위를 기본으로 먹고 들어가는 경우가 많으니 그려러니 하자.