2026/1/30 TIL
강의 요약
1-5. 레벨, 컨트롤러, UI, 액터 등 개발의 요소
게임플레이 프레임워크

레벨 안에서 함께 동작
레벨의 개념과 구조
레벨: 게임이 진행되는 맵, 장면, 또는 무대
기본이 되는 Persistent Level(메인 레벨)을 두고, Sub-level(서브 레벨)을 추가로 불러와서 사용
지형, 조명, 인테리어 등 기능적 구분을 위해 레벨을 여러 개로 나눌 수 있음
레벨 블루프린트
-> 다른 레벨로 이동하는 블루프린트 작성 가능
컨트롤러
플레이어 컨트롤러
플레이어가 입력한 키보드/마우스/패드 신호를 받아 게임 내 행동으로 연결
플레이어 뷰, UI 조작에도 중요한 역할 수행
일반적으로 하나의 PlayerController를 가짐
컨트롤러와 폰의 관계
컨트롤러는 폰(Pawn)을 '소유(possess)' 하여 직접 제어할 수 있음
플레이어 컨트롤러가 캐릭터를 소유하면, 키보드 입력이 그 캐릭터의 움직임으로 이어진다.
소유 상태가 바뀌면, 다른 폰을 조종하거나 새로운 캐릭터로 교체 가능
AI 컨트롤러
NPC나 적 캐릭터의 인공지능 로직을 담음
AI 전용 블루프린트나 c++ 클래스를 만들어, Behavior Tree 등을 통해 의사결정 과정을 구현

UI(User Interface) 시스템
UMG (Unreal Motion Graphics)
언리얼 엔진에서 UI를 만드는 전용 툴이자 프레임워크
액터
레벨에 배치할 수 있는 모든 오브젝트
액터의 기본 구조와 생명주기
초기화 → 시작(spawned) → Tick(프레임마다 업데이트) → Destroy
Pawn, Character, 그리고 컴포넌트(Component)
Actor >> pawn >> character
Pawn: 액터를 상속받아 "조종 가능한"특징을 더한 클래스
caracter: Pawn을 상속받아 "걷기, 달리기, 점프" 등의 이동 로직이 포함된 클래스
컴포넌트: 자기 자신에 서브 오브젝트로 어태치할 수 있는 특수한 타입의 오브젝트(Object). 특정 기능이 담겨있는 액터.
이벤트(Event)와 상호작용
액터는 블루프린트 이벤트(BeginPlay, Tick, Overlap)를 통해 상호작용 로직을 구현함
BeginPlay : 레벨이 시작되면 발생
Tick: 매 프레임마다 발생
Overlap: 겹침, 충돌 시 발생
ex) 문 (Actor)에 가까이 가면 자동으로 열리는 이벤트 처리 등
언리얼+블루프린트
1-2. 블루프린트 프로그래밍 기초
레벨에서 블루프린트 사용 방법
메인툴바 블루프린트 → 레벨 블루프린트 열기
그래프
EventGraph 어떤 상황에서 어떤 행동양식을 취할 것인지 정하는 구조
- Event Begin Play : 게임이 시작 될 때 발생
- Event Tick : 매 프레임 이벤트 발생
함수
미리 행동 양식을 정해놓는 것
변수
임시로 데이터를 저장 (bool, byte, integer, float 등등)
이벤트 디스패쳐
특정한 상황을 만들어주는 것