🌏 English
- AssetManagerment는 유니티 에셋들을 손쉽게 관리할 수 있는 툴입니다.
- 에셋의 관계를 쉽게 이해할 수 있습니다.
- 처음 보는 에셋이라도 쉽게 분석할 수 있습니다.
- 에셋이 어디서 쓰이고 있는지 쉽게 알 수 있습니다.
- 쉽고 안전하게 수정 및 교체할 수 있습니다.
- 에셋에 문제가 있는지 파악하여 오류를 줄일 수 있습니다.
- missing이 발생한 지점을 추적하여 쉽게 수정할 수 있습니다.
- 작업 중 문제가 발생했다면 경고 로그로 알려줍니다.
- 프로젝트를 관리하고 최적화할 수 있습니다.
- 필요 없는 에셋을 쉽고 안전하게 제거하여 프로젝트 크기를 줄여줍니다.
- 에셋의 복잡도를 최소화해 빌드 크기를 줄일 수 있습니다.
- Game Package Manger 설치
- 실행 : Unity Menu > Tools > GPM > Manager
- 서비스 설치 : AssetManagerment
- Unity 2018.4.0 이상
- 루트 에셋 설정
- 에셋의 관계와 상태를 보여줄 대상입니다.
- 레퍼런스 트리 뷰
- 대상 에셋을 사용하는 부모 에셋을 알 수 있습니다.
- 선택하면 해당 에셋의 그래프 노드가 선택됩니다.
- 디팬던시 트리 뷰
- 대상 에셋이 사용 중인 자식 에셋을 알 수 있습니다.
- 선택하면 해당 에셋의 그래프 노드가 선택됩니다.
- 에셋 그래프
- 에셋의 관계를 보여주는 그래프 노드를 보여줍니다.
- 에셋의 상태를 볼 수 있고 쉽게 관리할 수 있습니다.
- 언어 설정
- 언어를 변경할 수 있습니다.
- 이슈 리스트 전체 검색
- 원하는 시점에 이슈가 있는 에셋 리스트를 갱신을 할 수 있습니다.
- 첫 진입 시에는 자동으로 검색합니다.
- 에셋 이슈 트리 뷰
- 이슈가 있는 에셋과 해당 위치, 상태를 알 수 있습니다.
- missing이 발생한 에셋을 바꾸기로 즉시 해결도 가능합니다.
- 언어 설정
- 언어를 변경할 수 있습니다.
- 검색 대상 및 옵션 설정
- 찾을 대상을 설정하고 검색 옵션을 제공합니다.
- 계층(hierarchy) 뷰
- 계층(hierarchy)에 있는 열려있는 신(scene)과, 열린 프리팹을 찾습니다.
- 계층(hierarchy) 바꾸기 옵션
- 활성화하면 계층(hierarchy)에 있는 신(scene)과, 프리팹을 바꿀 수 있습니다.
- 프로젝트 뷰
- 프로젝트에 있는 신(scene)과 에셋을 찾습니다.
- 프로젝트 바꾸기 옵션
- 활성화하면 프로젝트에 있는 신(scene)과 에셋을 바꿀 수 있습니다.
- 언어 설정
- 언어를 변경할 수 있습니다.
- 기능 선택 탭
- 불필요한 에셋 제거
- 불필요한 에셋을 검색하고 제거할 수 있습니다.
- 필터 옵션
- 불필요한 에셋을 찾을 때 무엇을 필터링할지 설정할 수 있습니다.
- 불필요한 에셋 제거
- 불필요한 에셋 리스트
- 불필요한 에셋을 검색하고 필터링에 포함 또는 제거 여부를 설정할 수 있습니다.
- 전체 크기
- 불필요한 에셋 리스트에서 체크된 모든 에셋의 크기를 보여줍니다.
- 삭제 및 복구
- 불필요한 에셋 리스트에서 체크된 모든 에셋을 삭제하거나 복구합니다.
- 언어 설정
- 언어를 변경할 수 있습니다.
- 필터 옵션
- 불필요한 에셋을 찾을 때 무엇을 필터링할지 설정할 수 있습니다.
- Filter Built-in
- Resources 하위 폴더, 프로젝트 설정 또는 기본 포함 씬등 빌드할 때 포함되는 리소스를 제외합니다.
- Filter Assetbundles
- Assetbundle로 지정된 리소스들을 제외합니다.
- Filter Path List
- path에 아래 리스트의 문자열이 포함되면 제외합니다.
-
AssetManagement는 지속해서 에셋의 의존성을 관리하고 이슈를 추적합니다. 처음 데이터를 캐싱하는 데 시간이 걸리기 때문에 따로 활성화해야 기능을 사용할 수 있습니다.
-
프로젝트의 에셋을 선택하면 인스팩터의 Show AssetMap 버튼을 클릭해 에셋 관리 창을 열 수 있습니다. 에셋 관리 창에서 AssetManagement가 활성화돼 있지 않다면 활성화 버튼이 나타납니다.
-
Tools/GPM/AssetManagement/Enable 메뉴로 활성화나 비활성화가 가능합니다.
-
원하는 에셋의 관계 상태를 보려면 AssetMap에서 루트 에셋으로 지정해야 합니다. 루트 에셋으로 지정하는 방법은 두 가지입니다.
-
루트 에셋을 대상으로 레퍼런스(참조), 디팬던시(의존성) 트리 뷰와 에셋의 관계도가 나타납니다.
- 레퍼런스(참조)는 머터리얼과 텍스처 중 머터리얼같이 에셋을 사용하고 있는 부모 에셋이며
- 디팬던시(의존성)은 머터리얼과 텍스처 중 텍스처와 같이 사용되는 자식 에셋입니다.
- 에셋 관계도는 마우스 휠 버튼을 클릭해 드래그하거나, 휠을 조작해 확대나 축소할 수 있습니다.
- 트리 뷰의 에셋을 선택하면 그래프 노드가 선택됩니다.
- 각 관계도의 루트 선택 버튼을 클릭하면 루트 에셋을 바꿀 수 있습니다. 루트 에셋마다 관계가 다릅니다.
- 해당 에셋이 문제가 되는 이슈가 있으면 '이슈가 있습니다' 버튼이 나타납니다. 클릭하면 에셋의 이슈를 확인할 수 있습니다.
- 레퍼런스 검색 버튼을 클릭하면 에셋이 어느 지점에서 사용되는지 정확히 알 수 있습니다.
프로젝트에서 문제가 있는 전체 에셋을 알 수 있습니다.
- 트리의 최상위 노드는 문제가 발생한 에셋이며 하위 노드는 발생 지점입니다.
- 하위 노드를 더블클릭하면 문제가 되는 지점을 선택합니다.
- 신(scene) 에셋은 신(scene)이 addtive 형식으로 추가되며 확인 가능합니다.
이슈가 발생한 에셋을 선택해서 수정하는 방법 말고도 툴 내에서 바로 해결할 수도 있습니다.
- 참조 missing이 발생한 경우 Function 텝에 있는 공간에 바꿀 에셋을 넣고 바꾸기를 클릭합니다.
- 컴포넌트 missing일 때는 경고만 표시됩니다. 이 경우에는 선택하여 수정합니다.
- 문제가 해결돼도 다시 검색할 때까지 리스트에 유지됩니다. 제대로 해결되었나 다시 확인 가능합니다.
에셋 찾기 툴을 여는 방법은 다음과 같습니다.
- 에셋 관리 툴의 레퍼런스 검색
- 에셋 맵의 그래프 노드의 레퍼런스 찾기 버튼
- 프로젝트 에셋의 GPM Findreference 메뉴
- 컨텍스트의 GPM Findreference 메뉴
대상(target) 에셋을 지정합니다.
찾은 데이터는 아래와 같이 분류됩니다.
- 계층(hierarchy) 뷰와 프로젝트 뷰를 나눠서 지원합니다.
- 계층(hierarchy) 뷰
- 현재 활성화된 신(scene)과 프리팹을 찾습니다.
- 프로젝트뷰
- 프로젝트에 저장된 신(scene)과 에셋을 찾습니다.
- 계층(hierarchy) 뷰
- 신(scene)과 일반 에셋을 나눠 보여줍니다.
- 신(scene) 에셋은 Additive로 포함하여 보여줍니다.
리스트 내용은 다음과 같습니다.
- 트리의 최상위 아이템은 대상 에셋을 참조 중인 에셋이며 하위 아이템은 참조 지점입니다.
- 하위 노드 더블클릭하면 참조 지점을 확인할 수 있습니다.
- 참조된 에셋을 다른 에셋으로 교체할 수 있습니다. Function에 에셋을 드래그하고 바꾸기 버튼을 클릭합니다.
프로젝트에서 불필요한 에셋을 제거할 수 있습니다.
- 하단에는 체크된 에셋의 전체 파일 크기입니다.
- 전체 체크 버튼을 통해 전체 에셋을 체크할 수 있습니다.
- 여러 에셋을 선택 후 한 번에 체크 여부를 결정할 수 있습니다.
- 필터 버튼을 통해 경로를 검색에 제외하거나, 에셋을 제거, 복구할 수 있습니다.
- 하단의 전체 제거, 전체 복구를 통해 체크된 에셋을 제거, 복구할 수 있습니다.
- 에셋 제거한 에셋은 Trash 하위 폴더에 보관되어 실수로 지워도 복구할 수 있습니다.
- 에셋을 선택 후 마우스 오른쪽 버튼을 통해 관리 메뉴를 열 수 있습니다.
- 에셋 체크, 에셋 체크 해제
- 선택된 에셋들을 체크하거나 해제합니다.
- 필터, 필터 해제
- 선택된 에셋들의 경로를 필터링하여 검색에서 제외하거나 포함합니다.
- 에셋 제거, 에셋 복구
- 선택된 에셋들을 제거하거나, 복구합니다.
- 필터링 설정을 통해 나오는 목록을 선별할 수 있습니다.
- Filter Built-in
- Resources 하위 폴더, 프로젝트 설정 또는 기본 포함 씬등 빌드할 때 포함되는 리소스를 제외합니다.
- Filter Assetbundles
- Assetbundle로 지정된 리소스들을 제외합니다.
- Filter Path List
- path에 아래 리스트의 문자열이 포함되면 제외합니다.
- Filter Built-in
Sample에서 새로운 폰트 파일로 교체하고 기존 폰트를 삭제해 봅니다.
-
Sample 폰트 연결 구성
- 씬
- SampleScene
- Text - arial
- Text2 - arial
- Text3 - Langar-Regular
- Text4 - Langar-Regular
- Text5 - arial
- Text6 - Langar-Regular
- Text7 - arial
- SampleScene
- 프리팹
- SampleUI
- Text - Langar-Regular
- SampleUI2
- Text - arial
- Text2 - Langar-Regular
- Text2 - Langar-Regular
- Text3 - arial
- SampleUI3
- Text - arial
- SampleUI
- 씬
-
목표
- Langar-Regular 폰트 NanumGothic-ExtraBold폰트로 교체
- Langar-Regular 폰트 제거.
에셋맵으로 에셋이 어느 에셋에서 사용하는지 관계를 알 수 있습니다.
에셋이 연결되있는데 지우게 되면 연결돼있던 에셋에 문제가 발생합니다.
에셋맵으로 Langar-Regular가 어느 에셋에서 사용 중인지는 파악했습니다. 그러나 에셋 어디에서 사용되는지는 아직 정확히 알 수 없습니다. 에셋 찾기를 통해 어디에서 사용되는지 정확히 알 수 있습니다.
에셋 찾기는 GPM Find Reference메뉴를 통해도 찾을 수 있습니다. 어디에서 사용되는지 알 수 있으며 교체도 가능합니다. Test3에 연결된 폰트를 바꿔봅니다.
- 에셋 찾기의 아이템을 더블클릭하면 사용하는 지점이 선택됩니다.
- Test3 아이템 하위를 열면 연결된 정보가 보입니다.
- 바꾸기 사용 옵션 체크 후 연결 정보에 NanumGothic-ExtraBold 넣고 바꿀 수 있습니다.
에셋 찾기는 크게 계층(hierarchy) 뷰와 프로젝트 뷰로 분류됩니다. 계층(hierarchy)에 열려있는 신(scene)의 폰트를 전부 바꿔줍시다. 그리고 프로젝트의 SampleUI2 프리팹을 열어서 바꿔봅시다.
계층(hierarchy)에서 수정한 것은 즉시 파일로 저장되지 않습니다. 프로젝트를 확인해보았을 때 바뀌지 않은 것을 확인할 수 있습니다.
프로젝트에 있는 에셋을 직접 교체할 수도 있습니다.
다시 검색하여 연결된 것이 있는지 확인해 봅니다. 전부 교체했기 때문에 레퍼런스가 없는 것을 확인했습니다. 새로운 폰트를 확인해봤을 떄 전부 교체된 것을 확인할 수 있습니다.