버추얼 에셋을 위한 백엔드 그래프

백엔드 그래프를 사용하여 프로젝트에서 버추얼 에셋을 구현하는 방법을 커스터마이징합니다.

버추얼 에셋 시스템은 보통 소스 컨트롤 저장소, 파생 데이터 캐시(Derived Data Cache, DDC) 또는 일부 다른 형태의 원격 스토리지인 backend 에 에셋에 대한 벌크 데이터 페이로드를 저장합니다. 사용자가 버추얼 에셋을 편집해야 하는 경우, 이 시스템은 백엔드에서 벌크 데이터를 가져와 사용자의 컴퓨터에 로드합니다. 하지만, 모든 백엔드 솔루션은 제각기 속도, 스토리지 공간, 안정성 및 실용성이 균형을 이루고 있습니다.

모든 가능한 솔루션을 최대한 활용하기 위해 버추얼 에셋 시스템은 백엔드 그래프 를 사용하여 다른 타입의 스토리지에 대해 각 타입의 백엔드를 이용해 여러 백엔드에서 파일을 찾습니다. 속도가 빠른 백엔드는 자주 사용하는 파일에 대한 임시 캐시를 포함할 수 있는 한편, 속도가 느린 백엔드는 장기적인 영구 스토리지용으로 사용할 수 있습니다. 이 가이드는 가져오기 실행 프로세스 최적화를 위해 프로젝트의 버추얼 에셋 사용을 맞춤화할 수 있도록 사용자 프로젝트의 백엔드 그래프를 환경설정하는 방법에 대한 레퍼런스 역할을 합니다.

개요

백엔드 그래프는 벌크 데이터를 가져올 수 있는 백엔드와 버추얼 에셋 시스템이 먼저 가져올 벌크 데이터를 정할 때 사용하는 우선순위의 순서를 정의하는, *Engine.ini 파일의 파라미터 그룹입니다.

스토리지 목록

각 백엔드 그래프는 주로 CacheStorageHierarchyPersistentStorageHierarchy 라는 두 목록을 중심으로 구축됩니다.

PersistentStorageHierarchy 는 느리지만 더 안정적인 백엔드 목록입니다. 모든 파일은 영구 스토리지 백엔드 내에서 항상 이용할 수 있어야 합니다. 영구 스토리지 백엔드의 전형적인 예는 팀의 모든 파일을 위한 영구적인 중앙 집중식 스토리지 솔루션을 제공하지만, 개별 사용자의 인터넷 연결에 따라 퍼포먼스가 다를 수 있는 Perforce 같은 소스 컨트롤 저장소입니다.

CacheStorageHierarchy는 특히 자주 사용하는 파일을 빠르게 가져오는 데 사용되는, 빠르지만 안정성은 떨어지는 백엔드 목록입니다. 캐시 스토리지의 전형적인 예는 조직의 작업 공간 내에서 공유된 네트워크 드라이브에 위치하는 공유 파생 데이터 캐시(DDC)입니다. 로컬 네트워크에 포함되기 때문에 DDC의 속도가 더 빠릅니다. 그러나, 팀이 매우 분산되어 있거나 원격 팀원이 많은 경우, 이런 로컬 리소스는 그러한 팀원이 사용할 수 없으므로, 시스템이 다른 무언가에 의지하거나 각자가 자체적인 대안을 마련해야 합니다.

우선순위

버추얼 에셋 시스템이 벌크 데이터를 가져오려 할 때, 백엔드에서 먼저 캐시 스토리지 목록을 살펴본 다음, 필요한 파일을 찾지 못하면 영구 스토리지를 살펴봅니다. 시스템이 목록을 살펴볼 때는 나열된 순서로 각 백엔드를 살펴보므로, 빠른 항목부터 느린 항목 순으로 나열해야 합니다.

백엔드 그래프 사용 방법

백엔드 그래프 생성하기

백엔드 그래프를 생성하려면 DefaultEngine.ini 파일을 열고 해당 백엔드 그래프의 이름으로 새 카테고리를 생성합니다. 편의상 Core.ContentVirtualization 근처에 생성해야 합니다.

백엔드 그래프에는 다음과 같은 항목이 필요합니다.

  • CacheStorageHierarchy=(Entry=[캐시 이름])

  • PersistentStorageHierarchy=(Entry=[영구 스토리지 이름])

  • 사용하려는 각 백엔드의 항목. 이름, 타입, 그리고 해당하는 경우 경로를 찾는 데 필요한 정보를 제공합니다.

