메인 메뉴에서 편집(Edit) > 프로젝트 세팅(Project Settings) 을 선택하여 프로젝트 세팅 창을 엽니다.
게임(Game) > 에셋 매니저(Asset Manager) 섹션을 선택하고 에셋 레지스트리(Asset Registry) > 에셋 레지스트리용 메타데이터 태그(Metadata Tags For Asset Registry) 세팅을 찾습니다.
에셋을 필터링하기 위해 사용하려는 키 이름을 이 목록에 추가합니다.
'콘텐츠 브라우저'의 필터(Filters) 바에서 검색하려는 값 뒤에 나오는 = 오른쪽에 태그 이름을 입력합니다. 에셋 목록은 지정한 메타데이터 태그를 가지고 있으며 태그의 값이 = 오른쪽에 입력한 값과 일치하는 에셋만 표시하도록 자동으로 필터링됩니다.
메타데이터로 콘텐츠 브라우저 필터링
에셋 메타데이터로 작업하기
에디터 스크립팅 유틸리티(Editor Scripting Utilities) 플러그인을 설치하지 않은 경우 이를 설치해야 합니다. 자세한 내용은 에디터 스크립팅 및 자동화 페이지를 참고하세요.
구현 방법 선택
블루프린트
Python
에디터 스크립팅(Editor Scripting) > 메타데이터(Metadata) 카테고리에서 에셋 메타데이터를 관리하는 데 필요한 노드를 찾을 수 있습니다.
이 노드를 사용하려면 블루프린트 클래스가 PlacedEditorUtilityBase 클래스와 같이 에디터 전용 클래스에서 파생되어야 합니다. 자세한 내용은 블루프린트를 사용한 스크립팅 및 에디터 페이지를 참고하세요.
에셋의 메타데이터로 작업하려면 해당 에셋을 업로드해야 합니다. 에디터 스크립팅 > Load Asset 노드를 사용하여 업로드할 수 있습니다. 메타데이터 값을 설정하거나 제거하려는 경우에는 변경 사항을 저장하기 위해 Save Asset 또는 Save Loaded Asset 같은 노드를 사용해야 합니다.
에셋에서 메타데이터 가져오기
얻으려는 메타데이터 키의 이름을 알고 있으면 Get Metadata Tag 노드를 사용할 수 있습니다. 예를 들어 이 스크립트는 이름으로 단일 태그의 값을 얻고 이를 '뷰포트(Viewport)'에 출력합니다.
unreal.EditorAssetLibrary 클래스에서 메타데이터를 관리하는 데 필요한 함수를 찾을 수 있습니다.
에셋의 메타데이터로 작업하려면 해당 에셋을 업로드해야 합니다. unreal.EditorAssetLibrary.load_asset() 함수를 사용하여 프로젝트 콘텐츠에서 파일 이름으로 에셋을 로드할 수 있습니다. 메타데이터 값을 설정하거나 제거하려는 경우에는 변경 사항을 저장하기 위해 unreal.EditorAssetLibrary.save_asset() 또는 unreal.EditorAssetLibrary.save_loaded_asset() 등의 함수를 사용해야 합니다.
에셋에서 메타데이터 가져오기
얻으려는 메타데이터 키의 이름을 알고 있으면 get_metadata_tag(asset, tag_name) 함수를 사용할 수 있습니다. 예를 들어 이 스크립트는 이름으로 단일 태그의 값을 얻고 이를 로그에 출력합니다.
import unreal
asset_name = "/Game/ProductViewer/SampleMesh/Gears/Transmission_part_10"
tag_name = "CreatedBy"
loaded_asset = unreal.EditorAssetLibrary.load_asset(asset_name)
value = unreal.EditorAssetLibrary.get_metadata_tag(loaded_asset, tag_name)
if not value is "":
unreal.log("Value of tag " + tag_name + " for asset " + asset_name + ": " + value)
또는 get_metadata_tag_values(asset) 함수를 사용하여 에셋에 할당된 모든 메타데이터를 딕셔너리로 얻을 수 있습니다. 그런 다음 키와 값을 통해 루프할 수 있습니다. 예를 들어 이 스크립트는 에셋에 대한 모든 메타데이터를 얻은 다음 로그에 각 키와 각 값을 순서에 따라 작성합니다. 이 딕셔너리에 있는 키는 스트링이 아니라 unreal.Name 오브젝트입니다. 내장 함수 str()을 사용하면 이 오브젝트를 스트링으로 변환할 수 있습니다.
import unreal
asset_name = "/Game/ProductViewer/SampleMesh/Gears/Transmission_part_10"
loaded_asset = unreal.EditorAssetLibrary.load_asset(asset_name)
all_metadata = unreal.EditorAssetLibrary.get_metadata_tag_values(loaded_asset)
for tag_name, value in all_metadata.iteritems():
if not value is "":
unreal.log("Value of tag " + str(tag_name) + " for asset " + asset_name + ": " + value)
새 메타데이터 태그 설정하기
set_metadata_tag(asset, tag_name, value) 함수를 사용합니다. 예를 들면 다음과 같습니다.