[UE4] 캐시(DDC) 공유 방법 및 주의 사항 정보

언리얼 엔진은 셰이더와 자산을 적절하게 처리하기 위해 캐시 파일(DDC)을 생성하지만,
프로젝트가 많아지면 캐시 생성에 시간이 필요하게 됩니다.
이번에는, 캐쉬를 효율적으로 취급하기 위해서 기능으로서 존재하는 캐쉬의 공유 기능(SharedDDC)에 대해서,
사용 방법이나 트러블 포인트, 사용했을 경우의 이점에 대해서 상세하게 소개해 갑니다.

설정 방법



기본 설정 방법에 대해서는 편집 > 편집기 환경설정... > 전역 > Deroved Data에 존재한다
Local Derived Data Cache 및 Shared Derived Data Cache입니다.
각각은 로컬용의 캐시 보존 패스와 공유용의 캐쉬 보존 패스의 설정이 됩니다.


이것을 설정하면 먼저 로컬에 캐시가 없는지 확인한 다음 서버에 캐시가 없는지 확인하고,
그래도 데이터가 없으면 캐시를 만들 수 있습니다.

주의점



DDC에 관해서는 상기의 설정 외에 복수의 설정 방법이 있으므로, 어느 폴더의 패스가 실제로 사용되고 있는지 주의가 필요합니다.
복수의 설정 방법은 각각 독립해 버리고 있으므로, 어느 폴더가 프로젝트로 사용되고 있는지 로그로부터 확인하면 트러블을 회피할 수 있을까 생각합니다.

실제로 사용되는 폴더의 경로는 편집기 시작시 출력 로그에서 확인할 수 있습니다.
확인은 창 > 개발자 도구 > 출력 로그를 열고 필터에 ddc를 입력하면 알기 쉽다고 생각합니다.


편집기에서 설정하는 것 외에도 INI 파일에서 설정하는 방법이 있습니다.
이곳은 UE4의 Engine 이하의 Engine/Config/BaseEngine.ini나,
Project/Config/DefaultEngine.ini 아래에 포함된 [InstalledDerivedDataBackendGraph]가 설정 항목입니다.
설정 항목에서 Local의 Path에서 자신의 로컬 경로를 설정하고 Shared가 공유 서버의 주소를 설정합니다.
(주소는 Windows에서 일반 탐색기에서 다루는 폴더 경로에 문제가 없습니다)

BaseEngine.ini
[InstalledDerivedDataBackendGraph]
MinimumDaysToKeepFile=7
Root=(Type=KeyLength, Length=120, Inner=AsyncPut)
AsyncPut=(Type=AsyncPut, Inner=Hierarchy)
Hierarchy=(Type=Hierarchical, Inner=Boot, Inner=Pak, Inner=EnginePak, Inner=Local, Inner=Shared)
Boot=(Type=Boot, Filename=%GAMEDIR%DerivedDataCache/Boot.ddc, MaxCacheSize=256)
Local=(Type=FileSystem, ReadOnly=false, Clean=false, Flush=false, PurgeTransient=true, DeleteUnused=true, UnusedFileAge=17, FoldersToClean=-1, Path=../../../Engine/DerivedDataCache)
Shared=(Type=FileSystem, ReadOnly=false, Clean=false, Flush=false, DeleteUnused=true, UnusedFileAge=19, FoldersToClean=-1, Path=\\mystudio.net\DDC, EnvPathOverride=UE-SharedDataCachePath)
AltShared=(Type=FileSystem, ReadOnly=true, Clean=false, Flush=false, DeleteUnused=true, UnusedFileAge=19, FoldersToClean=-1, Path=\\mystudio.net\DDC2, EnvPathOverride=UE-SharedDataCachePath2)
Pak=(Type=ReadPak, Filename=%GAMEDIR%DerivedDataCache/DDC.ddp)
EnginePak=(Type=ReadPak, Filename=../../../Engine/DerivedDataCache/DDC.ddp)

또한 Windows 환경 변수 설정에 UE-SharedDataCachePath라는 변수를 설정하여
그곳에서 캐시를 읽으러 가게 할 수도 있습니다.
프로젝트 단위가 아닌 팀 전체에서 동일한 공유 서버를 사용하고 싶다면 여기를 이용하면 편리합니다.


기타 설정에 관한 공식 문서는 이쪽입니다.

파생 데이터 캐시 | 언리얼 엔진 문서
htps : // / cs. 그래, 응. 코 m/쟈/엔기네/바시 cs/데리ゔぇ다타카치ぇ/그리고 x. HTML

결론



프로젝트 데이터가 커지면 캐시 생성 시간은 비례하여 커집니다. 그 때문에 프로젝트 후반에 머신을 바꾸거나, 새롭게 사람이 들어갔을 때에 최초 기동으로 레벨을 여는데 몇 충분, 몇 시간과 시간을 취할 수 있다고 하는 경우도 있을까 생각합니다. 공유 DDC를 활용함으로써 그 시간을 단축할 수 있을까 생각하므로 꼭 활용해 주세요.

좋은 웹페이지 즐겨찾기