백엔드 정의하기

백엔드는 이름과 그다음에 오는 백엔드를 찾는 데 필요한 데이터를 포함한 항목으로 정의됩니다. 이는 스토리지 계층구조 목록에서 사용할 별칭을 제공합니다. 각 항목에는 다음과 같은 정보가 포함됩니다.

파라미터

설명

Type

현재 별칭이 사용하는 백엔드의 타입을 설명합니다. 사용할 수 있는 타입은 다음과 같습니다.

  • FileSystem – 로컬 파일 시스템입니다.

  • P4SourceControl – Perforce 소스 컨트롤 시스템입니다.

  • DDCBackend – 프로젝트의 공유 DDC입니다.

DepotRoot

P4SourceControl 타입을 사용하는 경우, 디포의 루트 경로입니다.

Path

FileSystem 타입을 사용하는 경우, 페이로드를 저장하는 루트 폴더입니다.

스토리지 목록에 백엔드 추가하기

스토리지 목록의 각 항목은 Entry=[BackendName] 포맷을 사용하며, 여기서 [BackendName]에는 정의한 백엔드 중 하나가 들어갑니다. 두 개 이상의 항목을 나열하는 경우, 쉼표로 항목을 구분해야 합니다. 예를 들면 다음과 같습니다.

CacheStorageHierarchy=(Entry=DDCCache1, Entry=DDCCache2, Entry=DDCCache3)

PersistentStorageHierarchy=(Entry=SourceControlCache)

시스템이 이 정보를 파싱할 때, 나열된 순서로 각 백엔드를 살펴봅니다. 따라서, 빠를 항목부터 느린 항목 순으로 나열해야 합니다.

예시

다음은 자리표시자 이름이 있는 백엔드 그래프의 예시입니다.

[VABackendGraph_Name]
CacheStorageHierarchy=(Entry=DDCCache)
PersistentStorageHierarchy=(Entry=SourceControlCache)
DDCCache=(Type=DDCBackend)
SourceControlCache=(Type=P4SourceControl, DepotRoot="XXX" )

이 정보는 DefaultEngine.ini 파일에 추가됩니다. 헤더는 백엔드 그래프의 이름이며, 사용할 수 있는 백엔드 그래프를 정의하는 별칭 목록을 포함합니다. 예를 들어, DDCCache 는 공유 DDC를 가리키며, SourceControlCache 는 프로젝트에서 사용되는 소스 컨트롤 시스템을 가리킵니다. 이러한 이름은 임의로 지정할 수 있으며 필요에 따라 변경할 수 있습니다. 이러한 항목을 정의한 다음에는 CacheStorageHierarchyPersistentStorageHierarchy 목록에 넣을 수 있습니다.

프로젝트에서 사용할 백엔드 그래프 선택하기

백엔드 그래프를 생성한 다음에는 버추얼 에셋 시스템을 사용할 때 그중 하나를 사용하도록 프로젝트를 환경설정해야 합니다.

환경설정 파일에서 백엔드 그래프 선택하기

DefaultEngine.ini 파일의 Core.VirtualizationModule 섹션으로 이동합니다. BackendGraph 파라미터는 기본적으로 ContentVirtualizationBackendGraph_None 으로 설정됩니다.

[Core.VirtualizationModule]
BackendGraph=ContentVirtualizationBackendGraph_None

ContentVirtualizationBackendGraph_None을 사용할 백엔드 그래프 이름으로 변경합니다. 변경하면 정의한 그래프를 프로젝트에서 사용합니다.

명령줄에서 백엔드 그래프를 오버라이드하기

명령줄에서 다음 명령을 사용하여 백엔드 그래프를 오버라이드할 수 있습니다.

-VABackendGraph=[GraphName]

[GraphName]은 사용하려는 그래프의 이름을 나타내는 변수입니다. 이 그래프와 관련된 문제를 해결하려면 명령줄에서 그래프를 오버라이드하는 그래프의 이름과 마운트되는 그래프의 이름 등, 환경설정 파일의 그래프 이름이 로그에 표시되어야 합니다.

권장 백엔드 그래프 구성

영구 스토리지 솔루션으로는 프로젝트의 소스 컨트롤을 사용하고, 캐시 스토리지로는 공유 DDC 캐시를 사용하는 것이 좋습니다. 조직의 필요에 따라 더 복잡한 구조를 만들 수도 있지만, 이 권장 방식을 사용하면 향상된 퍼포먼스와 단순성을 가장 조화롭게 얻을 수 있습니다.

언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
취소