Gameplay Framework Quick Reference

Game Mode and Game State

1. User Interfaces & HUDs

게임과 플레이어의 소통 방법은 정말 중요하다. User Interface (유저 인터페이스, UI) 및 Heads-up DIsplay (HUD)는 플레이어에게 게임에 대한 정보를 표시해 주기도 하고, 가끔은 플레이어와의 상호작용이 가능하기도 한다.

언리얼 엔진 4는 UI와 HUD 제작 수단을 제공하고 있다. Canvas 클래스는 로우 레벨에서 화면에 직접, 월드에 오버레이 형식으로 겹쳐 그리는 데 사용되는 클래스이다.

게임의 Interface는 플레이어에게 정보를 전달하고 사용자에게 지시된 입력을 받는 수단을 제공하기 위해 사용된다. 게임 인터페이스는 일반적으로 두 가지 주요 요소로 구성된다. 하나는 HUD와 메뉴 또는 UI이다.

HUD는 게임플레이 도중 화면 위에 겹쳐놓이는 계기판이나 정보를 가리킨다. HUD의 목적은 플레이어에게 점수, 생명력, 남은 시간 등 게임의 현재 상태를 알리는 것이다. HUD는 보통 상호작용 요소가 아니다. 즉 플레이어는 HUD 요소를 클릭할 수 없다는 뜻으로, HUD와 UI 구분이 힘든 특정 유형의 게임에서는 회색 영역이 되기도 한다.

UI는 메뉴와 기타 상호작용형 요소를 말한다. 이러한 요소는 보통 HUD와 매우 흡사하게 화면상에 그려지지만, 특정 상황에서는 월드의 표면위에 렌더링되는 게임 월드 자체의 일부가 되기도 한다. UI의 가장 명확한 예는 게임 시작시 표시되는 메인 메뉴나, 플레이어가 게임을 일시정지시킬 때 뜨는 메뉴이다. 그 외에도 플레이 도중 다른 UI가 표시될 수도 있다. 이를 통해 게임 내 캐릭터간의 대화를 표시할 수도 있고, RTS나 RPG처럼 좀 더 복잡한 상황에서는 플레이어의 무기, 갑옷, 빌드할 유닛 등의 선택을 위한 게임플레이 핵심 요소가 될 수도 있다.

HUD

HUD는 화면에 겹쳐놓이는 요소 표시를 위한 기반 오브젝트이다. 게임에서 사람이 제어하는 플레이어는 자체적인 AHUD 클래스를 가지고 있어, 독자적인 뷰포트를 그린다. 분할화면 멀티플레이어 게임의 경우, 다수의 뷰포트에서 같은 화면을 공유하긴 하지만, 각각의 HUD는 여전히 자신의 뷰포트에 그린다. 사용할 HUD의 유형이나 클래스는 사용중인 게임 타입에 지정된다.

캔버스

Canvas는 화면에 텍스트, 텍스처, 머티리얼 타일, 임의의 트라이앵글, 단순 프리미티브 모양 등의 요소를 그리기 위한 HUD 렌더 루프 도중 사용할 수 있는 오브젝트이다. 다른 전용 툴을 활용하지 않는 경우, 언리얼 엔진으로 제작하는 게임에서의 HUD와 UI를 제작하는데 있어 사용되는 방법은 캔버스에 그리는 것이다.

슬레이트

Slate는 언리얼 엔진4와 함께 제공되는 플랫폼 무관, 완벽한 커스텀 유저 인터페이스 프레임워크로, 언리얼 에디터와 같은 툴과 어플리케이션에 쓸 유저 인터페이스나 게임 내 유저 인터페이스의 재미와 효율을 높일 수 있도록 디자인된 것이다. 서술형(declarative) 문법에 쉬운 디자인, 레이아웃, 스타일 요소가 결합된 Slate를 통해 쉬운 UI 제작 및 반복작업이 가능할 것이다.