에셋 청킹 준비하기

에셋을 청크로 나누고 패키징 파일로 쿠킹하는 방법입니다.

Choose your operating system:

Windows

macOS

Linux

필요한 사전지식

이 페이지의 콘텐츠를 이해하고 활용하기 위해 다음 주제를 숙지해 주세요.

언리얼 엔진(UE) 은 애플리케이션의 메인 실행파일 이외의 에셋을 패키징 파일 형태로 제공할 수 있습니다. 그러려면 에셋을 청크로 정리해야 합니다. 청크란 쿠킹 프로세스를 통해 인식할 수 있는 에셋 파일의 그룹입니다. 이 튜토리얼에서는 언리얼 에디터 에서 에셋을 청크로 정리하는 방법을 설명합니다. 이 과정을 마치면 샘플 프로젝트로 패키징 파일을 만들어 패치 시스템으로 제공할 수 있습니다.

권장 에셋

이 가이드에서는 언리얼 마켓플레이스 에서 무료로 다운로드할 수 있는 ParagonCrunch, Boris, Khaimera 에셋을 사용합니다. 여러 폴더로 안전하게 그룹화할 수 있는 에셋이 있다면 굳이 이 에셋을 사용하지 않아도 됩니다. Paragon 캐릭터 에셋 은 이미 UE에서 이 방식으로 정리해 두었기 때문에 테스트 예시로 사용하기 편합니다.

![](01_ParagonAssets.png)

필수 구성

계속 진행하기 전에 ChunkDownloader 플러그인 구성하기를 살펴보아야 합니다.

레퍼런스 가이드에 설명된 대로 다음 단계를 따라야 합니다.

  1. 기본 템플릿(Blank template) 을 기반으로 하는 C++ 프로젝트 를 생성합니다. 이 프로젝트의 이름을 PatchingDemo 로 설정합니다.

  2. 플러그인(Plugins) 메뉴에서 ChunkDownloader 플러그인을 활성화합니다.

  3. 프로젝트 세팅(Project Settings) > 프로젝트(Project) > 패키징(Packaging) 에서 Pak 파일 사용(Use Pak File)청크 생성(Generate Chunks) 을 활성화합니다.

  4. Visual Studio 에서 프로젝트의 [프로젝트 이름]Build.cs 파일을 편집합니다.

  5. Visual Studio 프로젝트 파일을 생성합니다.

  6. Visual Studio에서 프로젝트를 빌드합니다.

청킹 스키마 정리하기

청킹을 활성화하고 플러그인을 구성했다면 이제 에셋을 정리해서 청크로 패키징할 차례입니다.

청킹 프로세스에 대한 자세한 내용은 쿠킹 및 청킹을 참조하세요.

  1. ParagonBoris 폴더에서 우클릭한 다음, 고급 에셋 생성(Create Advanced Asset) > 기타(Miscellaneous) 로 이동하여 새로운 데이터 에셋(Data Asset) 을 생성합니다.

    ![](02_CreateDataAsset.png)

  2. 프라이머리 에셋 라벨(PrimaryAssetLabel) 을 새 데이터 에셋의 베이스 클래스로 선택합니다.

    ![](03_PrimaryAssetLabel.png)

    C++에서 프라이머리 에셋 라벨의 하위 클래스를 만들면 기타 메타데이터를 추가할 수 있습니다. 블루프린트에서 만드는 프라이머리 에셋 라벨의 하위 클래스는 청킹 프로세스에서 작동하지 않습니다.

  3. 새 프라이머리 에셋 라벨의 이름을 Label_Boris 로 지정합니다.

    ![](04_LabelBorisAsset.png)

  4. Label_Boris 를 열고 아래 프로퍼티를 입력합니다.

    ![](05_LabelBorisSettings.png)

    프로퍼티

    청크 ID(Chunk ID)

    각 폴더의 고유한 값을 입력해야 합니다. 여기서는 Boris에게 1001 을 사용합니다.

    우선순위(Priority)

    0보다 큰 값이어야 합니다. 여기서는 모두 1 로 설정합니다.

    쿠킹 규칙(Cook Rule)

    항상 쿠킹(Always Cook) 으로 설정합니다.

    내 디렉터리 내 라벨 에셋(Label Assets in My Directory)

    활성화 로 설정합니다.

    런타임 라벨 여부(Is Runtime Label)

    활성화 로 설정합니다.

  5. ParagonCrunchParagonKhaimera 에도 1~4단계를 반복합니다. 이 예시에서는 Crunch와 Khaimera의 ChunkID 를 각각 10021003 으로 설정합니다.

  6. 프로젝트의 콘텐츠를 패키징하거나 쿠킹합니다.

최종 결과

모두 올바르게 구성했다면 UE의 패키징이 끝났을 때 빌드 디렉터리의 /Windows/PatchingDemo/Content/Paks 에서 패키징 파일을 확인할 수 있습니다. UE는 지정한 Chunk ID에 따라 각 파일에 이름을 붙입니다. 각 파일에는 캐릭터 세 명의 에셋이 들어 있을 것입니다.

![](06_FinalPakFiles.png)

툴(Tools) > 검사(Audit) > 에셋 검사(Asset Audit) 를 클릭하면 표시되는 에셋 검사 창에서도 청크를 볼 수 있습니다.

![](07_OpenAssetAudit.png)

에셋 검사에 대한 자세한 내용은 쿠킹 및 청킹에서 확인할 수 있습니다.

![](08_PakFileAssetAudit.png)