게임 콘텐츠의 구조
- 게임 제작을 위해 언리얼 엔진은 자체적으로 설계한 프레임워크를 제공
월드
- 게임 콘텐츠가 담기 위해 제공되는 가상의 공간
- 월드는 시간, 트랜스폼, 틱을 서비스로 제공
- 월드 세팅이라는 콘텐츠 제작을 위한 기본 환경 설정을 제공
- 월드의 기본 단위는 Actor로 정의
- 역할
- 게임 콘텐츠를 담는 공간 (Transform)
- 게임 콘텐츠의 진행 (Tick)
- 게임 흐름을 위한 시간 (Time)
- 기본 환경 설정 (World Setting)
- 월드의 단위 구성 요소 (Actor)
게임 모드
- 게임 규칙을 지정하고 게임을 판정하는 최고 관리자 액터
- 언리얼 엔진에는 하나의 게임에는 반드시 하나의 게임 모드만 존재
- 게임 모드에서 입장할 사용자의 규격을 지정 가능
- 멀티플레이어 게임에서 판정을 처리하는 절대적 권위의 심판 역할
- 역할
- 플레이어 입장 관리
- 게임 최종 승패 관리
- 게임 규칙 관리
- 게임 데이터 검증 (멀티플레이 게임)
기믹
- 게임 진행을 위한 이벤트를 발생시키는 사물 액터
- 주로 이벤트 발생을 위한 충돌 영역을 설정하는데, 이를 트리거(Trigger)라고 함
- 트리거를 통해 캐릭터와 상호 작용하고, 월드에 액터를 스폰해 콘텐츠를 전개
- 역할
- 월드 내 사물과 상호 작용
- 지정된 조건을 만족하면 이벤트 발생
- 월드에 물체를 스폰(Spawn) 가능
플레이어
- 게임에 입장한 사용자 액터
- 게임 모드의 로그인을 통해 사용자가 게임 월드에 입장하면 플레이어가 생성됨
- 싱글 플레이 게임에는 0번 플레이어가 설정
- 사용자와의 최종 커뮤니케이션을 담당
- 역할
- 게임에 입장한 사용자와의 1:1 대응
- 사용자의 현재 상태 및 데이터를 관리
- 사용자 입력의 1차 처리 (필요시)
- 사용자 화면에 대응하는 카메라 관리
- 사용자 화면에 나타나는 HUD UI 관리
폰(Pawn)
- 무형의 액터인 플레이어가 빙의해 조종하는 액터
- 길찾기를 사용할 수 있음
- 기믹 및 다른 폰과 상호작용
- 인간형 폰을 별도로 캐릭터라고 함
- 역할
- 빙의(Possess)를 통해 플레이어와 연결
- 사용자 입력의 실제 처리
- 사용자 화면에 대응되는 카메라 설정
- 기믹과의 상호작용
- 현재 상태에 적합한 애니메이션 재생
실습
- 기본 설정
- 폴더 별 분류
- 헤더 참조 최소화 규칙
static ConstructorHelpers::FClassFinder<APlayerController> PlayerControllerClassRef(레퍼런스 경로);
if (PlayerControllerClassRef.Class)
{
PlayerControllerClass = PlayerControllerClassRef.Class;
}