Files
UnrealEngineUWP/Engine/Documentation/Source/Programming/Basics/Basics.KOR.udn
Sungjin Hong 19e4c4b349 #loc UE4DocKOR
[CL 2623003 by Sungjin Hong in Main branch]
2015-07-16 04:14:49 -04:00

86 lines
5.5 KiB
Plaintext

INTSourceChangelist:2609153
Availability:Public
Title:언리얼 엔진 프로그래밍 기본
Crumbs: %ROOT%, Programming
Description:언리얼 엔진으로 개발하는 프로그래머를 위한 정보입니다.
각각의 게임은 그에 속하는 코드, 콘텐츠, 세팅이 전부 들어있는 게임 프로젝트로 정의됩니다. 게임플레이 코드는 하나 이상의 게임플레이 모듈에 들어있으며,
각 게임 프로젝트에는 반드시 하나 이상의 모듈이 들어있어야 합니다. 아트 애셋, 사운드 등과 같은 콘텐츠는 에디터에 임포트되어 패키지와 맵으로 저장됩니다.
게임의 환경설정이 가능한 세팅은 시작시 로드되는 [환경설정(ini) 파일](Programming/Basics/ConfigurationFiles) 에 정의됩니다. 이들 모두가 언리얼 엔진으로 제작되는
모든 게임의 기반을 이룹니다.
[REGION:raw]
![](ProjectModuleClassOrg.png)
[/REGION]
[](Engine/Basics/Projects) 문서는 새로운 게임 프로젝트 생성을 단계별로 안내해 주는 문서입니다. 게임 프로젝트를 만들고나서는 프로젝트의
[](Engine/Basics/DirectoryStructure) 에 익숙해질 필요가 있습니다. 그래야 어떤 파일이 무엇을 나타내고, 프로젝트에 파일을 새로 추가할 때 무엇은 어디에 가는지 이해하는 데 도움이 됩니다.
프로젝트로 에디터를 실행할 때 [](Programming\Basics\CommandLineArguments) 를 붙여 게임 미리보기 모드로 바로 들어간다든가, 특정 맵에서 시작한다든가 하는 작업이 가능합니다.
## 모듈
[INCLUDE:Programming/Modules/Gameplay#Intro]
게임플레이 모듈 생성 및 사용법 관련 상세 정보는 [](Programming/Modules/Gameplay) 문서를 확인하세요.
#### 모듈 API
모듈 밖에서 접근할 필요가 있는 함수와 클래스는 `*_API` 매크로를 통해 노출시켜야 합니다. 노출되는 각 항목에는 컴파일 시간 비용이 드니, 꼭 필요한 것만 노출시키도록 하십시오. 클래스에 있는 여러 함수중 딱 하나만 접근해야 하는 경우, 클래스 전체가 아닌 그 함수만 노출시키면 상당량의 컴파일 시간을 절약할 수 있습니다.
클래스와 함수를 다른 모듈에 노출시키는 방법 관련 상세 정보는 [](Programming/Modules/API) 문서를 참고하세요.
## 클래스
게임플레이 클래스는 표준 C++ 헤더 파일과 문법에다 언리얼 엔진 고유의 클래스 속성 정의를 돕기 위해 엔진에 정의된 특수 매크로를 함께 사용합니다.
클래스 구조 및 생성 관련 자세한 설명은 [](Programming/UnrealArchitecture/Reference) 문서를 참고하세요.
### 클래스 구현
가장 근본적인 레벨에서, **Actor** (액터)는 레벨에 배치할 수 있는 게임플레이 오브젝트를 말합니다. 모든 액터는 AActor 클래스로부터 확장되며, _스폰가능한_ 게임플레이 오브젝트의 베이스 클래스가 됩니다.
액터라 함은 어떤 면에서 [컴포넌트](Programming/UnrealArchitecture/Actors/Components) 라 불리는 특수 유형 **오브젝트** 를 담는 그릇입니다. 예를 들어 _CameraActor_ 에는 _CameraComponent_ 가 들어있습니다.
![](camera_actor.png)
시야와 같은 카메라의 기능은 모두 _CameraComponent_ 에 들어있습니다. 즉 _CameraComponent_ 는
Character 같은 다른 액터에 포함되어 해당 오브젝트에도 똑같은 카메라 기능을 줄 수 있다는 뜻입니다.
![](pawn_actor.png)
여러가지 유형의 컴포넌트를 사용하여 액터의 이동 방식, 렌더링 방식, 그 외 여러가지 기능 부분을 제어할 수 있습니다. 모든 오브젝트는, 컴포넌트를 포함해서, UObject 클래스에서 확장되며,
이는 모든 게임플레이 오브젝트의 베이스 클래스입니다. 이는 월드에 직접 인스턴싱할 수는 없으며, Actor 에 속해야 한다는 뜻입니다.
각 액터나 오브젝트는 어느 한 클래스의 인스턴스 하나입니다. 클래스는 액터나 오브젝트에 대한 템플릿을 구성합니다. 해당 액터나 오브젝트에 대해 설정 가능한 프로퍼티를, 그리고
해당 액터나 오브젝트 안에서 실행 가능한 함수를 정의합니다. 새 클리스, 또는 새 오브젝트나 액터 유형을 C++ 코드로 만들 수 있습니다. _블루프린트 클래스_ 는 주로 새 액터를 구성하는 클래스를 만드는 데
사용되나, 약간의 오브젝트를 확장시킬 수도 있기는 합니다. C++ 클래스를 새로 만든 다음 그 C++ 클래스에서 _블루프린트 클래스_ 를 파생시키는 방법으로 그 둘을 합칠 수도 있습니다.
새로운 유형의 액터나 오브젝트를 만들 수 있도록 클래스를 생성하는 법에 대해서는 [](Programming\Basics\ClassCreation) 문서를 참고하세요.
오브젝트, 액터, 컴포넌트 관련 상세 내용은 [](Programming/UnrealArchitecture) 문서를 참고하시기 바랍니다.
[OBJECT:TopicList]
[PARAM:icon]
![](%ROOT%/reference_icon.png)(convert:false)
[/PARAM]
[PARAM:title]
관련 페이지
[/PARAM]
[PARAM:description]
[/PARAM]
[PARAM:links]
* [](Programming\UnrealArchitecture\Reference\Classes)
* [](Programming\UnrealArchitecture\Reference\Functions)
* [](Programming\UnrealArchitecture\Reference\Properties)
* [](Programming\UnrealArchitecture\Reference\Structs)
* [](Programming\UnrealArchitecture\Reference\Interfaces)
[/PARAM]
[/OBJECT]