언리얼 기본 옵션은 1파일로 데이터와 설정 파일이 패킹된다. 프로젝트가 커지면 수십 GB가 되기도 한다. 원활한 패치/배포를 위해 파일을 적당히 분리할 필요가 있다.

UE4는 Chunk 를 이용해 패킹 데이터를 분리할 수 있다. 특정 폴더만 분리하고 싶다면 먼저 특정 폴더에 PrimaryAssetLabel 클래스의 데이터 애셋을 생성한다.

애셋 이름은 다른 PrimaryAssetLabel 애셋과 겹치지 않아야 한다.

Chunk ID 를 겹치지 않게 1 이상의 값으로 설정하고 Label Assets in My Directory를 체크한다. Label Assets in My Directory 를 체크하면 애셋이 위치한 폴더 아래 폴더까지 한 Chunk 로 묶인다. 특정 애셋이나 특정 블루프린트 기준으로 묶을 수도 있다.

그리고 패키지 세팅에서 Packaging > Generate Chunks 를 체크한다.

패키징을 하면 해당 폴더의 데이터가 chunk0 pak 파일로 분리된 것을 확인할 수 있다. 설정하지 않은 나머지 파일은 0 파일로 패킹된다.

현재 프로젝트의 chunk 설정을 확인하고 싶으면 개발자 툴 > 애셋 검토 창을 이용하면 된다.

프라이머리 애셋 타입 추가 버튼을 누르면 목록이 아래에 나타난다.

Chunk 는 쿠킹 전에는 보이지 않는다. Windows 용 콘텐츠 쿠킹을 하거나 실제 패키징을 하면 청크 추가 버튼을 눌러 Chunk 목록을 대략적으로 확인할 수 있다. 

만약 갱신되지 않으면 에디터를 재시작하면 제대로 보이기도 한다. 

엔진 : 4.20.3

참고 : http://api.unrealengine.com/KOR/Engine/Basics/AssetsAndPackages/AssetManagement/CookingAndChunking/index.html

(2020/01/15) 쿠킹 후에 Saved/Cooked/<Platform Name>/<Project Name>/Metadata 에 AllChunkInfo.csv 이 생성됩니다. 설정한 Package Name 이 원하는 ChunkID 로 할당되는지 확인하시면서 설정하시면 됩니다. 애셋 의존성과 우선순위 때문에 원하는 바와 다른 Chunk 로 할당되는 경우가 있습니다.

728x90

+ Recent posts