학습 목표
언리얼 엔진에서 핵심 개발 요소들의 역할에 대해서 설명할 수 있다.
언리얼엔진은 게임 '프레임 워크' 구조를 가지고 있다.

PlayerController(접속한 유저, 사용자)가 Pawn(액터의 한 종류)을 소유한다(Possess)
PlayerController(접속한 유저, 사용자)는 HUD, Input, PlayerCameraMnager로 구성이 되어있다.
위 요소들은 레벨(Level)안에서 함께 동작한다.
액터들이 실질적인 오브젝트로 존재하고,
UI를 통해 플레이어와 정보를 주고받는다.
레벨은 게임이 진행되는 맵, 또는 무대를 말한다.
하나의 레벨을 메인레벨로 두어도 되고, 필요한 경우 서브레벨도 둘 수 있음.



컨트롤러(Controller)

소유 상태가 바뀌면, 다른 폰을 조종하거나 새로운 캐릭터로 교체할 수도 있다.
AI 컨트롤러

AI 전용 블루프린트나 C++클래스를 만들어서 행동 트리를 통해 의사결정을 구현함.
UI(User Interface) 시스템
UMG(Unreal Motion Graphics) 소개

액터(Actor)의 기본 구성과 생명주기
Actor는 레벨에 배치할 수 있는 모든 오브젝트이다.
초기화 > 시작(Spawned) > Tick(프레임마다 업데이트) > Destroy 등의 흐름을 가진다.
Pawn, Character, 그리고 컴포넌트
Pawn
액터를 상속받아 조종 가능한 특징을 더한 클래스
Character
Pawn을 상속받아 걷기, 달리기, 점프 등의 이동 로직이 포함된 클래스
컴포넌트
액터가 자기 자신의 서브 오브젝트로 어태치할 수 있는 특수한 타입의 오브젝트
이벤트와 상호작용
액터는 블루프린트 이벤트(Begin Play, Tick, Overlap 등)를 통해 상호작용 로직을 구현함
예) 문에 다가가면 문이 열림.