본문으로 이동
imjae.DCB / UNREAL ENGINE
← Portfolio

ENGINE PORTING / UNITY → UNREAL ENGINE

DCB
언리얼 엔진 포팅

Unity로 개발한 DCB를 AI와 함께 언리얼 엔진으로 옮기고 있습니다. 리소스·데이터를 가져오는 변환 도구와 C++ 실행 구조를 만들고, 기능별 동작을 원본과 맞춰 가고 있습니다.

  • Unreal Engine 5.8
  • C++
  • Enhanced Input
  • UMG
  • Niagara

포팅 진행 중2026.10.29 기준

기본 실행 구간을 연결한 단계입니다. 원본 게임 전체의 동작과 표현을 맞추는 작업은 계속 진행합니다.

01 / PORTED

지금까지 포팅한 내용

기능별로 옮긴 동작과 현재 적용 범위를 소개합니다.

01 / ASSETS & DATA변환 기반 구현

리소스와 장면의 참조를 함께 옮기기

Unity의 폴더 구조와 원본 식별자를 유지하면서 메시·텍스처·재질·사운드·데이터와 씬·프리팹을 언리얼 에셋으로 가져오는 도구를 만들었습니다.

  • 좌표축과 미터·센티미터 단위를 변환하고, 씬과 프리팹의 계층·비활성 상태·리소스 참조를 연결했습니다.
  • 밸런스 값과 복합 데이터를 옮기고, 원본을 다시 찾을 수 있도록 출처를 보존했습니다.

현재 범위리소스 변환과 참조 연결까지 옮겼습니다. 커스텀 셰이더·지형·조명은 원본과 표현을 맞추는 작업이 남아 있습니다.

02 / MOVEMENT & CARRY기본 동작 연결

이동·지게·스태미너를 C++로 연결하기

Enhanced Input과 CharacterMovement를 중심으로 보행·달리기·질주, 지게 상태와 짐 무게에 따른 이동을 연결했습니다.

  • 원본 부담 곡선과 이동 배율을 편집 가능한 데이터로 옮겨 적재량·과적·행동 비용에 적용했습니다.
  • 스태미너 소모·회복·고갈과 이동 단계 변경, 지게 보유·운반 상태를 함께 처리합니다.

현재 범위일반 이동과 운반 규칙의 기본 구현입니다. 원본의 등반·턱 오르기·옆걸음과 손발 IK는 이후 이식 범위입니다.

03 / GAMEPLAY LOOP작은 실행 구간 연결

수거·기본 전투·귀환·저장으로 한 차례의 출정 만들기

분리된 작은 맵에서 가지 채집과 상자 수거, 근접 공격·회피, 적의 추적·공격, 귀환과 저장이 이어지도록 구성했습니다.

  • 한 공격에서 같은 대상에 피해가 중복 적용되지 않게 하고, 체력·피격·사망을 연결했습니다.
  • 성공 귀환은 적재물을 보관함에 더하고, 사망 시에는 적재물을 잃되 기존 보관함을 유지합니다. Unreal 전용 저장 슬롯으로 재로드와 재출발을 처리합니다.

현재 범위공격은 즉시 근접 판정이며, 귀환은 같은 맵의 캠프 복귀입니다. 무기별 콤보·패링·그룹 전투와 로비 전환 전체는 포함하지 않습니다.

04 / ANIMATION모션 연결 · 부분 이식

원본 리그의 모션을 언리얼 시퀀스로 굽기

원본 클립 250개를 대상 리그 7개에 맞춰 258개 시퀀스로 베이크했습니다. 플레이어와 사무라이의 대표 동작에 클립을 연결했습니다.

  • 플레이어의 맨손·운반 대기와 이동, 맨손 공격·구르기·사망, 사무라이의 대기·추적·공격·피격·사망을 연결했습니다.
  • Animator의 상태·파라미터·전이 조건을 데이터로 보존하고, 상자 뚜껑과 HUD의 일부 속성 애니메이션도 옮겼습니다.

현재 범위현재 캐릭터는 동작에 맞는 클립을 직접 재생합니다. 상태 데이터와 클립 참조 연결은 BlendTree·추가 레이어·교차 페이드·루트 이동 전체의 재현과 구분합니다.

