UDN
Search public documentation:

DirectoryLayoutKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 언리얼 엔진 3 기본 > 디렉토리 레이아웃
UE3 홈 > 인풋 / 아웃풋 > 디렉토리 레이아웃

디렉토리 레이아웃


문서 변경내역: Joe Graf 작성.

개요


Unreal Engine 3 의 디렉토리 구조는 여러 게임들이 같은 코드를 공유함으로써 나란히 공존하도록 설계되어 있습니다.

이 디렉토리의 기본 개념은 하나의 중앙 집중적인 코드베이스를 가진 다음, 거기에 차츰 게임 고유의 모듈들을 덧붙여 나가는 것입니다. 프로젝트들은 흔히 코드베이스 외에 도구나 문서 자료 같은 다른 것들도 서로 공유합니다. 콘텐츠를 보면, 베이스 게임 엔진이 게임 고유의 콘텐츠와 나란히 놓여 있습니다.

예전에는 주로 다음 분야에 문제점이 있었습니다:

  • 현지화 파일
  • 환경설정 파일
  • 스크립트 파일
  • 로그 파일
  • 콘텐츠 (맵, 패키지) - 공유 및 게임 전용
  • 바이너리 - 공유 및 게임 전용
  • (예로 맵에 대한) 게임 전용 확장자 및 프로토콜
  • 언리얼 엔진 3 에 하드코딩된 이름과 가정(assumption) 다수

Binaries


비트 독립적 ('Any CPU' 로 컴파일된 매니지드 코드) 바이너리들이 연관 pdb 파일과 함께 모두 이곳에 보관됩니다. 커맨드렛이 이 폴더에서 실행 가능하도록 게임용 실행파일 바로가기(forwarding)도 있습니다. 디폴트 네이티브 버전이 실행됩니다.

ActorX

Max 또는 Maya 같은 3D 패키지로로부터 익스포트 하기 위해 ActorX 가 사용하는 다이내믹 링크 라이브러리(dll)입니다..

FaceFXPlugins

맥스나 마야같은 3D 콘텐츠 제작 패키지용 FaceFX 에 대한 플러그인 입니다.

GFx

언리얼 엔진 3 용 플래시 제작 지원을 위해 스케일폼이 제공하는 툴입니다.

InstallData

EULA 나 아이콘 등 UnSetup 을 사용하여 설치 가능 패키지를 작성하는데 사용되는 다양한 파일들이 이곳에 들어 있습니다.

IPhone

언리얼 엔진 3 에서 iOS 개발을 하는 데 사용되는 여러가지 파일입니다.

Redist

로컬 머신에 모든 필수 패키지를 설치하는 재배포 인스톨러입니다.

SpeedTreeModeler

Speed Tree 콘텐츠 제작 패키지로, UDK 에서 SpeedTree 를 만들 수 있습니다.

SwarmCache

맵 컴파일시 스웜이 사용하는 캐시입니다.

Win32

모든 x86 바이너리는 여기 저장됩니다. 관련 pdb 파일을 포함해서요. 디버그 버전 앞에는 Debug- 라는 접두사가, 출시 버전에는 ShippingPC- 라는 접두사가 붙어 있습니다.

Editor

언리얼 에디터용 매니지드 다이내믹 링크 라이브러리(dll) 입니다.

UserCode

UDK 에서 만든 다이내믹 링크 라이브러리로, 언리얼스크립트에서 호출할 수 있도록 하기 위해서입니다.

Win64

모든 x64 바이너리가 여기 저장됩니다. 관련 pdb 파일을 포함해서요. 디버그 버전 앞에는 Debug- 라는 접두사가, 출시 버전에는 ShippingPC- 라는 접두사가 붙어 있습니다.

Editor

언리얼 에디터용 매니지드 다이내믹 링크 라이브러리(dll)입니다.

Windows

Windows가 ConsoleInterface 와 함께 (따라서 UnrealFrontend 및 UnrealConsole 과도 함께) 사용될 수 있도록 하는 tools dll 들이 최신 버전의 UE3Redist 와 함께 이곳에 들어 있습니다.

Development


콘텐츠와 관련이 없는 개발은 모두 Development 디렉토리에 모아 놓았습니다.

Intermediate

실행 파일을 컴파일하는 데 사용되는 모든 임시 파일(예: obj 파일)이 이곳에 보관됩니다

Src

소스 코드들은 Src 디렉토리에 있습니다. 이 안에는 게임 고유의 모듈 제작 예제들과 함께, Unreal Engine 3 를 구성하는 모듈들을 나타내는 디렉토리들이 들어 있습니다.

게임 특정의 디렉토리 (예: UTGame)


베이스 엔진을 포함해서 각 게임 프로젝트마다 하나의 디렉토리가 있습니다. 베이스 Engine 을 포함하여 각 게임 프로젝트에는 그 프로젝트 특정의 요소가 들어 있는 디렉토리가 하나 또는 그 이상 있게 됩니다.

Autosaves

언리얼 에디터 자동 저장 맵, 패키지 백업과 PIE 맵 등이 여기 저장됩니다.

Build

컴파일이 요구되거나 빌드 시스템에 의해 사용되는 게임 특정의 파일들 (DVD 레이아웃 등).

Config

Engine\Config 디렉토리에 있는 일련의 루트 환경설정 파일 을 가짐으로써, 설정의 기초적 세트 (렌더와 창 설정, 기초 "WASD" 입력 등) 및 게임 특정의 조정이 필요한 경우가 드문 그밖의 엔진 설정들을 공유할 수 있습니다..ini 확장자를 가진 이 파일들은 BaseEngine.ini, BaseEditor.ini, BaseGame.ini 그리고 BaseInput.ini 로, 구성 옵션들을 알맞게 나누어 가지고 있습니다.

