본문으로 건너뛰기

Transfer Assistant

모든 플랫폼

이 Unity 도구는 .unitypackage 내보내기 기능을 사용하여 불필요하다고 판단되는 에셋을 제거하면서 한 프로젝트에서 다른 프로젝트로 에셋을 전송할 때 도움을 줍니다.

general_ko.png

이 도구는 일부 에셋 참조를 의도적으로 무시하여 실제로 필요한 에셋만 유지합니다.

  • 프리팹에서 참조하는 모든 에셋을 내보내는 대신, 메인 아바타에 존재하는 에셋만 내보냅니다. 프리팹이 메인 아바타가 사용하지 않는 에셋을 사용하는 경우 해당 에셋은 포함되지 않습니다. 이는 기본 동작이지만 변경할 수 있습니다.
  • 타입이나 컴포넌트별로 에셋을 무시하도록 선택할 수 있으며, 해당 에셋들이 참조하는 다른 에셋들도 함께 무시됩니다. 예:
    • 머티리얼을 무시하면 해당 머티리얼에서 사용하는 텍스처도 무시됩니다.
    • Modular Avatar Menu Item 과 같은 컴포넌트를 무시하면 해당 컴포넌트에서 참조하는 아이콘 텍스처도 무시됩니다.
  • EditorOnly로 표시된 오브젝트가 참조하는 에셋을 무시하도록 선택할 수 있습니다.

내보내기에 예기치 않은 에셋이 포함된 경우, Transfer Assistant 사용자 인터페이스를 통해 어떤 오브젝트나 컴포넌트가 해당 에셋에 의존하고 있는지 확인할 수 있습니다.

dependency_ko.png

Transfer Assistant 는 씬이나 프리팹의 내용을 절대 수정하지 않습니다.

이 도구의 주된 용도는 서로 다른 게임 간에 아바타 프로젝트 파일을 내보내는 것입니다. (예: Unity 2022 BIRP 프로젝트에서 독립형 Unity 6.4 URP 프로젝트로) 이러한 프로젝트에서는 에셋이 여러 폴더에 흩어져 있으며, 그 안에는 애니메이터 컨트롤러나 애니메이션 파일과 같이 대상 프로젝트에서 필요하지 않아 제외하고 싶은 에셋들이 포함되어 있을 수 있습니다.

이 도구가 적합하지 않은 경우

제품 제작자인 경우, 이 도구는 출시 및 배포를 위한 .unitypackage 파일을 내보내기 위해 설계된 것이 아닙니다. 이러한 에셋은 일반적으로 폴더 구조에서 더 엄격한 관리가 필요하기 때문입니다. 이 도구의 일부 기능은 내부 조사 목적으로 사용될 수 있지만, 제품 출시 관리용으로 사용하는 것은 권장되지 않습니다.

다운로드

이 도구는 Booth.pm에서 다운로드할 수 있습니다:

ALCOM을 통해서도 설치할 수 있습니다:

  • 이 링크를 사용하여 **ALCOM에 저장소 목록 설치**를 하세요.
  • ALCOM을 사용하여 프로젝트에 Haï ~ Transfer Assistant 를 추가하세요.
Your support makes this free tool possible
Thanks to my Patreon supporters for making tool creation sustainable ⭐

If you find success in using my free tools, visit my Patreon to support the creation of these tools.
You'll also get additional tools as Patreon rewards.

사용 방법

도구 사용의 기본 단계는 다음과 같습니다:

분석할 에셋 선택하기

시작하려면 다음 중 하나를 선택하세요:

프리팹 분석

Project 탭에서 프리팹을 우클릭하고 Transfer Assistant... 를 선택합니다.

또는 Window > Haï~ > Transfer Assistant 로 이동하여 프리팹을 선택한 다음 분석 실행 버튼을 클릭합니다.

정보

아바타 작업을 하는 경우, Project 뷰에서 아바타가 포함된 프리팹을 선택해야 합니다.

project_menu.png

씬 분석

씬 내에 포함된 오브젝트를 분석하려면 다음을 수행해야 합니다:

window_menu.png

scenes_ko.png

추가 상세 정보

오른쪽 상단의 드롭다운을 통해 다양한 오브젝트 선택 모드 간에 전환할 수 있습니다.

  • 단일 대상: 하나의 루트 오브젝트만 분석합니다.
  • 여러 대상: 여러 개의 루트 오브젝트를 분석합니다.
  • 현재 씬: 열려 있는 씬의 모든 루트 오브젝트를 분석하며, 씬 자체도 내보내기에 추가됩니다.
    • 여기에는 씬의 렌더 설정은 포함되지 않습니다. 스카이박스, 라이팅 데이터 및 기타 씬 참조는 내보내기에 포함되지 않습니다.
    • 여러 씬이 열려 있는 경우 모두 분석됩니다.

