티스토리 뷰
Asset은 파일 (uasset 패키지)로 덤프 할 수 있고 해당 파일에서 메모리로 다시로드 할 수있는 UObject이며 주로 게임 리소스를 저장하는 데 사용됩니다.로드 할 때 UBlueprint와 같은 UObject 오브젝트로 메모리에 사용 가능합니다. UTexture2D, USkeletalMesh. USoundWave 등. 컨텐츠 브라우저에 표시되는 모든 유형의 자산에는 해당 클래스가 있으며 "컨텐츠 브라우저"에 표시되는 각 자산은 메모리에 있거나 메모리에로드 될 수있는 UObject입니다.
자산은 일반적으로 UObject이므로 리플렉션 시스템에서 찾을 수 있습니다.
그러나 자산은 파일에도 존재하며 사용되지 않을 때마다 메모리에 항상로드 할 필요가 없기 때문에 (메모리 공간 만 낭비 할 수 있으므로)로드 여부에 관계없이 추적해야하는 객체가 있어야합니다.
그리고 그 역할을 하는것이 AsssetRegistry입니다.
또한 자산을 나열하고 재 저장소 항목 (FAssetData)을 가져 와서로드 할 수 있으며, 이미로드 된 자산을 검색하고 레지스트리 정보를 편집 할 수있는 최적화 된 방법입니다.
그리고 실제로 "컨텐츠 브라우저"는 Asset Registry 탐색기이며 주로 AssetRegistry를 사용하여 자산을 나열하고 편집합니다.
또한 자산 등록에 대한 모든 변경 사항을 실시간으로 추적 할 수있는 이벤트 위임을 제공합니다.
API 살펴보고 어떤 기능을 제공하는지 확인하는 가장 좋은 방법은 다음과 같습니다.
api.unrealengine.com/INT/API/Runtime/AssetRegistry/IAssetRegistry/index.html
레지스트리의 자산은 경로 (컨텐츠 브라우저에서 폴더 구조로 표시됨)에 저장됩니다.
특정 자산을 요청하려면 해당 자산의 경로를 알아야합니다 (자산을 마우스 오른쪽 버튼으로 클릭하고 참조 복사를 클릭하여 가져올 수 있음).
api.unrealengine.com/INT/API/Runtime/AssetRegistry/IAssetRegistry/GetAssetsByClass/index.html
그리고 FAssetData 구조의 배열 형태로 자산 전체의 레지스트리 전체를 가져옵니다.
api.unrealengine.com/INT/API/Runtime/AssetRegistry/FAssetData/index.html
또한 GetAsset ()을 호출하여 자산 UObject 자체를로드하고 가져올 수 있습니다.
LoadObject는 파일에서 UObject를로드하는 기능으로, AssetRegistry 외부에있는 자산을로드하려는 경우 유용합니다.
반면에 FindObject는 이미 메모리에로드 된 자산을 찾습니다.
출처 : https://answers.unrealengine.com/questions/877592/what-is-asset-registry-used-for.html
'게임 개발 > UE4' 카테고리의 다른 글
UnrealPak cmd 명령어 (0) | 2020.07.27 |
---|