개요
UE4 는 모듈이라는 개념을 사용해서 프로젝트를 관리합니다. 각 프로젝트에는 "*.Target.cs" 라는 파일이 존재합니다. 이는 빌드타겟을 지정하고 있으며, 내부의 SetupBinaries() 메서드에서는 사용하고자 하는 모듈을 지정하게 됩니다.
UT 의 UnrealTournament 는 세 개의 빌드 타겟을 가집니다.
- UnrealTournament
- UnrealTournamentEditor
- UnrealTournamentServer
그 중에서 UnrealTournamentEditor 빌드 타겟은 다음과 같은 모듈들을 포함합니다.
아래의 섹션들중에서 클라이언트 및 에디터와 관련한 두 모듈에 대해서 설명하도록 하겠습니다.
UnrelTournament 모듈
이 모듈의 정의파일은 UnrealTournament.Build.cs 입니다.
다음과 같은 기능들을 포함합니다. 모든 기능에 대해서 언급하기는 어렵고 관심이 있으신 분들은 관련 모듈 파일들을 살펴 보시기 바랍니다.
- Private Dependencies
- UnrealTournament/Private/Slate/XXX : UT 에서 만든 커스텀 슬레이트들을 정의합니다.
- Plugins/Social/Source/Public/XXX : 소셜 네트워킹을 지원하는 플러그인을 정의합니다.
- Public Dependencies
- UE4
- Core : 코어 엔진 프로그래밍 환경. 수학 라이브러리와 표준 컨테이너 클래스를 포함. 함수성( functionality ) 지원.
- CoreUObject : UObject 와 C++ Reflection 시스템을 구현.
- Engine : 액터와 컴포넌트를 정의하고, 게임 프레임크을 구현.
- InputCore : 키 정의 및 관련 코드.
- AIModule : AI 폰을 위한 컨트롤러와 비헤이비어 트리를 지원하기 위한 함수성.
- OnlineSubsystem : 모든 온라인 서브 시스템을 위한 인터페이스.
- OnlineSubsystemUtils : 온라인 유틸리티 함수들 및 클래스들.
- RenderCore : 렌더링을 수행하는 모듈들에 의해 공유되는 핵심 데이터 구조 및 유틸리티.
- Navmesh : 네비메시 지원을 위한 함수성.
- WebBrowser : 웹 브라우저.
- NetworkReplayStreaming : streming 형태로 replay data 를 제공.
- Json : JSON DOM, Policies, Serializtion 기능.
- JsonUtilities : UObject 타입을 위한 JSON 변환 루틴들.
- HTTP : HTTP 요청/응답 파싱 인터페이스.
- UMG : 언리얼 모션 그래픽스. 언리얼의 Slte 기반 데이터 주도 UI 프레임워크. 작업중.
- Party : OnlineFramework 요소. 파티 기능을 정의.
- Lobby : OnlineFramework 요소. 로비 기능을 정의.
- Qos : OnlineFramework 요소. Quality of Service.
- EngineSettings : 엔진 세팅 개체를 캡슐화.
- Landscape : 랜드스케이프( 지형 ).
- Foliage : 폴리지( 식생 ).
- PerfCounters : 프로우파일러.
- PakFile : 패키징된 빌드의 통합( monolithic ) PAK 파일로부터 읽기 지원.
- FriendsAndChat : 친구 시스템 및 채팅 시스템.
- UnrealTournament
- BlueprintContext : 커스텀 블루프린트 context.
대부분 게임을 구동하는 데 사용하는 모듈들입니다. NetworkReplayStreaming, Json, JsonUtilities 등은 json replay data streaming 을 위해 사용됩니다.
UnrealTournamentEditor 모듈
이 모듈의 정의파일은 UnreaTournamentEditor.Build.cs 입니다.
당연한 이야기지만 UnrealTornament 의 기능을 포함하며, 편집을 위한 기능들을 추가적으로 가집니다.
- UE4
- Core : 코어 엔진 프로그래밍 환경. 수학 라이브러리와 표준 컨테이너 클래스를 포함. 함수성( functionality ) 지원.
- CoreUObject : UObject 와 C++ Reflection 시스템을 구현.
- InputCore : 키 정의 및 관련 코드.
- UnrealEd : 코어 에디터 함수성.
- Slate : 슬레이트. 언리얼의 선언적 UI 프레임워크. 언리얼 에디터를 빌드하는데 사용되며, 인게임 UI 를 위해서도 사용됨.
- SlateCore : 슬레이트를 위한 코더 선언 및 타입.
- SlateRHIRenderer : 기본 RHI API 를 사용하는 기본 스타일 렌더링 구현.
- UnrealTournament : 언리얼 토너먼트 게임.
- OnlineSubsystem : 모든 온라인 서브 시스템을 위한 인터페이스.
- OnlineSubsystemUtils : 온라인 유틸리티 함수들 및 클래스들.PakFile
- StreamingFile : Cook-on-the-fly 네트워크 파일 시스템. 콘텐츠 쿠킹에 사용.
- PerfCounters : 프로우파일러.
- UMGEditor : UMG 애셋을 위한 에디터.
- UMG : 언리얼 모션 그래픽스. 언리얼의 Slte 기반 데이터 주도 UI 프레임워크. 작업중.
- UnrealTournament
- BlueprintContext : 커스텀 블루프린트 context.
- BlueprintContextEditor : 커스텀 플루프린트 에디터 context.
'Engines > UE4' 카테고리의 다른 글
[ UT 분석 ] 5.1. 캐릭터 외형 (0) | 2016.06.06 |
---|---|
[ UT 분석 ] 4. 프로젝트 세팅 및 게임 모드 (0) | 2016.05.31 |
[ UT분석 ] 5.0. 캐릭터 개요 (0) | 2016.05.31 |
언리얼 엔진 모듈 (2) | 2016.05.21 |
[ UT 분석 ] 3. ServerLaunch 프로그램 (0) | 2016.05.21 |
[ UT 분석 ] 1. Unreal Tournament 설치 (1) | 2016.05.11 |
[ UT 분석 ] 0. Unreal Tournament 분석에 들어가며... (0) | 2016.05.10 |
UE4 빌드시에 ucrt 경로 충돌 문제 해결방법 (0) | 2015.12.29 |
UE4 Character Movement: MovementMode (0) | 2015.12.16 |
UE4 MaxScript - Biped To RootMotion (22) | 2015.12.09 |