[정리] 언리얼 엔진 기초 개념 정리
태그: Actor, Character, Game Engine, GameMode, Input, Pawn, Unreal, World
카테고리: UnrealDocs
월드 (World)
- 게임 콘텐츠를 담기 위해 제공되는 가상의 공간
- 월드는 시간, 트랜스폼, 틱을 서비스로 제공한다.
- 월드 세팅이라는 콘텐츠 제작을 위한 기본 환경 설정을 제공한다.
- 월드의 기본 단위는 액터(Actor)>로 정의되며, 액터 클래스는 접두사
A
를 사용한다. - Transform, Tick, Time, World Setting, Actor
게임 모드 (GameMode)
- 게임 규칙을 지정하고 게임을 판정하는 최고 관리자 액터.
- 형태가 없음! 논리적인 단위로만 존재.
- 언리얼 엔진에서 하나의 게임에는 반드시 하나의 게임 모드만 존재한다.
- 게임 모드에서 입장할 사용자의 규격을 지정할 수 있다.
- 멀티플레이 게임에서 판정을 처리하는 심판 역할
폰 (Pawn)
- 무형의 액터인 플레이어가 빙의해 조종하는 액터 (액터를 상속 받음)
- 길찾기를 사용할 수 있으며, 기믹 및 다른 폰과 상호작용한다.
- 폰 중에서 인간형 폰을 별도로 캐릭터(Character) 라고 지칭한다.
- 빙의를 통해 플레이어와 연결, 사용자의 입력 처리, 화면에 대응하는 카메라 설정, 기믹과 상호작용, 애니 재생
캐릭터 (Character)
인간형 폰을 구성하도록 언리얼이 제공하는 전문 폰 클래스이다.
- 기믹과 상호작용을 담당하는 캡슐 컴포넌트 (루트 컴포넌트)
- 애니메이션 캐릭터를 표현하는 스켈레탈 메시 컴포넌트
- 캐릭터의 움직임을 담당하는 캐릭터 무브먼트 컴포넌트
액터 (Actor) 의 구조
- 월드의 속한 콘텐츠의 기본 단위를 액터라고 한다.
- 액터는 트랜스폼을 가지며, 월드로부터 틱과 시간 서비스를 제공 받는다.
- 액터는 다수의 컴포넌트를 가지고 있으며, 컴포넌트롤 통해 구현을 하고, 액터는 사실 컴포넌트를 감싸고 있는 형태인 것이다.
- 다수의 컴포넌트를 대표하는 컴포넌트를 Root Component라고 한다.
- 액터는 Root Component를 가져야 하며, 루트 컴포넌트의 트랜스폼은 즉 액터의 트랜스폼이 된다.
C++ 액터에서 컴포넌트의 생성
- 컴포넌트는 언리얼 오브젝트이므로
UPROPERTY
를 설정하고TObjectPtr
로 포인터를 선언한다. - CDO에서 생성된 컴포넌트는 자동으로 월드에 등록된다.
NewObject
로 생성한 컴포넌트는 반드시 등록절차를 거쳐야 한다. (예: RegisterComponent)- 등록된 컴포넌트는 월드의 기능을 사용할 수 있으며, 물리와 렌더링 처리에 합류한다.
- 컴포넌트 지정자
- Visible / Edit : 객체타입과 값타입으로 사용
- Anywhere / DefaultsOnly / InstanceOnly : 에디터에서 편집 가능 영역
- BlueprintReadOnly / BlueprintReadWrite : 블루프린트로 확장시 읽기 혹은 읽기쓰기 권한을 부여
- Category : 에디터 편집 영역(Detail) 에서의 카테고리 지정
댓글남기기