언리얼 프로젝트와 게임플레이

언리얼 엔진의 프로젝트, 레벨, 클래스, 액터에 대한 소개입니다.

Windows
MacOS
Linux

프로젝트의 모든 것은 프로젝트 디렉터리에 들어있습니다. 프로젝트는 원하는 갯수만큼 만들 수 있지만, 각각은 그 자체로 완결성을 띱니다. 언리얼 엔진의 프로젝트 브라우저 를 사용하여 새 프로젝트를 생성 하면 디렉터리 구조언리얼 에디터에서 열어볼 수 있는 언리얼 프로젝트 파일 ([ProjectName].uproject) 등의 필수 프로젝트 프레임워크가 구성됩니다.

프로젝트에는 애셋이 들어있으며, Content 폴더에 .uasset 파일로 저장됩니다. 애셋에는 머티리얼, 스태틱 / 스켈레탈 메시, 블루프린트, 사운드 큐, 텍스처 등이 포함되며, 이들은 재사용가능 참고 자료이자 프로젝트의 오브젝트에서 불러올 수 있는 템플릿입니다.

프로젝트에는 레벨도 포함됩니다. 레벨은 맵이라고도 하며, Content 폴더에 .umap 파일로 저장됩니다. 언리얼 에디터 안에서는 한 번에 하나의 레벨 작업을 하며, 그 레벨이 뷰포트 에 표시됩니다.

map_viewport.png

가장 본질적인 수준에서, Actor, 액터란 (보통) 하나 이상의 컴포넌트로 구성되는 게임플레이 개체로, 레벨 에 배치하거나 게임플레이 도중 스폰 시킬 수 있으며, 멀티플레이 게임에서는 네트워크 리플리케이션을 지원합니다. 위 레벨에서 레벨 가운데 블록인 땅 플랫폼과, 이미지 하단에 보이는 PlayerStart 모두 액터입니다. 모든 액터는 AActor 클래스에서 확장되는데, 이는 스폰 가능한 게임플레이 오브젝트의 베이스 클래스입니다.

액터라 함은 어떤 면에서 컴포넌트 라 불리는 특수 유형 오브젝트 를 담는 그릇입니다. 예를 들어 CameraActor 에는 CameraComponent 가 들어있습니다.

camera_actor.png

시야와 같은 카메라의 기능은 모두 CameraComponent 에 들어있습니다. 즉 CameraComponent 는 Character 같은 다른 액터에 포함되어 해당 오브젝트에도 똑같은 카메라 기능을 줄 수 있다는 뜻입니다.

pawn_actor.png

여러가지 유형의 컴포넌트를 사용하여 액터의 이동 방식, 렌더링 방식, 그 외 여러가지 기능 부분을 제어할 수 있습니다. 모든 오브젝트는, 컴포넌트를 포함해서, UObject 클래스에서 확장되며, 이는 모든 게임플레이 오브젝트의 베이스 클래스입니다. 이는 월드에 직접 인스턴싱할 수는 없으며, Actor 에 속해야 한다는 뜻입니다.

각 액터나 오브젝트는 어느 한 클래스의 인스턴스 하나입니다. 클래스는 액터나 오브젝트에 대한 템플릿을 구성합니다. 해당 액터나 오브젝트에 대해 설정 가능한 변수를, 그리고 해당 액터나 오브젝트 안에서 실행 가능한 함수를 정의합니다. 새 클리스, 또는 새 오브젝트나 액터 유형을 C++ 코드로 만들 수 있습니다. 블루프린트 클래스 는 주로 새 액터를 구성하는 클래스를 만드는 데 사용되나, 약간의 오브젝트를 확장시킬 수도 있기는 합니다. C++ 클래스를 새로 만든 다음 그 C++ 클래스에서 블루프린트 클래스 를 파생시키는 방법으로 그 둘을 합칠 수도 있습니다. 새로운 유형의 액터나 오브젝트를 만들 수 있도록 클래스를 생성하는 법에 대해서는 클래스 생성 기초 문서를 확인하시기 바랍니다.

Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