🔤

용어정리

Object

모든 프로젝트 내부의 요소는 Object 로 구성
OOP 기준
C++ Class 를 extends 하여 구성한다
Object 는 모두 Blueprint 화 할 수 있다
UObject 상속

Blueprint (= class)

Object 를 Instance 화 하여, 이를 복제 가능 대기 상태로 만든 것.
Script → UI 화 한것
모든 Blueprint 는 C++ 스크립트화 할수 있다 → 데이터 손실우려가 있으므로 어느정도 스케치가 끝나면 바로 스크립트화 해서 관리하는것이 좋다
flowchart LR

Object
Script
Blueprint

Object -->|extends|Script
Object -->|extends|Blueprint

Mermaid
복사

Actor

레벨에 배치 할 수 있는 모든 오브젝트
Class, Blueprint 에서 인스턴스화 하여 Spwan, Destruction 될 수 있다
AActor 상속

Component

Actor 가 가질수 있는 기능 조각
Actor 와 함께 작동하며, Actor 없이 작동 불가능
flowchart LR
object[UObject]

subgraph AActor
	component[Component]
end

object -.-> |extends| AActor
Mermaid
복사

Pawn

AActor 의 Subclass, In game 에서 활동하는 캐릭터 등
Player 또는 NPC 등으로 존재
게이머 → Player 컨트롤 = Possessed [=빙의],
→ 컨트롤 해제시 Unpossessed [=빙의 해제]

Character

AActor 의 서브 클래스, 사용자가 컨트롤하게 되는 오브젝트

Player controller

게이머의 조작을 입력받아 특정 AActor 를 동작하게 하는 것
APlayerController

AI Controller

특정 로직에 따라 자동으로 AActor 를 동작하게 하는 것
가상의 플레이어가 Possessed 한다!
Pawn 에게 따로 Controller 를 지정하지 않았다면, 자동으로 연결된다!
AAIController
flowchart

UObject -.-> |extends| AActor

subgraph AActor
	Pawn
	Character
end

subgraph Controller
	AIController
	PlayerController
end



Controller -.-> |Control| AActor
Mermaid
복사

Player state

게임 참여자의 상태값
게이머 1개씩 해당
멀티플레이의 경우 복제된 각 게이머의 상태가 모두에게 존재
→ 원본데이터는 서버에서 관리
APlayerState

GameMode

게임규칙
플레이어 참여 여부
일시정지
승리 조건등
특징
Level 당 1개의 GameMode 만 존재
멀티플레이시 서버에 1개 존재, 나머지 게이머에게는 레플리카가 전송됨
CPP Class:
AGameMode

GameState

모든 사람에 적용할 상태값 관리
멀티 플레이시 각 게이머가 독립적으로 가진다
AGameState

Brush

Level geometry를 구성할떄 사용하는 툴
Binary space partition 이라고도 한다
지형을 디자인한다

Volume

연결된 효과에 따라 용도가 달라지는 3D 공간
1.
Blocking Volumes - Actor 가 통과하지 못하게 막는다
2.
Pain Causing Volumes - Overlap 되는 Actor 에게 지속적으로 이벤트를 유발
3.
Trigger Volumes - Actor 가 들어오거나 나갈때 이벤트를 유발

Level

제작자가 정의하는 게임플레이 영역
Map 이라고 불리기도 한다

World

모든 Level 이 담겨 있는 컨테이너. Level 의 스트리밍과 Actor 의 생성미 소멸 등을 처리