KoreanFoodie's Study

언리얼 애셋 레지스트리(Asset Registry) 본문

Game Dev/Unreal C++ : Study

언리얼 애셋 레지스트리(Asset Registry)

GoldGiver 2022. 4. 4. 15:28

애셋 레지스트리

애셋 레지스트리란 에디터가 로드될 때 로딩되지 않은 애셋들에 대한 정보를 비동기적으로 수집하는 서브시스템이다. 파일이 추가되거나 삭제되는 것을 자동으로 추적하는데, 콘텐츠 브라우저가 애셋 레지스트리의 주 고객이라고 보면 된다.

 

 

Obtaining a List of Assets 

코드상으로 애셋 레지스트리를 통해 원하는 타입의 애셋을 불러올 수 있다.

FAssetRegistryModule& AssetRegistryModule = FModuleManager::LoadModuleChecked<FAssetRegistryModule>("AssetRegistry");
TArray<FAssetData> AssetData;
const UClass* Class = UStaticMesh::StaticClass();
AssetRegistryModule.Get().GetAssetsByClass(Class->GetFName(), AssetData);

위의 코드는 FAssetData 배열인 AssetData 에 애셋 정보를 로드한 예시이다. FAssetData 는 GetAsset( ) 메소드를 통해 UObject* 타입으로 변환할 수 있다.

 

애셋 레지스트리를 통한 로딩 시, 추가적으로 패키지 이름/경로, 컬렉션, 클래스, 태그 등의 요소들을 필터링할 수 있는데, 자세한 내용은 언리얼 문서를 참고하도록 하자.

 

 

Comments