대상을 변경하거나 에셋을 수정한 경우 분석 실행 버튼을 클릭하여 내용을 새로 고침하세요.

창 언어 변경하기

창 하단에 영어로 "Language" 라고 적힌 드롭다운을 사용하여 언어를 변경할 수 있습니다.

노트

원하는 언어를 사용할 수 없지만 기술적인 지식이 있는 경우 다음과 같이 할 수 있습니다:

  • LLM(대규모 언어 모델)에게 Packages/dev.hai-vr.transfer-assistant/Scripts/Editor/Locale/en.json 파일을 새로운 .json 파일로 번역하도록 요청합니다.
  • Unity 에디터 창에서 CTRL-R 을 누릅니다.
  • 언어 선택 드롭다운 오른쪽에 있는 새로 고침 버튼을 누릅니다.

language.png

유지하고 싶은 에셋 참조 좁히기

왼쪽 사이드바의 체크박스를 눌러 내보낼 에셋에 영향을 줍니다.

이 체크박스들은 연쇄 효과(cascading effect) 를 가집니다. 예를 들어, Materials 체크를 해제하면 내보낼 Textures에도 영향을 미칩니다.

정보

Transfer Assistant 는 프리팹이나 씬을 절대 수정하지 않으므로, 어떤 버튼이든 안심하고 클릭해도 됩니다.

checkboxes_ko.png

EditorOnly 포함

  • 체크하면 모든 오브젝트가 포함됩니다. 기본 옵션입니다.
  • 체크를 해제하면 EditorOnly 오브젝트 및 그 자식 오브젝트 내부에서 참조되는 에셋은 포함되지 않습니다.
    • 하지만 임포트 시 오류를 방지하기 위해 프리팹 인스턴스가 EditorOnly이더라도 프리팹 소스는 항상 포함됩니다.

내보내는 동안에도 프리팹에서 EditorOnly로 표시된 GameObject나 컴포넌트를 제거하지는 않으며, 포함된 참조만 무시합니다.

체크 여부는 워크플로우에 따라 결정하세요.

프리팹 내 숨겨진 항목 포함

이 옵션은 프리팹 인스턴스를 오버라이딩할 때 소스 프리팹 내부의 에셋이 숨겨지는 경우를 처리합니다.

  • 체크하면 대상 오브젝트가 계층 구조에서 오버라이드하여 사용하지 않더라도 소스 프리팹 내에서 참조되는 에셋이 포함됩니다.
  • 체크를 해제하면 소스 프리팹 내에서 참조되는 에셋은 포함되지 않으며, 대상 오브젝트가 실제로 사용 중인 에셋만 포함됩니다. 기본 옵션입니다.
    • 아바타 프로젝트에서는 대개 아바타에서 실제로 사용 중인 것에만 관심이 있으므로 이 옵션이 권장됩니다.

simplehidden.png

기본적으로 프리팹 내 숨겨진 항목 포함 은 체크 해제되어 있습니다. 체크를 해제해 두면 내보내는 에셋의 수가 급격히 줄어들 수 있습니다.

이 예시에서는 머티리얼을 NonToon으로 변환하여 아바타를 수정했습니다.

  • 프리팹 소스는 아바타가 해당 머티리얼을 실제로 사용하지 않음에도 불구하고 변환 전의 이전 머티리얼을 여전히 참조하고 있습니다.
  • 프리팹 내 숨겨진 항목 포함 를 체크 해제하면 해당 이전 머티리얼들은 내보내기에 포함되지 않고 NonToon 머티리얼만 포함됩니다.

솎아내기

  • 에셋 타입을 체크하면 해당 에셋 타입이 포함되며, 해당 에셋 타입이 참조하는 다른 에셋들도 포함됩니다.
  • 에셋 타입 체크를 해제하면 해당 에셋 타입이 포함되지 않으며, 해당 에셋 타입이 참조하는 에셋들도 포함되지 않습니다.

culling.png

Animator Controller 체크를 해제하면 내보내기에서 Animator Controller 가 제거될 뿐만 아니라, 해당 Animator Controller 가 사용하는 Blend Tree 에셋과 Animation Clip 에셋도 내보내기에서 제거됩니다.

컴포넌트

  • 컴포넌트를 체크하면 해당 컴포넌트가 참조하는 모든 에셋이 포함되며, 해당 에셋이 참조하는 다른 모든 에셋들도 포함됩니다.
  • 컴포넌트 체크를 해제하면 해당 컴포넌트가 참조하는 에셋이 포함되지 않으며, 해당 에셋이 참조하는 다른 에셋들도 포함되지 않습니다.

내보내는 동안에도 프리팹에서 컴포넌트를 제거하지는 않습니다.

어떤 에셋이 다른 에셋을 필요로 하는지 살펴보기