이 기초 환경설정 파일은 DefaultEngine.ini, DefaultEditor.ini, DefaultGame.ini 그리고 DefaultInput.ini. 등 각 해당 게임/모드의 기본 ini에 의해 참조됩니다. 각각의 INI 파일은 게임 고유의 구성 디렉토리인 - "GameName"Game\Config 에 들어 있습니다.

초기화 할때 엔진은 엔진, 에디터, 게임 용 "GameName"Game\Config\"GameName"*.ini 그리고 입력용 ini 의 위치를 찾아내려고 합니다. 그리고 Default*.ini 파일의 Configuration.BasedOn 필드의 기본값을 토대로 각 파일의 새 버전을 만듭니다. 엔진은 초기 ini 를 찾을 때까지 찾기를 계속합니다. INI 파일을 찾으면, 엔진은 설정을 아래서부터 위로 병합합니다.

엔진은 `+' 또는 `-`로 시작되는 행을 서로 다르게 취급하는, ini 파일 병합을 위한 특별한 지원을 합니다. 기본으로 설정되어 있는 액션은 기존의 키를 대체하는 것입니다. `+' 는 엔진에게 덧붙이기를 하라고 하는 것이며, 이는 TArray 의 확장에 유용합니다. `-` 는 베이스 ini 에서 정의된 키와 값의 쌍을 제거하게 됩니다.

Content

엔진은 리소스의 의존성 충족을 위한 일련의 파일 확장자 세트 (Core.System.Extensions, 기본으로 "u" 와 "upk" 가 설정되어 있음) 를 가지고 있습니다. 이는 설정된 경로를 (Core.System.Paths) 되풀이해서 탐색, "Engine\Content" 폴더를 기본으로 설정합니다.

Flash

쉬운 임포트를 위해 플래시 개발 파일이 여기 있습니다.

Localization

엔진은 선택된 구성 가능 경로 중에서 ("Engine\Localization" 으로 기본 설정된 Core.System.LocalizationPaths) 현지화된 텍스트 파일 을 찾습니다. 리소스를 지역화할 때, 이는 제일 먼저 현재 구성되어 있는 언어의 지역화 파일을 찾습니다. 그 리소스의 지역화 버전을 찾는 데 실패하면, 다음에는 국제 지역화 파일에 들어있는 내용에서 찾습니다.

Logs

로그 파일들은 현재 실행 가능한 파일의 베이스 이름 ("DEBUG-"접두사가 붙어있지 않은, 실행이 가능한 이름) 을 찾아, 여기에 "GameName"Game\Logs 라는 접두사를 붙임으로써 만들어집니다.

Movies

부호화된 영화(예: Bink 를 사용한)들이 이곳에 들어 있습니다. 영화들은 사이즈가 클 가능성이 있으므로 콘텐츠별로 분리되어 있습니다.

ScreenShots

언리얼 에디터나 언리얼 엔진에서 찍은 스크린샷은 모두 여기 저장됩니다.

Script

보통의 패키지와 마찬가지로, 스크립트 파일 또한 Core.System.Paths 배열에서 설정한 어떤 디렉토리의 하위 디렉토리에라도 배치될 수 있습니다. 편집을 단순화 하기 위해, 스크립트 컴파일러는 하나의 패스에서 빌드된 모든 파일들이 EditPackagesOutPath 가 지정한 디렉토리에 놓여질 것을 요구합니다. 그리고 EditPackagesInPath 폴더(모두 Editor.EditorEngine 섹션에 있음)에서 찾은 소스를 가지고 EditPackages 배열에서 컴파일할 패키지를 찾습니다.

ScriptFinalRelease

-final_release 옵션으로 컴파일된 스크립트 패키지들입니다.

Splash

스플래시 화면 이미지가 여기 저장됩니다.

그 밖의 고려 사항들


유용한 정보

환경설정 파일의 예

BaseEngine.ini (Engine) 의 한 부분

  [URL]
  Protocol=unreal
  Name=Player
  Map=Index.ue3
  LocalMap=Entry.upk
  MapExt=ue3
  
  [Core.System]
  Paths=..\Engine\Content
  LocalizationPaths=..\Engine\Localization
  Extensions=upk
  Extensions=ue3
  Extensions=u
  
  [Editor.EditorEngine]
  AutoSaveDir=..\Engine\Content\Maps\Autosaves
  EditPackagesInPath=..\Development\Src
  EditPackages=Core
  EditPackages=Engine
  EditPackages=Editor
  EditPackages=UnrealEd
  EditPackages=SequenceObjects
  EditPackages=GamePlay
  EditPackages=WarfareGame
  EditPackages=SampleNativePackage
  
  [D3DDrv.D3DRenderDevice]
  ShaderPath=..\Engine\Shaders
  

DefaultEngine.ini (ExampleGame) 의 한 부분

  [Configuration]
  BasedOn=..\Engine\Config\BaseEngine.ini
  
  [Core.System]
  +Paths=..\ExampleGame\Content
  +Paths=..\ExampleGame\Script
  +LocalizationPaths=..\ExampleGame\Localization
  
  [Editor.EditorEngine]
  EditPackagesOutPath=..\ExampleGame\Script
  AutoSaveDir=..\ExampleGame\Content\Maps\Autosaves
  

더 상세한 정보는 Configuration Files KR 페이지를 참고하십시오.