본문 바로가기

공부/언리얼엔진

개요 - 용어

언리얼 엔진에 대해 공부하기 전에

흔히 사용되는 용어에 대한 정리이다.

그동한 노트에 수기로 공부하며 작성한 내용들을 기반으로

계속해서 업데이트 될 포스트다.

 

1. 프로젝트 Project

프로젝트란 게임을 이루는 컨텐츠와 코드가 들어있는 독립적인 유닛

저장소 상의 Directory 세트와 일치한다.

.uproject 파일을 의미하기도 하지만

해당 파일은 내부의 파일들을 생성/open/저장 하는 레퍼런스 파일을 의미한다.

참고 https://docs.unrealengine.com/ko/Engine/Basics/Projects/index.html

 

2. 오브젝트 Object

언리얼 엔진의 기본 구성요소를 의미한다.

게임 에셋에 대한 본질적인 내부적 함수성이 다수 포함된다. (상속의 의미)

 

3. 클래스 Class

게임 제작에 사용되는 특정 액터/오브젝트의 작동방식 및 프로퍼티를 정의한다.

계층구조식으로 이루어져 부모클래스를 기반으로 파생되어

정보를 자손에게 물려줄 수 있다. (Sub Class)

 

4. 액터 Actor

레벨에 배치할 수 있는 오브젝트를 의미한다.

3D 트랜스폼(이동/회전/스케일 등)을 지원하는 범용 클래스이다.

트랜스폼을 가지는 물체이며 설계된 역할에 따라 동작한다.

 

5. 컴포넌트 Component

액터에 추가할 수 있는 함수성 조각이다.

컴포넌트는 독립적으로 존재할 수 없지만 액터에 추가하면

자립적인 함수성 조각으로 사용될 수 있다.

 

6. 폰 Pawn

액터의 서브클래스로 게임 내 아바타 또는 페르소나 역할을 한다.

Playable/Non-Playable 캐릭터 형태로 사용될 수 있다.

 

7. 캐릭터 Character

폰 액터의 서브클래스로 Playable 캐릭터에 사용된다.

콜리전 셋업, 입력 바인딩, 플레이어가 제어하는 이동에 대한 부가 코드가 포함된다.

 

8. 플레이어 컨트롤러 Player Controller

플레이어의 입력을 받아 게임 내 상호작용으로 변환하는 데 사용되는 베이스 클래스.

모든 게임에는 최소 하나 이상의 플레이어 컨트롤러가 있다.

종종 게임 내의 캐릭터에 빙의하기도 한다.

멀티플레이 게임의 경우 네트워크 상호작용의 지점이 되기도 한다.

서버는 모든 플레이어 각각에 대해 하나의 플레이어 컨트롤러 인스턴스를 갖는데

이는 각 플레이어로의 네트워크 함수 호출이 가능해야하기 때문이다.

각 클라이언트는 해당 플레이어의 플레이어 컨트롤러를 가지기 때문에 서버와 통신할 수 있다.

 

9. AI 컨트롤러 AIController

Non-Playable 캐릭터의 표상으로 폰을 빙의한다.

따로 만들어주지 않으면 기본 AI컨트롤러를 갖는다.

 

10. 브러시 Brush

레벨 지오메트리(BSP) 및 게임플레이 볼륨을 정의하기 위해 레벨에 배치하는 3D 볼륨.

블로킹 볼륨(보이지 않으나 액터의 통과를 막는),

페인코징 볼륨(겹치는 액터에게 시간에 따라 대미지를 입히는),

트리거 볼륨(액터가 드나들 때 이벤트 유발용으로 사용되는) 등을 예로 볼 수 있다.

 

11. 레벨 Level

게임플레이를 위해 정의된 영역.

.umap 파일로 저장되며 흔히 맵이라고 불리기도 한다.

 

12. 월드 World

로드된 레벨 목록이 포함된다.

레벨 스트리밍 및 동적인 액터 스폰을 처리한다.

월드는 항상 퍼시스턴트 레벨을 가진다.

 

13. 게임모드 GameMod

해당 클래스는 플레이 중인 게임의 규칙 설정을 담당한다.

규칙에는 게임 참가 방식, 일시정지 가능 여부, 레벨 전환, 승리 조건 등을 포함할 수 있다.

레벨 당 항상 단 하나의 게임모드가 존재한다.

멀티 플레이 게임에서는 서버에만 존재하며 규칙은 리플리케이션을 통해

각 클라이언트에 전송된다.

 

14. 게임 스테이트 GameState

게임 내의 모든 클라이언트들에게 리플리케이트할 정보가 들어있다.

게임 점수, 게임 시작 여부, 월드 내 플레이어 수 등의 정보를 포함할 수 있다.

멀티플레이 게임의 경우 각 플레이어의 머신마다 게임스테이트 인스턴스가 하나 있으며

서버의 인스턴스가 오소리티된다.

 

15. 플레이어 스테이트 PlayerState

Player / NPC와 같은 게임 내 참가자의 상태를 나타낸다. 

게임 월드의 일부로 존재하는 플레이어가 아닌 AI의 경우 플레이어 스테이트가 없다.

플레이어 이름/점수, 현재 레벨, 생명력 등의 정보를 포함할 수 있다.

멀티플레이 게임의 경우 모든 플레이어에 대한 플레이어스테이트는 모든 머신에 존재한다.

서버에서 클라이언트로 프로퍼티를 리플리케이트하여 동기화 상태 유지가 가능하다.

 

16. 레퍼런스 Reference

언리얼 오브젝트를 참조하는 안전한 C++ 포인터를 의미한다.

블루프린트 내에서는 물체에 명령을 전달할 수 있는 핀을 가진 노드를 뜻한다.

 

17. 퍼시스턴트 레벨 Persistent Level

월드에 포함되는 고정 레벨

퍼시스턴트 레벨에 여러 개의 서브 레벨을 부착할 수 있다.

 

18. 서브(스트리밍) 레벨 Sub(Streaming) Level

필요에 따라 포함/비포함 여부를 설정할 수 있는 레벨

원점 트랜스폼을 조절하면 다양하게 활용할 수 있다.

 

19. 빙의 Possess

월드에 존재하는 폰은 모두 플레이어가 조종할 수 있다.

이 중 하나를 조종하기 위해 빙의할 수 있다.

입력과 출력(뷰타겟)을 지정한 폰에게 부여하는 기능이라 볼 수 있다.

 

20. 뷰 타겟 View Target

1/3인칭 게임에서 플레이어의 화면은 항상 폰을 따라 움직인다.

전지적 시점을 가지는 경우도 있기도 하다.

카메라 기능을 이용해 화면을 표시하는 액터를 뷰 타겟이라고 한다.

 

21. 카메라 매니저 Camera Manager

플레이어 화면 (Client Viewport)를 담당하는 카메라를 관리한다.

카메라가 지정된 범위 내에서만 움직이도록 제아한다.

현재 카메라의 위치/방향을 알 수 있다.

 

22. 애님 인스턴스 Anim Instance

애니메이션 블루프린트에서 생성된 애니메이션을 관리하는 시스템.

시스템을 소유하는 액터가 존재하지만 독립적으로 동작한다.

소유자인 액터로부터 물리적/공간적 정보를 얻을 수 있다.

소유자에게 애니메이션 재생 정보/신호를 보낼 수 있다.

 

 

'공부 > 언리얼엔진' 카테고리의 다른 글

컴포넌트  (0) 2023.03.25
블루프린트 통신  (1) 2023.03.21