Transfer Assistant 의 메인 패널에는 오브젝트의 의존성 트리(dependency tree)가 포함되어 있습니다. 이 트리는 루트가 자식에 의존하는 형식으로 표시됩니다. (= 자식은 오브젝트가 의존하는 대상입니다)

머티리얼이나 텍스처와 같은 많은 오브젝트는 여러 번 사용되므로 여러 부모를 가질 수 있습니다. 이 경우 트리에서 동일한 오브젝트를 여러 번 볼 수 있습니다.

간결함을 위해 각 오브젝트는 자식을 한 번만 표시합니다. 다른 위치에 나타날 때는 텍스트 오른쪽에 "(이미 표시됨)" 이 추가됩니다.

오브젝트를 클릭하여 해당 오브젝트의 위치를 강조 표시할 수 있습니다.

다음 기능을 사용하여 탐색하고 일부 오브젝트가 왜 필요한지 파악하세요:

  • 특정 오브젝트의 돋보기 아이콘을 눌러 해당 오브젝트에 포커스합니다.
    이를 통해 해당 오브젝트가 어떤 에셋에 의존하고 있으며, 어떤 에셋이 해당 오브젝트에 의존하는지 파악할 수 있습니다.
  • 사이드바의 돋보기 아이콘을 눌러 해당 에셋 타입에 포커스합니다.
    이를 통해 해당 에셋 타입을 필요로 하는 모든 의존성을 시각화할 수 있습니다.
  • 검색 필드에 텍스트를 입력하여 특정 에셋 이름을 검색합니다.

돋보기 아이콘을 다시 클릭하면 검색이 초기화됩니다.

search_ko.png

노트

색상 코드는 다음과 같습니다:

  • 회색으로 표시된 대부분의 오브젝트는 에셋이 아닙니다. 예를 들어, 프리팹이 아닌 컴포넌트나 GameObject일 수 있습니다. 컴포넌트는 회색빛이 도는 노란색으로 표시됩니다.
  • 파란색 오브젝트는 프로젝트에 파일로 존재하는 프리팹 에셋인 프리팹 소스 또는 프리팹 모델 입니다.
  • 초록색 오브젝트는 씬 오브젝트인 프리팹 인스턴스 입니다. 씬 내부 또는 다른 프리팹 내부에 존재할 수 있습니다.

프리팹 인스턴스 는 종종 의존하는 프리팹 소스 와 이름이 같아서 혼동될 수 있습니다. 그래서 색상으로 구분됩니다.

어떤 에셋 파일이 내보내질지 미리 보기 위해 내보내기 준비하기

사이드바에서 내보내기 준비... 버튼을 누릅니다. 그러면 Export .unitypackage 창과 유사한 새 창이 열립니다.

거기서 어떤 파일들이 내보내질지 검토하고 선택 사항을 세부적으로 조정할 수 있습니다.

해당 창의 사이드바에는 각 에셋 타입별 버튼이 있습니다. 이 버튼들은 연쇄 효과를 가지지 않습니다.

  • 선택: 해당 타입의 에셋을 선택하여 내보내기에 포함합니다.
  • 선택 해제: 해당 타입의 에셋 선택을 해제하여 내보내기에서 제외합니다.
  • 선택 해제 및 숨기기: 해당 타입의 에셋 선택을 해제하고 내보내기 창에서 제거합니다.
    • 참고: 선택 해제 및 숨기기를 눌러도 해당 에셋들이 참조하는 에셋들의 선택이 해제되지는 않으므로, Transfer Assistant 창의 솎아내기 옵션과는 다릅니다.

export_ko.png

warning

Transfer Assistant 창에서 변경한 내용은 Prepare Export 창에 반영되지 않습니다:

의존성을 좁히거나 넓히기로 결정했다면 내보내기 준비... 버튼을 다시 눌러야 합니다.

왜 예기치 않은 에셋 파일이 필요한지 알아내기

Prepare Export 창에서 가끔 왜 내보내지는지 알 수 없는 파일들을 볼 수 있습니다.

그런 경우 Prepare Export 창 오른쪽에 있는 돋보기 아이콘을 누르세요. 그러면 Transfer Assistant 창 내에서 해당 에셋을 검색합니다.

이 정보를 사용하여 계층 구조의 어떤 오브젝트가 해당 에셋을 필요로 하는지 파악할 수 있습니다.

파일을 실제로 내보낼 생각이 없더라도 내보내기 준비... 버튼을 누를 수 있습니다.

Prepare Export 창은 의존성을 파일 및 폴더로 표시하므로 예기치 않은 에셋을 찾는 데 유용한 정보가 됩니다.

exportexplain.png

선택한 에셋 내보내기

Prepare Export 창 하단 근처에 있는 파일로 내보내기... 버튼을 눌러 선택한 에셋을 원하는 파일로 내보냅니다.

또는 빠른 내보내기 버튼을 눌러 export.unitypackage 파일로 내보내거나 덮어씁니다.