언리얼 빌드 시스템
Unreal Header Tool과 Unreal Build Tool을 통해
소스코드를 다양한 빌드 구성으로 빌드되게 하는 시스템이다
Unreal Header Tool의 핵심적인 기능은 .generated.h 파일의 생성하고
이는 언리얼만의 매크로 함수를 전처리하기 위해 사용된다
Unreal Build Tool은 소스코드가 해당 컴퓨터의 OS에 맞게 프로젝트를 재생성한다
언리얼 모듈 시스템
모듈은 컴파일된 바이너리 파일(.dll, .lib)을 의미한다
각 모듈 폴더에는 .Build.cs 파일이 있으며,
해당 파일에는 모듈의 종속성과 필요한 라이브러리, 인클루드 경로 등이 적혀있다
모듈(Module)의 종류는 아래와 같다
게임 모듈(Game Module): 소스코드에 게임 로직이 포함된 모듈
주 게임 모듈(Primary Game Module): 주된 게임 로직이 포함된 모듈
이처럼, 주 게임 모듈에 필요한 다른 모듈들을 포함시키면서 게임을 개발하게 된다
언리얼 런타임 시스템
언리얼 오브젝트(UObject) 개념을 통해서 아래와 같은 기능을 런타임 중에 제공한다
Garbage Collection, Replication, Serialization, RTTI, Reflection 등의 기능을
UHT에 의해 만들어진 .generated.h 파일이 언리얼 런타임 시스템의 핵심이다
이처럼, 언리얼 C++은 UObject 클래스의 상속과 특유의 매크로 문법 그리고 런타임 시스템을 통해
C++의 문제점인 개발자의 실수 방지를 해결하고 C++의 성능 두 가지를 모두 잡았다
라이브 코딩
언리얼 에디터의 실행 중에 에디터가 점유하고 있는 모듈을 컴파일할 수 있게끔 하는 기능이다
언리얼 에디터는 컴파일을 감지해서 점유하고 있던 모듈과 신규 모듈의 차이점을 반영한다
이러한 기능을 라이브 코딩(UE4에서는 핫 리로드)이라고 한다
일반적인 Ctrl + Shift + F5가 아닌
Ctrl + Alt + F11을 눌러서 사용가능하고
Binaries 폴더에 임시 모듈 파일(UnrealEditor-StudyProjectXXXX)이 생성되고
이를 통해 라이브 코딩이 가능하다
'게임 엔진 > [코드조선] 언리얼' 카테고리의 다른 글
언리얼 기초 - 언리얼 디버깅 (0) | 2024.05.08 |
---|---|
언리얼 기초 - 언리얼 코딩 컨벤션 (0) | 2024.05.08 |
언리얼 기초 - 언리얼 오브젝트 클래스 (0) | 2024.05.08 |
언리얼 기초 - 언리얼 개발 환경 및 레벨 (0) | 2024.05.08 |
언리얼 기초 - 언리얼 에디터 (0) | 2024.05.07 |