'전체 글'에 해당되는 글 262건

  1. 2026.09.07 언리얼 게임 프레임워크 주요 클래스 정리
728x90
[UGameInstance]   // 게임 전체에서 단 하나, 앱 실행~종료까지 유지
     │
     └─[UWorld]   // 맵(레벨) 단위로 존재, 맵이 바뀌면 새로 생성
          │
          ├─[AGameModeBase / AGameMode]   // 서버(Authority)에서만 존재, 게임 규칙/진행 관리
          │     │
          │     └─[AGameStateBase / AGameState]   // 서버/클라이언트 모두에 존재, 게임 상태 동기화
          │           │
          │           └─[APlayerState]   // 각 플레이어별로 존재, 점수/팀/닉네임 등 상태 동기화
          │
          └─[APlayerController]   // 각 플레이어별로 존재, 입력/카메라/조작 담당
                │
                ├─[APlayerState]   // PlayerController가 소유(참조)함 (상속X, 소유/참조 관계)
                │
                └─[APawn / ACharacter]   // 실제 월드에서 움직이는 캐릭터/오브젝트, PlayerController가 소유(조작)

각 클래스의 역할 및 관계
• UGameInstance
• 게임 전체에서 단 하나만 존재 (앱 실행~종료까지)
• 레벨이 바뀌어도 유지됨
• 글로벌 매니저, 네트워크, 로그인 등 전역 데이터 관리


• UWorld
• 하나의 맵(레벨) 단위로 존재
• 맵이 바뀌면 새로 생성됨


• AGameModeBase / AGameMode
• 서버(Authority)에서만 존재
• 게임 규칙, 승패, 플레이어 입장/퇴장, 매치 흐름 등 관리
• 한 맵에 하나만 존재


• AGameStateBase / AGameState
• 서버/클라이언트 모두에 존재
• 게임의 현재 상태(점수, 남은 시간 등)를 동기화
• 한 맵에 하나만 존재


• APlayerController
• 각 플레이어(로컬/원격)마다 하나씩 존재
• 입력 처리, 카메라, UI, Pawn 조작 등 담당
• 서버/클라이언트 모두에 존재
• PlayerState를 소유(참조)함
(상속 관계가 아니라, 멤버 변수로 참조)


• APlayerState
• 각 플레이어마다 하나씩 존재
• 점수, 팀, 닉네임 등 플레이어 상태 동기화
• 서버/클라이언트 모두에 존재
• PlayerController와 1:1로 연결
(PlayerController가 PlayerState를 참조)


• APawn / ACharacter
• 실제 월드에서 움직이는 캐릭터/오브젝트
• PlayerController가 소유(조작)함

728x90
Posted by 정망스
,


맨 위로
홈으로 ▲위로 ▼아래로 ♥댓글쓰기 새로고침