05 / UI & INVENTORY기본 UI 동작 연결

인벤토리에서 내려놓고 다시 수거하기

기존 UI의 레이아웃을 UMG로 가져오고, 체력·스태미너·무게 표시와 인벤토리 스택 선택·내려놓기를 연결했습니다.

  • 선택한 아이템 한 개를 내려놓으면 수량과 해당 무게를 차감하고, 월드에서 다시 수거할 수 있습니다.
  • 인벤토리를 여는 동안 이동·공격·채집 입력을 제어하고, 닫을 때 게임 입력을 복원합니다.

현재 범위내려놓은 아이템은 임시 큐브로 표시합니다. 실제 아이콘·장비·제작·거래·툴팁과 복잡한 UI 레이아웃은 추가 이식 대상입니다.

06 / NIAGARA기본 모듈 부분 이식

파티클의 발생 규칙과 수명 곡선 옮기기

Unity 파티클의 기본 발생률·버스트·속도·수명과 색·크기 곡선을 Niagara 시스템으로 옮겼습니다.

  • 빌보드·메시·늘림·수평 빌보드 렌더러의 일부 표현과 비활성 자식 상태를 반영했습니다.
  • 같은 원본 효과를 찾아 기본 채집·타격 호출에 연결하고, 파티클 색과 알파를 받을 수 있도록 파생 재질을 구성했습니다.

현재 범위지원하는 모듈부터 옮긴 단계입니다. Noise·Trail·Collision·SubEmitter와 복합 셰이더는 원본 효과에 맞춘 재구성이 필요합니다.

02 / IN PROGRESS

현재 진행 중인 내용

기능별 C++ 구조를 익히고, 기본 이식본을 원본 게임의 동작으로 확장하고 있습니다.

진행 중 · 별도 C++ 실습

입력·캐릭터·지게 상태의 실행 흐름 정리

C++ Actor·Character·GameMode를 직접 구성하고, 기존 전환본의 입력과 이동·운반 규칙을 기능별로 나누어 다루고 있습니다. 마우스 시점, 입력 종료·취소, 걷기·질주와 짐 무게에 따른 속도를 연결하는 단계입니다.

이 작업은 본 전환본과 분리한 실습 프로젝트에서 진행합니다. 실습 내용을 기존 모션·UI·실제 장면과 통합하는 과정이 이어집니다.

이후 이식·통합할 내용

아래 항목은 기본 구현 이후에 이어 갈 작업 범위입니다.

  1. 01

    전투와 캐릭터 표현

    타격 이벤트의 발생 시점, 무기별 행동·그룹 AI, 모션 전환과 발 접지·IK를 원본 게임 규칙에 맞춰 연결합니다.

    후속 작업
  2. 02

    아이템과 UI 확장

    임시 드랍 외형을 실제 아이템 리소스로 바꾸고, 장비·제작·거래와 UI 애니메이션의 미연결 경로를 이어 갑니다.

    후속 작업
  3. 03

    장면·효과·실행 파일

    기존 장면의 짧은 동선에 기능을 통합한 뒤 조명·이펙트 표현과 비용을 조정합니다. 전체 동선과 Windows 패키지에서의 확인은 후속 단계입니다.

    후속 작업

03 / AI USAGE & ASSETS

AI와 함께 진행하는 이식

이식할 범위와 보존할 자료, 기능별 완료 조건을 정하고 AI와 함께 변환 도구·C++ 코드·검증 도구를 작성했습니다. 원본 리소스와 기존 장면을 보존하고, 새 실행 구간과 파생 에셋을 별도로 구성했습니다.

모델·애니메이션·텍스처는 기존 DCB에서 사용한 리소스를 바탕으로 합니다. 기존 자산의 제작과 이번 엔진 전환 작업을 구분하며, Unity 버전의 구현 사례는 DCB 프로젝트 포트폴리오에서 소개합니다.

FURTHER READING

구현 과정 자세히 보기

각 단계의 C++ 코드와 실행 흐름은 별도의 글로 이어집니다.

전환 과정의 전체 글과 계획