프로젝트 개요 / Overview
- 프로젝트 제목 | PlanetX
- 프로젝트 분류 | Unreal Engine 5 기반 행성 제작 및 Orbit-to-Ground 전환 플러그인
- 개발 과정 | KRAFTON Jungle GameTech Lab 3기 Epic Project
- 인력 구성 | LabX 팀 프로젝트
- 배포 | 2026.08 Fab 출시
- 프로젝트 소개
기존 Unreal Engine Level을 유지하면서, 궤도에서 지상으로 진입해 플레이하고 다시 우주로 돌아가는 경험을 연결하는 플러그인
기술 스택 / Tech Stack
- Engine : Unreal Engine 5.8
- Language : C++, Unreal Engine Blueprint
- Tools : Perforce, Unreal Editor, Level Sequence
- Platform : Windows 64-bit
기여 / Contribution
행성 좌표와 전환 API, Proxy Bake 도구 및 데모의 게임플레이 전환을 담당
- Planet / Section / Coordinate Frame 데이터 모델과 런타임 구조 설계
- 표면 질의, 착륙 위치 계산과 World / Level 전환 API 구현
- Proxy Bake의 입력 검토, 결과 저장과 Preview 리소스 관리
- 시네마틱에서 플레이어 조작으로 이어지는 카메라 / Pawn / HUD / 입력 전환 구현
- Dropship 이동 조작과 속도 / FOV 정책 구현 및 테스트 코드 작성
- Fab 배포 패키지와 한·영 문서, Quick Start 정리
Key Features
- 행성 좌표와 공개 API
- 행성 좌표와 Section 기준으로 위치·방향·표면 정보를 해석
UPlanetXSubsystem을 통해 Blueprint / C++ 공개 API 제공- 좌표 계산과 전환 정보는 플러그인에서 관리하고, Level 로딩과 Pawn 생성은 게임에서 처리
- Orbit / Ground 전환
- 같은 World에서 Orbit과 Ground를 연결하는 방식과 별도 Level로 이동 상태를 넘기는 방식 지원
- 위치·회전·이동 상태와 전환 결과를 명시적으로 전달
- Orbit Proxy는 시각 표현으로 사용하고, Collision / Navigation / Gameplay는 원본 Ground Level에서 수행
- Proxy Bake 제작 흐름
- Source 검토 → 출력 계획 → Bake → Preview 순서로 행성 프록시 제작
- HLOD / 원본 Mesh, Landscape / Foliage 등의 입력과 누락·호환성 상태 확인
- Editor 내부와 외부 프로세스에서 Bake 실행, Monitor로 진행률과 실패 원인 표시
- Preview 데이터 로딩·해제와 메모리, 프레임별 등록 비용 관리
- 시네마틱과 플레이어 조작 연결
APlanetXDemoCinematicManager에서 Intro / GoToGround / GoToOrbit 재생과 시작 조건 관리- 배치된 LevelSequenceActor와 Binding Tag로 카메라·시네마틱 Actor 연결
- Ground 진입 시점에 Pawn Possession, 카메라 Blend, 입력·HUD 상태를 함께 전환
- 팀원이 제작한 GoToOrbit 시퀀스와 전투 / VFX를 Manager의 전환 흐름에 연결
- Dropship 속도와 FOV 정책
- Mouse Wheel로 1x~50x Cruise Speed 조절
- Shift는 현재 Wheel 배율과 곱하지 않고 Base Speed 기준 100x로 고정
- 속도에 따른 FOV 처리와 Wheel / Shift 입력 조건별 테스트 코드 작성

문제 해결 사례 / Trouble Shooting
문제
- Level Sequence에서 Ground Gameplay로 전환할 때 카메라 소유권이 겹치거나 비는 순간 발생
- 시네마틱 종료 시 원래 카메라 상태가 복원되며 화면이 순간적으로 튀는 문제
원인 분석
- Sequencer의 Camera Cut과 Gameplay의 ViewTarget / Pawn 전환이 서로 다른 시점에 실행됨
- Sequence 정리 과정의 Pre-Animated State 복원과 게임플레이 카메라 전환이 충돌
해결 방법
- 시네마틱 Manager에서 현재 Camera Transform / FOV와 전환 상태를 관리
- Ground 진입 구간에서 Pawn Possession을 전환하고, 3초 Camera Blend 적용
- Blend 구간에는 Sequencer가 ViewTarget을 다시 변경하지 않도록 제어
- Pawn Possession과 HUD·입력 해제를 같은 전환 흐름에 연결
결과
- 시네마틱 종료와 플레이어 조작 시작 사이의 카메라 소유권 공백 제거
- Orbit → Ground 전환에서 연출과 게임플레이가 하나의 흐름으로 이어지도록 안정화
배우고 느낀 점 / Retrospective
PlanetX는 기존 Level과 Pawn을 사용하는 게임에서도 동작해야 했기 때문에, 플러그인과 게임의 역할을 나누는 것이 중요했습니다. 행성 좌표와 전환 정보는 플러그인에서 관리하고, Level 로딩과 Pawn 생성은 게임에서 결정하도록 구조를 정리했습니다.
데모의 카메라 전환을 구현하며 Sequencer와 게임플레이의 제어 시점이 겹치면 화면이 튀는 문제를 경험했습니다. Camera Cut, Pawn Possession과 입력·HUD의 전환 시점을 함께 정리하며, 연출이 끝난 뒤 플레이어가 자연스럽게 조작을 이어갈 수 있도록 구현했습니다.
관련 자료 / Links
-
Youtube
-
Fab
-
Playable Demo
-
Documentation
-
포스터

