유니티의 메타파일(.meta)

유니티의 메타파일(.meta)

에셋(asset)은 유니티의 프로젝트에서 사용할수있는 자산을 의미한다. 에셋은 유니티 외부에서 생성한 파일을 가져올수있으며(3D모델, 오디오, 이미지, 기타 유니티가 지원하는 다른 유형의 파일들) 유니티 내부에서 생성할수있다(재질, 애니메이터 컨트롤러, 오디오 믹서, 렌더 텍스처 기타)

docs.unity3d.com/560/Documentation/Manual/AssetWorkflow.html

 

guid

프로젝트에서 에셋을 생성하거나 불러오기하면(import asset) 유니티는 새로운 파일이 추가된것을 감지한다. 이때 해당 에셋에 특정 ID가 부여되며 이 ID는 내부적으로 위치가 이동하거나 이름이 변경될수있는 어셋들을 참조하는데 사용된다. guid는 각각의 어셋에 대해서 유니티가 생성한 메타파일에 저장되며 이 파일들은 해당 어셋과 같이 존재해야한다.

docs.unity3d.com/560/Documentation/Manual/BehindtheScenes.html

 

기본적으로 유니티 에디터와 윈도우 탐색기의 프로젝트 폴더에서 이 파일들을 표시하지않는다. 

 

윈도우 탐색기의 프로젝트 폴더에서 메타파일을 표시하려면 프로젝트 세팅(project settings)의 editor로 이동한다. version control에서 visible meta files를 선택한다(유니티 최신버전에서는 이 옵션을 기본설정으로 사용한다)

 

에셋에 대응하는 메타파일이 표시되는것을 확인할수있다. 메타 파일은 해당 에셋의 이름의 뒤에 .meta가 추가된다(model.fbx, model.fbx.meta)

 

1)프로젝트 세팅(project settings)의 editor에서 asset serialization이 force text로 설정되어있는지 확인한다.

(이 옵션은 에셋을 직렬화할때 텍스트 형식을 사용한다)

 

2)텍스트 편집기에서 메타파일의 정보를 확인할수있다. 예에서 텍스처의 메타파일을 비쥬얼스튜디오에 드래그, 드롭하였다.

 

3)메타파일에서 텍스처 에셋에 할당된 고유의 ID(guid)를 확인할수있다. guid(Globally Unique Identifier)는 32 자리 16 진수 문자열을 사용하여 프로젝트 내의 에셋을 식별한다.

 

4)메타파일에는 guid뿐만 아니라 해당 에셋의 임포트 세팅에서 설정한 속성 및 값이 포함된다.

 

5)이 텍스처를 재질의 메인 텍스처로 설정한다.

 

6)재질 파일(.mat)을 텍스트 편집기에서 확인한다. 재질의 메인 텍스처에서 해당 에셋의 고유 ID를 참조하고있는것을 확인할수있다.

 

유니티 에디터에서 어셋의 위치를 이동시키거나 이름을 변경하면 유니티는 자동적으로 어셋에 대응하는 메타파일의 위치, 이름을 변경한다. 하지만 만약 윈도우 탐색기와 같이 유니티 외부에서 어셋의 위치를 이동시키거나 이름을 변경하면 유니티는 해당 에셋에 대한 기존의 메타파일을 제거하고 새로운 메타파일을 생성한다. 

 

7)윈도우 탐색기에서 텍스처 파일과 이 에셋에 대응하는 메타파일을 확인할수있다.

 

8)텍스처의 파일 이름을 변경하였다.

 

9)유니티는 이름이 변경된 파일을 새로운 에셋으로 취급하고 이 에셋에 대한 새로운 메타파일을 생성하며 기존의 메타파일을 제거한다.

 

10)이름을 변경한 텍스처 에셋에 대한 새로운 메타파일에서 새로운 guid가 부여된것을 확인할수있다.

 

11)재질에서 여전히 기존의 guid를 참조하고있기때문에 메인 텍스처 참조가 누락된것을 확인할수있다.

이름을 변경하기 이전의 메타파일, guid

 

댓글

Designed by JB FACTORY