Chapter 1. 개발 환경 설정

류루트·2023년 7월 31일

이득우 언리얼

목록 보기
1/3
post-thumbnail

프로젝트 생성 결과

프로젝트 폴더

언리얼 엔진에서 프로젝트를 생성 시 사전에 설정한 디렉토리에 프로젝트 폴더가 생성된다. 이 프로젝트 폴더 내에는 Config, Content, Intermediate, Saved 폴더와 (프로젝트명).uproject 파일이 아래와 같이 생성된다.

여기서 각 폴더의 역할과 .uproject 파일에 대해 알아보자.

  • Config: 프로젝트의 설정 값을 보관하는 공간. 즉, 항상 보관해야 함.

  • Content: 프로젝트에 사용하는 애셋을 관리하는 공간. 마찬가지로 항상 보관해야함.

  • Intermediate: 프로젝트 관리에 필요한 임시 파일이 저장되는 공간. 항상 보관할 필요는 없으나, 제거해도 에디터에 의해 자동으로 재생성됨.

  • Save: 세이브 파일, 스크린샷 등의 에디터 작업 중 생성된 결과물이 저장되는 공간. 제거 시 폴더에 있는 세이브 파일, 스크린샷 등이 삭제되지만 프로젝트에는 영향 없음.

  • .uproject: 프로젝트를 언리얼 에디터로 불러들이기 위한 정보가 JSON 형식으로 기록되어 있음.


블루프린트 스크립팅 기반 프로젝트에서 C++ 클래스 추가하기

C++ 클래스 추가

언리얼 엔진의 경우 블루프린트 스크립팅 기반 프로젝트에서도 C++ 클래스를 추가할 수 있다. 그 방법에 대해 알아보자.

먼저 왼쪽 위에서 툴 > 새로운 C++ 클래스를 선택 후

부모 클래스를 액터로 선택 후 다음을 누른 후

액터 이름과 디렉토리를 설정해주면 된다.
라고 했지만 사실 디렉토리는 건드리지 않는 게 현명하다.

C++ 클래스 추가 후 프로젝트 폴더

C++ 프로젝트로 확장 후(C++ 클래스 추가와 같은 말) 프로젝트 폴더를 다시 한 번 살펴보자.

기존에 없던 Binaries, Source 폴더와 (프로젝트명).sln 파일이 생성되어있음을 알 수 있다. 각 폴더의 역할과 .sln 파일에 대해 알아보자.

  • Binaries: C++ 소스 코드가 컴파일된 결과물을 저장하는 공간. 제거해도 코드 빌드 시 재생성됨.

  • Source: C++ 소스 코드를 저장하는 공간. 이외의 언리얼 엔진의 빌드 설정을 담은 C# 소스 파일이 있음. 제거 시 프로젝트 구성이 망가지므로 주의가 필요함.

  • .sln: C++ 프로젝트를 관리하는 비주얼 스튜디오의 솔루션 파일. 솔루션 산하에 있는 각 프로젝트 파일은 Intermediate > ProjectFiles에 저장되어 있음. 프로젝트 파일 및 솔루션 파일은 삭제하더라도 .uproject 파일 우클릭 > Generate Visual Studio project file 메뉴를 선택하면 재생성 가능.

모듈

Binaries > Win64 폴더에 들어가면 아래 사진과 같은 파일이 들어있을 것이다.

여기서 UnrealEditor-(프로젝트명).dll은 프로젝트를 실행하면 함께 로딩되는 C++ 모듈이다.

  • 모듈 : C++ 코드를 컴파일한 결과물
  • 게임 모듈 : 게임 로직을 담은 모듈

모듈 생성 결과

모듈 생성 후 프로젝트를 불러와서 왼쪽 아래애 위치한 콘텐츠 브라우저를 확인해보자.

언리얼 에디터가 모듈을 성공적으로 로딩했다면 위의 사진과 같이 C++ 클래스라는 폴더그 하위 폴더인 (프로젝트명), 그리고 (프로젝트명) 폴더 안에 (액터명) C++ 클래스 파일**이 있을 것이다.

주의사항

프로젝트 폴더의 디렉토리 경로 상에 한글로 된 폴더가 있으면 안된다. 한글로 된 폴더가 중간에 있다면 C++ 클래스가 Visual Studio 상에서 빌드가 되지 않을 것이다.

위의 사진은 경로 상에 한글로 된 폴더가 존재할 때 소스 코드를 빌드한 결과이다.
그럼 필자는 이렇게 하면 안된다는 것을 어떻게 알았을까? 저도 알고싶지 않았어요..


Visual Studio 개발 환경 설정

C++ 프로젝트 빌드 구성

아래의 사진은 Visual Studio의 화면 상단을 캡처한 것이다.

여기서 Win64(혹은 Win32)의 좌측에 위치한 드롭다운 메뉴를 클릭하면 아래 사진과 같이 다섯 종류의 빌드 구성이 존재하는 것을 알 수 있다.

각 빌드 구성의 특징은 아래 테이블과 같다.

빌드 구성목적최적화 수준생성물
DebugGame자세한 디버깅Xexe 파일(게임 실행용)
DebugGame Editor자세한 디버깅Xdll 파일(에디터용)
Development디버깅exe 파일(게임 실행용)
Development Editor디버깅dll 파일(에디터용)
Shipping게임의 최종 배포exe 파일(게임 실행용)

실행 파일로 게임을 실행하고 싶다면?

생성물은 Binaries 폴더에 저장된다.
exe 파일은 게임 실행 파일이지만 파일이 위치한 Binaries 폴더에는 리소스가 없기 때문에 실행되지 않는다.
만약 exe 파일로 게임을 실행하고 싶다면 리소스와 실행 파일이 묶인 패키지 형태로 만들어줘야 한다.
패키지를 제작하려면 언리얼 에디터의 파일 > 패키지 프로젝트 메뉴를 사용하면 된다.

언리얼 에디터 설정

프로젝트 세팅

프로젝트 세팅이란 언리얼 에디터를 실행할 때 기본으로 실행하도록 하는 레벨을 지정하는 것을 의미한다.

아래의 사진과 같이 언리얼 에디터 상단의 편집 > 프로젝트 세팅...을 선택한다.

언리얼 엔진4의 경우 툴바 가운데에 위치한 세팅 > 프로젝트 세팅...을 선택해주면 된다.

이후 뜨는 창에서 좌측의 프로젝트에 있는 맵 & 모드 섹션을 선택해주면 아래의 사진과 같은 창이 보일 것이다.

Default Maps에서 에디터 시작 맵과 게임 기본 맵을 자동으로 실행되도록 하고자 하는 레벨로 설정해주면 된다.

본 게시글은 '이득우의 언리얼 C++ 게임 개발의 정석' 교재를 참고하여 정리하였음을 알립니다.
본 작성자는 저작권법을 준수하기 위해 최선을 다할 것입니다.
적법하지 않은 내용이 포함되어 있을 경우 작성자에게 알려주시면 시정하겠습니다.
향후 별도의 안내 없이 게시글 내용 일부 수정 혹은 전체 삭제 조치될 수 있음에 양해의 말씀 드립니다.

profile
취미로 컴퓨터과학 공부하는 사람

0개의 댓글