UnrealEngine4 공부 ⑤ DefaultPakFileRules.ini 정보

4257 단어 위 4UnrealEngine4
이 기사에서는 「UnrealEngine4의 공부③DLC 기능을 실장한다」 에서 만든 프로젝트를 바탕으로,
DefaultPakfileRules.ini 파일의 사용법에 대해 설명합니다.
UE4의 PrimaryAssetLabel과 pak 분할에 대해 아직 모르는 분은 먼저 기사를 읽으십시오.

소개



이제 위의 기사에서는 PrimaryAssetLabel을 사용하여 프로젝트의 내용을 다음 세 가지로 나누었습니다.
  • pakchunk0.pak
  • pakchunk1.pak
  • pakchunk2.pak

  • 그리고
    apk에 대한
    dlc에는 pakchunk1.pak과 pakchun2.pak
    가 각각 들어있는 상태입니다.


    그건 그렇고, pak 파일의 내용을 확인하고 싶다면,
    Epic Games\UE_4.24\Engine\Binaries\Win64에 있는 UnrealPak.exe를 사용하여
    명령 프롬프트에서 다음과 같이 실행하면 얻을 수 있습니다.
    UnrealPak.exe -list [対象のpakファイルへのパス]
    

    DefaultPakFileRules.ini의 기능



    이름에서 알 수 있듯이 pak 파일 생성시 규칙에 대한 ini 파일로,
    현재 자신이 시도한 것은 다음과 같습니다.
  • ChunkID 설정을 무시할 수 있습니다
  • 빌드시 패키징의 대상에서 제거할 수 있다
  • 프로젝트, 엔진 및 모든 파일에 대해 구성 가능
  • 빌드 플랫폼, 각 구성에 대해 구성 가능

  • 사용법이나 기술의 설명은 엔진내의 아래의 파일에 기재가 있습니다.
    Epic Games\UE_4.24\Engine\Config\BasePakFileRules.ini

    사용법



    먼저 프로젝트의 Config 디렉토리에 DefaultPakFileRules.ini라는 파일을 만듭니다.
    그리고 그 ini 파일 안에 점점 설정을 써 넣습니다.

    1. 특정 파일의 ChunkID 변경

    DefaultPakFileRules.ini
    [OverrideWBP]
    bOverrideChunkManifest=true
    OverridePaks="pakchunk0"
    Platforms="Win64"
    Targets="Development"
    +Files=".../DlcSample/Content/pak1/WBP_LevelPak1.uasset"
    +Files=".../DlcSample/Content/pak2/WBP_LevelPak2.uasset"
    

    위의 설정은 ChunkID = 1과 ChunkID = 2로 각각 설정되었습니다.
    WBP_LevelPak1.uasset 및 WBP_LevelPak2.uasset
    ChunkID=0을 덮어씁니다.

    UnrealPak.exe -list에서 확인하면 두 파일 모두 pakchunk0.pak에 포함되어 있음을 알 수 있습니다.
    (결과를 붙이는 것은 귀찮아서 직접 확인 부탁드립니다)

    예를 들면 이와 같이 변경하면pak1이하를 완전히 ChunkID=0으로 변경해,pakchunk1.pak는 없어집니다.
    +Files=".../DlcSample/Content/pak1/*"
    

    2. 특정 파일을 패키지 대상에서 제외

    DefaultPakFileRules.ini
    [ExcludeWBP]
    bOverrideChunkManifest=true
    bExcludeFromPaks=true
    Platforms="Win64"
    Targets="Development"
    +Files=".../DlcSample/Content/pak1/WBP_LevelPak1.uasset"
    +Files=".../DlcSample/Content/pak2/WBP_LevelPak2.uasset"
    

    위의 설정은 ChunkID = 1과 ChunkID = 2로 각각 설정되었습니다.
    WBP_LevelPak1.uasset 및 WBP_LevelPak2.uasset
    패키지에서 제외합니다.

    UnrealPak.exe -list를 사용하여 내용을 보면 둘 다 pak 파일에 포함되어 있지 않음을 알 수 있습니다.
    (결과를 붙이는 것이 귀찮습니다.

    3. 프로젝트 내, 엔진 내, 모든 파일에 대해 설정 가능
    여기 지금까지의 예로 지정하고 있던 파일의 개소를 Plgins로 변경하면 플러그인을
    +Files=".../DlcSample/Plugins/hogehoge"
    

    엔진으로 변경하면 엔진의 콘텐츠를
    +Files=".../Engine/Content/hogehoge"
    

    각각 설정 변경을 실시할 수 있습니다.



    조금 설명이 없는 빼앗겨 버린 느낌이 있습니다만, DefaultaPakFileRules.ini는 편리한 설정 파일이라고 생각하고 있습니다.
    다음 번 버전 업그레이드에 필요한 콘텐츠를 프로젝트에 넣었지만 아직 게시하지 않으려면,
    android에서 사용했지만 iOS에서는 사용하지 않는 플러그인을 각각 패키지에서 제거하고 싶은 경우,
    등등 프로젝트를 괴롭히지 않고 ini파일로부터 그 설정을 조금 조금 당황합니다.

    좋은 웹페이지 즐겨찾기